在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仓库,并加入我们的不和谐!