แสดงเราบน 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 ของเรา!