TaskWeaver是無縫計劃和執行數據分析任務的代碼優點框架。該創新框架通過代碼段解釋用戶請求,並以功能的形式有效地協調各種插件,以以狀態方式執行數據分析任務。
與許多僅在文本中使用LLM跟踪聊天歷史記錄的代理框架不同,TaskWeaver保留了聊天歷史記錄和代碼執行歷史記錄,包括內存數據。此功能增強了代理框架的表現力,使其非常適合處理複雜的數據結構,例如高維表格數據。

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還支持其他LLM和高級配置,請檢查文檔以獲取更多詳細信息。
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文檔以獲取更多詳細信息。
TaskWeaver可以作為庫導入以與您現有項目集成,可以在文檔中找到更多信息
可以在Taskweaver網站上找到更多文檔。
演示是根據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在此示例中,我們將向您展示如何使用TaskWeaver在未來7天內預測QQQ的價格。
如果要遵循此示例,則需要確保安裝了這兩個要求:
pip install yfinance
pip install statsmodels有關更多示例,請參閱我們的論文。
TaskWeaver的計劃基於LLM模型。因此,如果您想重複示例,執行過程可能與您在視頻中看到的不同。例如,在第二個演示中,助手可以詢問應使用哪種預測算法。通常,更多的具體提示將有助於該模型生成更好的計劃和代碼。
我們的論文可以在這裡找到。如果您在研究中使用TaskingWeaver,請引用我們的論文:
@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無害,以違反所有損害,成本和律師的費用,並與此回購產生的任何索賠有關。如果有人認為此回購侵犯了您的權利,請通知項目所有者電子郵件。