TaskWeaver เป็นเฟรมเวิร์กตัวแทน รหัสแรก สำหรับการวางแผนและดำเนินงานการวิเคราะห์ข้อมูลอย่างราบรื่น เฟรมเวิร์กที่เป็นนวัตกรรมนี้ตีความคำขอของผู้ใช้ผ่านตัวอย่างโค้ดและประสานงานปลั๊กอินที่หลากหลายในรูปแบบของฟังก์ชั่นเพื่อดำเนินงานการวิเคราะห์ข้อมูลในลักษณะที่เป็นสถานะ
ซึ่งแตกต่างจากเฟรมเวิร์กตัวแทนจำนวนมากที่ติดตามประวัติการแชทด้วย LLMs ในข้อความ 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 Docs สำหรับรายละเอียดเพิ่มเติม
TaskWeaver สามารถนำเข้าเป็นห้องสมุดเพื่อรวมเข้ากับโครงการที่มีอยู่ของคุณข้อมูลเพิ่มเติมสามารถพบได้ในเอกสาร
เอกสารเพิ่มเติมสามารถพบได้ในเว็บไซต์ TaskWeaver
การสาธิตถูกสร้างขึ้นตามเว็บ UI ซึ่งดีกว่าสำหรับการแสดงสิ่งประดิษฐ์ที่สร้างขึ้นเช่นรูปภาพ การสาธิตยังสามารถดำเนินการในอินเทอร์เฟซบรรทัดคำสั่ง
ในตัวอย่างนี้เราจะแสดงวิธีการใช้ TaskWeaver เพื่อดึงข้อมูลจากฐานข้อมูลและใช้อัลกอริทึมการตรวจจับความผิดปกติ
หากคุณต้องการทำตามตัวอย่างนี้คุณจะต้องกำหนดค่าปลั๊กอิน sql_pull_data ในไฟล์ project/plugins/sql_pull_data.yaml คุณต้องให้ข้อมูลต่อไปนี้:
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 เป็นปลั๊กอินที่ดึงข้อมูลจากฐานข้อมูล ต้องใช้คำขอภาษาธรรมชาติเป็นอินพุตและส่งคืน DataFrame เป็นเอาต์พุต
ปลั๊กอินนี้ใช้งานตาม Langchain หากคุณต้องการทำตามตัวอย่างนี้คุณต้องติดตั้งแพ็คเกจ Langchain:
pip install langchain
pip install tabulateในตัวอย่างนี้เราจะแสดงวิธีการใช้ TaskWeaver เพื่อคาดการณ์ราคาของ QQQ ในอีก 7 วันข้างหน้า
หากคุณต้องการทำตามตัวอย่างนี้คุณต้องตรวจสอบให้แน่ใจว่าคุณติดตั้งข้อกำหนดสองประการนี้:
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 นี้ตามความต้องการของพวกเขา เมื่อใช้โมเดลที่แนะนำใน repo นี้คุณจะต้องปฏิบัติตามใบอนุญาตของโมเดลเหล่านี้ตามลำดับ Microsoft จะไม่รับผิดชอบต่อการละเมิดสิทธิ์ของบุคคลที่สามที่เกิดจากการใช้งานของคุณในการซื้อคืนนี้ ผู้ใช้ตกลงที่จะปกป้องชดใช้ค่าเสียหายและถือ Microsoft ไม่เป็นอันตรายจากและต่อต้านความเสียหายค่าใช้จ่ายและค่าธรรมเนียมทนายความทั้งหมดที่เกี่ยวข้องกับการเรียกร้องใด ๆ ที่เกิดขึ้นจาก repo นี้ หากใครเชื่อว่า repo นี้ละเมิดสิทธิ์ของคุณโปรดแจ้งอีเมลเจ้าของโครงการ