TaskWeaver ist ein Code-First -Agent-Framework für die nahtlose Planung und Ausführung von Datenanalyseaufgaben. Dieser innovative Framework interpretiert Benutzeranforderungen über Code -Snippets und koordiniert eine Vielzahl von Plugins in Form von Funktionen effizient, um Datenanalyseaufgaben auf staatliche Weise auszuführen.
Im Gegensatz zu vielen Agent-Frameworks, die den Chat-Verlauf nur mit LLMs im Text verfolgen, erhalten Taskweaver sowohl den Chat-Historie als auch den Code-Ausführungsverlauf , einschließlich der In-Memory-Daten. Diese Funktion verbessert die Ausdruckskraft des Agenten-Frameworks und macht es ideal für die Verarbeitung komplexer Datenstrukturen wie hochdimensionale tabellarische Daten.

container für die Codeausführung. Bitte überprüfen Sie die Codeausführung, um weitere Informationen zu erhalten.TaskWeaver benötigt Python> = 3.10 . Es kann installiert werden, indem der folgende Befehl ausgeführt wird:
# [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 Wenn Sie eine frühere Version von TaskWeaver installieren möchten, können Sie die Release -Seite überprüfen, das Tag (z. B. v0.0.1 ) finden und diese nach installieren
pip install git+https://github.com/microsoft/TaskWeaver@<TAG>
Vor dem Ausführen von TaskWeaver müssen Sie Ihre LLM -Konfigurationen bereitstellen. Wenn Sie als Beispiel OpenAI nutzen, können Sie taskweaver_config.json -Datei wie folgt konfigurieren.
{
"llm.api_key" : " the api key " ,
"llm.model" : " the model name, e.g., gpt-4 "
}TaskWeaver unterstützt auch andere LLMs und erweiterte Konfigurationen. Weitere Informationen finden Sie in den Dokumenten.
TaskWeaver hat standardmäßig für die Codeausführung in container umgestellt, was bedeutet, dass der Code in einem Container ausgeführt wird. Möglicherweise müssen Sie Docker installieren und sich um die Abhängigkeiten im Container kümmern. Bitte überprüfen Sie die Codeausführung für weitere Informationen.
# assume you are in the cloned TaskWeaver folder
python -m taskweaver -p ./project/Dadurch wird der TaskWeaver -Prozess gestartet und Sie können über die Befehlszeilenschnittstelle mit ihm interagieren. Wenn alles gut läuft, sehen Sie die folgende Eingabeaufforderung:
=========================================================
_____ _ _ __
|_ _|_ _ ___| | _ | | / /__ ____ __ _____ _____
| |/ _` / __| |/ /| | /| / / _ / __ `/ | / / _ / ___/
| | (_| __ < | |/ |/ / __/ /_/ /| |/ / __/ /
|_|__,_|___/_|_|__/|__/___/__,_/ |___/___/_/
=========================================================
TaskWeaver: I am TaskWeaver, an AI assistant. To get started, could you please enter your request?
Human: ___
TaskWeaver unterstützt auch Webui für Demo -Zweck. Weitere Informationen finden Sie in Web -UI -Dokumenten.
TaskWeaver kann als Bibliothek importiert werden, um sich in Ihr vorhandenes Projekt zu integrieren. Weitere Informationen finden Sie in DOCs
Weitere Dokumentationen finden Sie auf der Taskweaver -Website.
Die Demos wurden basierend auf der Web -Benutzeroberfläche durchgeführt, die besser für die Anzeige der generierten Artefakte wie Bilder ist. Die Demos könnten auch in der Befehlszeilenschnittstelle durchgeführt werden.
In diesem Beispiel zeigen wir Ihnen, wie Sie TaskWeaver verwenden, um Daten aus einer Datenbank zu ziehen und einen Anomalie -Erkennungsalgorithmus anzuwenden.
Wenn Sie diesem Beispiel folgen möchten, müssen Sie das Plugin sql_pull_data in der Datei project/plugins/sql_pull_data.yaml konfigurieren. Sie müssen die folgenden Informationen bereitstellen:
api_type : azure or openai
api_base : ...
api_key : ...
api_version : ...
deployment_name : ...
sqlite_db_path : sqlite:///../../../sample_data/anomaly_detection.db Das Plugin sql_pull_data ist ein Plugin, das Daten aus einer Datenbank zieht. Es dauert eine natürliche Sprachanforderung als Eingabe und gibt einen Datenrahmen als Ausgabe zurück.
Dieses Plugin wird basierend auf Langchain implementiert. Wenn Sie diesem Beispiel folgen möchten, müssen Sie das Langchain -Paket installieren:
pip install langchain
pip install tabulateIn diesem Beispiel zeigen wir Ihnen, wie Sie Taskweaver verwenden, um den Preis von QQQ in den nächsten 7 Tagen zu prognostizieren.
Wenn Sie dieses Beispiel befolgen möchten, müssen Sie sicherstellen, dass diese beiden Anforderungen installiert sind:
pip install yfinance
pip install statsmodelsWeitere Beispiele finden Sie in unserem Artikel.
Die Planung von TaskWeaver basiert auf dem LLM -Modell. Wenn Sie die Beispiele wiederholen möchten, kann sich der Ausführungsprozess von dem unterscheiden, was Sie in den Videos sehen. In der zweiten Demo kann der Assistent beispielsweise den Benutzer fragen, welchen Vorhersagealgorithmus verwendet werden sollte. In der Regel helfen konkrete Eingabeaufforderungen dem Modell, bessere Pläne und Code zu generieren.
Unser Papier konnte hier gefunden werden. Wenn Sie TaskWeaver in Ihrer Forschung verwenden, zitieren Sie bitte unser Papier:
@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}
}
Dieses Projekt kann Marken oder Logos für Projekte, Produkte oder Dienstleistungen enthalten. Die autorisierte Verwendung von Microsoft -Marken oder Logos unterliegt den Marken- und Markenrichtlinien von Microsoft und muss folgen. Die Verwendung von Microsoft -Marken oder Logos in geänderten Versionen dieses Projekts darf keine Verwirrung verursachen oder Microsoft -Sponsoring implizieren. Jede Verwendung von Marken oder Logos von Drittanbietern unterliegt den Richtlinien dieses Drittanbieters.
Die empfohlenen Modelle in diesem Repo sind nur Beispiele, mit denen das Potenzial von Agentensystemen mit dem Papier bei TaskWeaver: Ein Code-First-Agent-Framework untersucht wird. Benutzer können die Modelle in diesem Repo entsprechend ihren Anforderungen ersetzen. Bei Verwendung der empfohlenen Modelle in diesem Repo müssen Sie die Lizenzen dieser Modelle einhalten. Microsoft haftet nicht für eine Verletzung der Rechte von Drittanbietern, die sich aus Ihrer Nutzung dieses Repo ergeben. Benutzer erklären sich damit einverstanden, Microsoft von und gegen alle Schäden, Kosten und Anwaltsgebühren im Zusammenhang mit jeglichen Ansprüchen, die sich aus diesem Repo ergeben, zu verteidigen, zu entschädigen und zu halten. Wenn jemand glaubt, dass dieses Repo gegen Ihre Rechte verstößt, benachrichtigen Sie bitte die E -Mail des Projektbesitzers.