TaskWeaverは、データ分析タスクをシームレスに計画および実行するためのコードファーストエージェントフレームワークです。この革新的なフレームワークは、コードスニペットを介してユーザーの要求を解釈し、さまざまなプラグインを機能の形式で効率的に調整して、データ分析タスクをステートフルな方法で実行します。
TaskWeaverは、テキストのLLMSでチャット履歴のみを追跡する多くのエージェントフレームワークとは異なり、チャット履歴とコード実行履歴の両方を保存します。この機能は、エージェントフレームワークの表現力を高め、高次元の表形式データなどの複雑なデータ構造を処理するのに理想的です。

containerモードに切り替えるようになりました。詳細については、コードの実行を確認してください。taskweaverにはpython> = 3.10が必要です。次のコマンドを実行してインストールできます。
# [optional to create conda environment]
# conda create -n taskweaver python=3.10
# conda activate taskweaver
# clone the repository
git clone https://github.com/microsoft/TaskWeaver.git
cd TaskWeaver
# install the requirements
pip install -r requirements.txt TaskWeaverの以前のバージョンをインストールする場合は、リリースページを確認し、タグ(例: v0.0.1 )を見つけて、それをインストールすることができます
pip install git+https://github.com/microsoft/TaskWeaver@<TAG>
TaskWeaverを実行する前に、LLM構成を提供する必要があります。 OpenAIを例にとると、次のようにtaskweaver_config.jsonファイルを構成できます。
{
"llm.api_key" : " the api key " ,
"llm.model" : " the model name, e.g., gpt-4 "
}TaskWeaverは、他のLLMSおよび高度な構成もサポートしています。詳細については、ドキュメントを確認してください。
TaskWeaverは、コード実行のためにデフォルトでcontainerモードに切り替えました。つまり、コードはコンテナで実行されます。 Dockerをインストールし、コンテナ内の依存関係を処理する必要がある場合があります。詳細については、コードの実行を確認してください。
# assume you are in the cloned TaskWeaver folder
python -m taskweaver -p ./project/これにより、TaskWeaverプロセスが開始され、コマンドラインインターフェイスを介して対話できます。すべてがうまくいけば、次のプロンプトが表示されます。
=========================================================
_____ _ _ __
|_ _|_ _ ___| | _ | | / /__ ____ __ _____ _____
| |/ _` / __| |/ /| | /| / / _ / __ `/ | / / _ / ___/
| | (_| __ < | |/ |/ / __/ /_/ /| |/ / __/ /
|_|__,_|___/_|_|__/|__/___/__,_/ |___/___/_/
=========================================================
TaskWeaver: I am TaskWeaver, an AI assistant. To get started, could you please enter your request?
Human: ___
TaskWeaverは、デモの目的でWebUIもサポートしています。詳細については、Web UI Docsを参照してください。
TaskWeaverは、既存のプロジェクトと統合するためのライブラリとしてインポートできます。ドキュメントで詳細を確認できます。
より多くのドキュメントは、TaskWeaver Webサイトにあります。
デモはWeb UIに基づいて作成されました。これは、画像などの生成されたアーティファクトを表示するのに適しています。デモは、コマンドラインインターフェイスでも実行できます。
この例では、TaskWeaverを使用してデータベースからデータを引き出し、異常検出アルゴリズムを適用する方法を示します。
この例に従う場合は、 project/plugins/sql_pull_data.yamlファイルでsql_pull_dataプラグインを構成する必要があります。次の情報を提供する必要があります。
api_type : azure or openai
api_base : ...
api_key : ...
api_version : ...
deployment_name : ...
sqlite_db_path : sqlite:///../../../sample_data/anomaly_detection.db sql_pull_dataプラグインは、データベースからデータを取得するプラグインです。自然言語の要求を入力として必要とし、データフレームを出力として返します。
このプラグインは、Langchainに基づいて実装されています。この例に従う場合は、Langchainパッケージをインストールする必要があります。
pip install langchain
pip install tabulateこの例では、今後7日間でQQQの価格を予測するためにTaskWeaverを使用する方法を示します。
この例に従う場合は、これらの2つの要件をインストールしていることを確認する必要があります。
pip install yfinance
pip install statsmodelsその他の例については、私たちの論文を参照してください。
TaskWeaverの計画は、LLMモデルに基づいています。したがって、例を繰り返したい場合、実行プロセスはビデオに表示されるものとは異なる場合があります。たとえば、2番目のデモでは、アシスタントはユーザーにどの予測アルゴリズムを使用するかを尋ねることができます。通常、より具体的なプロンプトは、モデルがより良い計画とコードを生成するのに役立ちます。
私たちの論文はここにあります。研究でTaskWeaverを使用している場合は、私たちの論文を引用してください。
@article{taskweaver,
title={TaskWeaver: A Code-First Agent Framework},
author={Bo Qiao, Liqun Li, Xu Zhang, Shilin He, Yu Kang, Chaoyun Zhang, Fangkai Yang, Hang Dong, Jue Zhang, Lu Wang, Minghua Ma, Pu Zhao, Si Qin, Xiaoting Qin, Chao Du, Yong Xu, Qingwei Lin, Saravan Rajmohan, Dongmei Zhang},
journal={arXiv preprint arXiv:2311.17541},
year={2023}
}
このプロジェクトには、プロジェクト、製品、またはサービスの商標またはロゴが含まれる場合があります。 Microsoftの商標またはロゴの承認された使用は、Microsoftの商標およびブランドガイドラインに従うものであり、従わなければなりません。このプロジェクトの変更されたバージョンでのMicrosoft商標またはロゴの使用は、混乱を引き起こしたり、Microsoftのスポンサーシップを暗示したりしてはなりません。サードパーティの商標またはロゴの使用は、これらのサードパーティのポリシーの対象となります。
このリポジトリの推奨モデルは、TaskWeaverのペーパーであるコードファーストエージェントフレームワークを使用して、エージェントシステムの可能性を調査するために使用される例にすぎません。ユーザーは、ニーズに応じてこのリポジトリのモデルを置き換えることができます。このレポで推奨されるモデルを使用する場合、これらのモデルのライセンスをそれぞれ遵守する必要があります。 Microsoftは、このレポの使用に起因する第三者の権利の侵害に対して責任を負わないものとします。ユーザーは、このリポジトリから生じる請求に関連して、すべての損害、費用、および弁護士費用から無害に抑制され、補償し、保持することに同意します。このレポがあなたの権利を侵害していると誰かが信じている場合は、プロジェクトの所有者のメールに通知してください。