แสดงเราบน GitHub! เข้าร่วมกับเราใน Discord
Chidori เป็นออร์เคสเตอร์โอเพนซอร์ซรันไทม์และ IDE สำหรับการสร้างซอฟต์แวร์ใน symbiosis ด้วยเครื่องมือ AI ที่ทันสมัย โดยเฉพาะอย่างยิ่งมีการตอบสนองต่อการสร้างตัวแทน AI โดยให้วิธีการแก้ไขปัญหาต่อไปนี้:
เมื่อใช้ chidori คุณเขียนโค้ดที่มี Python หรือ JavaScript เรามีเลเยอร์สำหรับการเชื่อมต่อกับความซับซ้อนของโมเดล AI ในเวิร์กโฟลว์ระยะยาว เราได้หลีกเลี่ยงความจำเป็นในการประกาศภาษาใหม่หรือ SDK เพื่อให้ความสามารถเหล่านี้เพื่อให้คุณสามารถใช้ประโยชน์จากรูปแบบซอฟต์แวร์ที่คุณคุ้นเคยอยู่แล้ว
คุณสมบัติ:
Chidori มีให้บริการบน Crates.io และสามารถติดตั้งได้โดยใช้สินค้า จุดเริ่มต้นที่คาดหวังของเราสำหรับการพัฒนาต้นแบบคือ chidori-debugger ซึ่งปิดรันไทม์ของเราในอินเทอร์เฟซภาพที่มีประโยชน์
# Install the rust toolchain and the nightly channel
curl --proto ' =https ' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup toolchain install nightly
# Required for building dependencies
xcode-select --install
# These dependencies are necessary for a successful build
brew install cmake
# We are investigating if this is necessary or can be removed
brew install [email protected]
# Chidori uses uv for handling python dependencies
brew install uv
# We depend on features only supported by nightly at the moment
cargo +nightly install chidori-debugger --lockedหากคุณต้องการใช้ล่าม Python ที่แตกต่างกันคุณสามารถตั้งค่า pyo3_python = python3.12 (หรือรุ่นใดก็ตาม> 3.7) ในระหว่างการติดตั้งเพื่อเปลี่ยนซึ่งเชื่อมโยงกับ
การโต้ตอบของ Chidori กับ LLMS เป็นค่าเริ่มต้นที่ http: // localhost: 4000 เพื่อเชื่อมต่อกับพร็อกซีของ Litellm หากคุณต้องการใช้ประโยชน์จาก GPT-3.5-turbo ไฟล์กำหนดค่าที่รวมอยู่จะรองรับสิ่งนั้น คุณจะต้องติดตั้ง pip install litellm[proxy] เพื่อเรียกใช้ด้านล่าง:
export OPENAI_API_KEY=...
uv pip install " litellm[proxy] "
uv run litellm --config ./litellm_config.yamlตัวอย่างต่อไปนี้แสดงวิธีการสร้างเอเจนต์ง่ายๆที่ดึงเรื่องราวยอดนิยมจาก Hacker News และโทรไปที่ OpenAI API เพื่อกรองการเปิดตัวที่เกี่ยวข้องกับ AI แล้วจัดรูปแบบข้อมูลนั้นลงใน Markdown
ตัวแทน Chidori อาจเป็นไฟล์เดียวหรือชุดของไฟล์ที่มีโครงสร้างเป็นโครงการ typeical หรือ Python ทั่วไป ตัวอย่างต่อไปนี้เป็นเอเจนต์ไฟล์เดียว พิจารณาสิ่งนี้คล้ายกับบางอย่างเช่นสมุดบันทึก Jupyter/Ipython ที่แสดงเป็นไฟล์ Markdown
`` `javascript (load_hacker_news)
const axios = ต้องการ ('https://deno.land/x/axiod/mod.ts');
const hn_url_top_stories = "https://hacker-news.firebaseio.com/v0/topstories.json";
ฟังก์ชั่น fetchstory (id) {
return axios.get (`https://hacker-news.firebaseio.com/v0/item/$ {id} .json? print = pretty`)
. แล้ว (response => response.data);
-
ฟังก์ชัน async fetchhn () {
เรื่องราว const = รอ axios.get (hn_url_top_stories);
const StoryIds = Stories.data;
// เฉพาะ 30 คนแรก
const tasks = storyids.slice (0, 30) .map (id => fetchstory (id));
Return Promise.All (งาน)
. แล้ว (เรื่อง => {
return stories.map (Story => {
const {title, url, คะแนน} = เรื่องราว;
return {title, url, คะแนน};
-
-
-
-
พรอมต์ "intect_the_group"
`` `พรอมต์ (ตีความ _the_group)
ขึ้นอยู่กับรายการเธรด HackerNews ต่อไปนี้
กรองรายการนี้เพื่อเปิดตัวเท่านั้น
โครงการ AI ใหม่: {{fetched_articles}}
-
พรอมต์ "format_and_rank"
`` `พรอมต์ (format_and_rank)
จัดรูปแบบรายการโครงการ AI ใหม่นี้ใน Markdown จัดอันดับมากที่สุด
โครงการที่น่าสนใจจากที่น่าสนใจที่สุดจนถึงน้อยที่สุด
{{infort_the_group}}
-
การใช้เซลล์ Python เป็นจุดเริ่มต้นของเราแสดงให้เห็นถึงการดำเนินการระหว่างภาษา:
`` `Python
บทความ = รอ Fetchhn ()
format_and_rank (บทความ = บทความ)
-
ที่แกนกลางของมัน Chidori นำรันไทม์ปฏิกิริยาที่จัดทำปฏิกิริยาระหว่างตัวแทนที่แตกต่างกันและส่วนประกอบของพวกเขา Chidori ยอมรับรหัส Python หรือ JavaScript โดยพลการเข้ามามากกว่าการเป็นนายหน้าและการดำเนินการเพื่อให้การขัดจังหวะและปฏิกิริยาตอบสนอง สิ่งนี้ช่วยให้คุณได้รับประโยชน์จากพฤติกรรมรันไทม์เหล่านี้ในขณะที่ใช้ประโยชน์จากรูปแบบที่คุณคุ้นเคยอยู่แล้ว
Chidori รับรองการตรวจสอบที่ครอบคลุมและการสังเกตของตัวแทนของคุณ เราบันทึกอินพุตและเอาต์พุตทั้งหมดที่ปล่อยออกมาโดยฟังก์ชั่นตลอดการดำเนินการตัวแทนของคุณทำให้เราสามารถอธิบายได้อย่างแม่นยำว่าอะไรนำไปสู่สิ่งที่เพิ่มประสบการณ์การดีบักและความเข้าใจเกี่ยวกับพฤติกรรมการผลิตของระบบ
ด้วย Chidori คุณสามารถใช้สแน็ปช็อตของระบบของคุณและสำรวจผลลัพธ์ที่เป็นไปได้ที่แตกต่างจากจุดนั้น (การแตกแขนง) หรือย้อนกลับระบบสู่สถานะก่อนหน้า (การเดินทางข้ามเวลา) ฟังก์ชั่นนี้ช่วยปรับปรุงการจัดการข้อผิดพลาดการดีบักและความทนทานของระบบโดยนำเสนอเส้นทางอื่นทางเลือกและการทำ
Chidori มาพร้อมกับการสนับสนุนชั้นหนึ่งสำหรับการตีความรหัสสำหรับทั้ง Python และ JavaScript คุณสามารถเรียกใช้งานรหัสโดยตรงภายในระบบของคุณให้การเริ่มต้นอย่างรวดเร็วการใช้งานง่ายและการดำเนินการที่ปลอดภัย เรากำลังดำเนินการป้องกันเพิ่มเติมอย่างต่อเนื่องกับการใช้งานรหัสที่ไม่น่าเชื่อถือโดยมีการสนับสนุนสภาพแวดล้อมแบบคอนเทนเนอร์ในไม่ช้า
ด้วยกราฟการดำเนินการของเราการเก็บรักษาสถานะและเครื่องมือสำหรับการดีบัก - Chidori เป็นสภาพแวดล้อมที่ยอดเยี่ยมสำหรับการสร้างรหัสในระหว่างการประเมินตัวแทนของคุณ คุณสามารถใช้สิ่งนี้เพื่อใช้ประโยชน์จาก LLM เพื่อให้ได้พฤติกรรมทั่วไปมากขึ้นและพัฒนาตัวแทนของคุณเมื่อเวลาผ่านไป
นี่คือการเปิดตัวโอเพ่นซอร์สในช่วงต้นและเรากำลังมองหาผู้ทำงานร่วมกันจากชุมชน จุดเริ่มต้นที่ดีคือการเข้าร่วม Discord ของเรา!
กรอบของเราได้รับแรงบันดาลใจจากผลงานของคนอื่น ๆ รวมถึง:
Chidori อยู่ภายใต้ใบอนุญาต MIT ดูใบอนุญาตสำหรับข้อมูลเพิ่มเติม
โปรดแสดง GitHub Repo และเข้าร่วม Discord ของเรา!