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无害,以违反所有损害,成本和律师的费用,并与此回购产生的任何索赔有关。如果有人认为此回购侵犯了您的权利,请通知项目所有者电子邮件。