在github上明星我們!加入我們的不和諧。
Chidori是使用現代AI工具在共生中構建軟件的開源編排,運行時間和IDE。它特別適合通過為以下問題提供解決方案來建立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代理可以是一個文件,也可以是構成為典型打字稿或Python項目的文件集合。以下示例是一個單個文件代理。將其類似於類似於jupyter/ipython筆記本電腦,該筆記本表示為Markdown文件。
````JavaScript(load_hacker_news) const axios = require('https://deno.land/x/axiod/mod.ts'); const hn_url_top_stories =“ https://hacker-news.firebaseio.com/v0/topstories.json”; 函數fetchstory(id){ 返回axios.get(`https://hacker-news.firebaseio.com/v0/item/qul $ {id} .json?print = Pretty') 。 } 異步函數fetchhn(){ const story =等待axios.get(hn_url_top_stories); const storyids = story.data; //只有前30個 const tasks = storyids.slice(0,30).map(id => fetchStory(id)); 返回Promise.All(任務) 。 返回story.map(story => { const {title,url,score} = story; 返回{title,url,score}; }); }); } ```````` 提示“ drivent_the_group” ````提示 基於以下黑客線程列表 過濾此列表以啟動 新的AI項目:{{fetched_articles}} ```````` 提示“格式_and_rank” ````提示(format_and_rank) 格式化此列表在Markdown中的新AI項目,排名最多 有趣的項目從最有趣的到最少。 {{{drivent_the_group}} ```````` 使用Python單元作為我們的入口點,演示語言執行: ``python 文章=等待fetchhn() format_and_rank(文章=文章) ````````
Chidori以此為核心帶來了一個反應性的運行時,該運行時間策劃了不同代理與其組件之間的相互作用。 Chidori接受任意的Python或JavaScript代碼,接管經紀和執行,以允許中斷和反應性。這使您可以在利用您已經熟悉的模式的同時獲得這些運行時行為的好處。
Chidori確保代理商的全面監控和可觀察性。我們記錄了整個代理執行過程中功能發出的所有輸入和輸出,從而使我們能夠準確地解釋什麼導致了什麼,從而增強了您的調試體驗並了解系統生產行為。
使用Chidori,您可以拍攝系統的快照,並探索從那時(分支)的不同可能結果,或將系統倒帶到先前的狀態(Time-Travel)。該功能通過提供替代途徑和操作來改善錯誤處理,調試和系統魯棒性。
Chidori具有對Python和JavaScript的代碼解釋的一流支持。您可以在系統中直接執行代碼,提供快速啟動,易用性和安全執行。我們將不斷為不受信任的代碼提供其他保障措施,並且很快就會有集裝箱環境支持。
借助我們的執行圖,狀態保存和調試工具-Chidori是在評估代理商期間生成代碼的特殊環境。您可以使用它來利用LLM來實現更廣泛的行為並隨著時間的流逝而發展。
這是一個早期的開源版本,我們正在尋找社區的合作者。一個很好的起點是加入我們的不和諧!
我們的框架受到許多其他工作的啟發,包括:
Chidori符合MIT許可。有關更多信息,請參見許可證。
請播放GitHub倉庫,並加入我們的不和諧!