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 أيضًا LLMs والتكوينات المتقدمة الأخرى ، يرجى التحقق من المستندات لمزيد من التفاصيل.
تم تحويل 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 لغرض العرض التجريبي ، يرجى الرجوع إلى مستندات واجهة المستخدم على الويب لمزيد من التفاصيل.
يمكن استيراد TaskWeaver كمكتبة لتكاملها مع مشروعك الحالي ، ويمكن العثور على مزيد من المعلومات في المستندات
يمكن العثور على المزيد من الوثائق على موقع TaskWeaver.
تم إجراء العروض التوضيحية بناءً على واجهة المستخدم على الويب ، والتي هي أفضل لعرض القطع الأثرية التي تم إنشاؤها مثل الصور. يمكن أيضًا إجراء العروض التوضيحية في واجهة سطر الأوامر.
في هذا المثال ، سوف نوضح لك كيفية استخدام 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 هو مكون إضافي يسحب البيانات من قاعدة بيانات. يستغرق طلب اللغة الطبيعي كمدخلات وإرجاع إطار البيانات كإخراج.
يتم تنفيذ هذا البرنامج المساعد على أساس langchain. إذا كنت ترغب في اتباع هذا المثال ، فأنت بحاجة إلى تثبيت حزمة Langchain:
pip install langchain
pip install tabulateفي هذا المثال ، سوف نوضح لك كيفية استخدام TaskWeaver للتنبؤ بسعر 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. يخضع أي استخدام للعلامات التجارية أو الشعارات من طرف ثالث لسياسات تلك الطرف الثالث.
النماذج الموصى بها في هذا الريبو هي مجرد أمثلة ، تستخدم لاستكشاف إمكانات أنظمة الوكلاء مع الورقة في TaskWeaver: إطار عمل وكيل رمز. يمكن للمستخدمين استبدال النماذج في هذا الريبو وفقًا لاحتياجاتهم. عند استخدام النماذج الموصى بها في هذا الريبو ، تحتاج إلى الامتثال لتراخيص هذه النماذج على التوالي. لا تتحمل Microsoft مسؤولية أي انتهاك لحقوق الطرف الثالث الناتج عن استخدامك لهذا الريبو. يوافق المستخدمون على الدفاع عن Microsoft وتعويضه ومعقده غير ضار من جميع الأضرار والتكاليف ورسوم المحامين فيما يتعلق بأي مطالبات تنشأ عن هذا الريبو. إذا كان أي شخص يعتقد أن هذا الريبو ينتهك حقوقك ، فيرجى إخطار البريد الإلكتروني لمالك المشروع.