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는 다른 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는 또한 Demo 목적으로 WebUI를 지원합니다. 자세한 내용은 Web UI 문서를 참조하십시오.
Taskweaver는 기존 프로젝트와 통합하기 위해 라이브러리로 가져올 수 있습니다. 더 많은 정보는 문서에서 찾을 수 있습니다.
더 많은 문서는 TaskWeaver 웹 사이트에서 찾을 수 있습니다.
데모는 웹 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 모델을 기반으로합니다. 따라서 예제를 반복하려면 실행 프로세스가 비디오에서 보이는 것과 다를 수 있습니다. 예를 들어, 두 번째 데모에서 어시스턴트는 사용자에게 어떤 예측 알고리즘을 사용해야하는지 요청할 수 있습니다. 일반적으로 더 구체적인 프롬프트는 모델이 더 나은 계획과 코드를 생성하는 데 도움이됩니다.
우리 논문은 여기에서 찾을 수 있습니다. 연구에서 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 후원을 암시해서는 안됩니다. 타사 상표 또는 로고를 사용하면 타사 정책이 적용됩니다.
이 repo의 권장 모델은 Taskweaver의 논문과 함께 에이전트 시스템의 잠재력을 탐색하는 데 사용되는 예일뿐입니다. 코드 우선 에이전트 프레임 워크. 사용자는 필요에 따라이 저장소의 모델을 교체 할 수 있습니다. 이 repo에서 권장 모델을 사용하는 경우 각 모델의 라이센스를 준수해야합니다. Microsoft는이 리포지어 사용으로 인한 제 3 자 권리 침해에 대해 책임을지지 않습니다. 사용자는이 리포지토리에서 발생하는 모든 손해, 비용 및 변호사 비용으로부터 Microsoft를 방어, 면책 및 무해하게 유지하는 데 동의합니다. 이 repo가 귀하의 권리를 침해한다고 생각하는 사람이라면 프로젝트 소유자 이메일에 알리십시오.