Githubで私たちを主演! Discordにご参加ください。
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-ターボを活用したい場合は、付属の構成ファイルがそれをサポートします。以下を実行するには、 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エージェントは、単一のファイル、または典型的なTypeScriptまたはPythonプロジェクトとして構成されたファイルのコレクションにすることができます。次の例は、単一のファイルエージェントです。これは、Markdownファイルとして表されるJupyter/iPythonノートブックのようなものに似ていると考えてください。
「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"; function fetchstory(id){ return axios.get( `https://hacker-news.firebaseio.com/v0/item/$ {id} .json?print = pretty`) .then(response => respons.data); } async function fetchhn(){ const Stories = axios.get(hn_url_top_stories); const Storyids = Stories.data; //最初の30のみ const tasks = storyids.slice(0、30).map(id => fetchstory(id)); promise.all(タスク)を返す .then(Stories => { ストーリーを返すmap(story => { const {title、url、score} = story; return {title、url、score}; }); }); } `` ` プロンプト「rettren_the_group」 `` `PROMPT(relution_the_group) 次のハッケルネュースレッドのリストに基づいて、 このリストをフィルタリングして起動します 新しいAIプロジェクト:{{fetched_articles}} `` ` プロンプト「format_and_rank」 `` `Prompt(format_and_rank) マークダウンの新しいAIプロジェクトのこのリストをフォーマットし、最もランク付けしています 最も興味深いものから最小の興味深いプロジェクト。 {{ritent_the_group}} `` ` エントリーポイントとしてPythonセルを使用し、言語間実行を実証します。 「パイソン 記事= fetchhn()を待っています format_and_rank(記事=記事) `` `
Chidoriは、そのコアで、異なるエージェントとそのコンポーネント間の相互作用を調整するリアクティブランタイムをもたらします。 Chidoriは、任意のPythonまたはJavaScriptコードを受け入れ、中断と反応性を可能にするために、ブローカーとそれを実行します。これにより、すでによく知っているパターンを活用しながら、これらのランタイム動作の利点を得ることができます。
Chidoriは、エージェントの包括的な監視と観察性を保証します。エージェントの実行中に機能によって放出されるすべての入力と出力を記録し、何につながったのかを正確に説明し、デバッグエクスペリエンスとシステムの生産行動の理解を高めます。
Chidoriを使用すると、システムのスナップショットを取り、その時点からさまざまな結果を探索する(分岐)、またはシステムを以前の状態(タイムトラベル)に巻き戻すことができます。この機能は、代替経路と順列を提供することにより、エラー処理、デバッグ、およびシステムの堅牢性を改善します。
Chidoriには、PythonとJavaScriptの両方のコード解釈に対するファーストクラスのサポートが付属しています。システム内で直接コードを実行して、クイックスタートアップ、使いやすさ、および安全な実行を提供できます。コンテナ化された環境のサポートが間もなく登場しているため、信頼できないコードを実行することに対する追加のセーフガードに継続的に取り組んでいます。
実行グラフ、状態の保存、およびデバッグのためのツールにより、チドリはエージェントの評価中にコードを生成するための例外的な環境です。これを使用して、LLMSを活用して、より一般化された動作を実現し、エージェントを時間の経過とともに進化させることができます。
これは初期のオープンソースのリリースであり、コミュニティの協力者を探しています。開始するのに適した場所は、私たちの不一致に参加することです!
私たちのフレームワークは、以下を含む他の多くの仕事に触発されています。
ChidoriはMITライセンスの下にあります。詳細については、ライセンスを参照してください。
Github Repoに出演して、私たちの不一致に参加してください!