Modelscope Hub | الورق | العرض التوضيحي
中文| الإنجليزية
Modelscope-Agent هو إطار عمل وكيل قابل للتخصيص وقابل للتطوير. يتمتع الوكيل الفردي بقدرات مثل لعب الأدوار واستدعاء LLM واستخدام الأدوات والتخطيط والذاكرة. ويتميز بشكل رئيسي بالخصائص التالية:
RolePlay
باستخدام أحدث طراز OpenAI GPT-4o
. يمكن للمطورين تجربة هذه الميزة عن طريق تحديد المعلمة image_url
.Assistant API
سهلة الاستخدام، كما قدمت أيضًا Tools API
التي تنفذ الأدوات المساعدة في حاويات معزولة وآمنة، يرجى الاطلاع على المستندbash run_msgpt.sh
.استنساخ الريبو وتثبيت التبعية:
git clone https://github.com/modelscope/modelscope-agent.git
cd modelscope-agent && pip install -r requirements.txt
يوفر ModelScope Notebook طبقة مجانية تسمح لمستخدم ModelScope بتشغيل تطبيق FaceChain بأقل قدر من الإعداد، راجع ModelScope Notebook
# Step1: 我的notebook -> PAI-DSW -> GPU环境
# Step2: Download the [demo file](https://github.com/modelscope/modelscope-agent/blob/master/demo/demo_qwen_agent.ipynb) and upload it to the GPU.
# Step3: Execute the demo notebook in order.
يدمج الوكيل LLM مع أدوات خاصة بالمهمة، ويستخدم LLM لتحديد الأداة أو الأدوات التي سيتم استدعاؤها لإكمال مهام المستخدم.
للبدء، كل ما عليك فعله هو تهيئة كائن RolePlay
بالمهام المقابلة
# 配置环境变量;如果您已经提前将api-key提前配置到您的运行环境中,可以省略这个步骤
import os
os . environ [ 'DASHSCOPE_API_KEY' ] = YOUR_DASHSCOPE_API_KEY
os . environ [ 'AMAP_TOKEN' ] = YOUR_AMAP_TOKEN
# 选用RolePlay 配置agent
from modelscope_agent . agents . role_play import RolePlay # NOQA
role_template = '你扮演一个天气预报助手,你需要查询相应地区的天气,并调用给你的画图工具绘制一张城市的图。'
llm_config = { 'model' : 'qwen-max' , 'model_server' : 'dashscope' }
# input tool name
function_list = [ 'amap_weather' , 'image_gen' ]
bot = RolePlay (
function_list = function_list , llm = llm_config , instruction = role_template )
response = bot . run ( '朝阳区天气怎样?' )
text = ''
for chunk in response :
text += chunk
نتيجة
# 第一次调用llm的输出
Action: amap_weather
Action Input: { " location " : "朝阳区" }
# 第二次调用llm的输出
目前,朝阳区的天气状况为阴天,气温为1度。
Action: image_gen
Action Input: { " text " : "朝阳区城市风光" , " resolution " : " 1024*1024 " }
# 第三次调用llm的输出
目前,朝阳区的天气状况为阴天,气温为1度。同时,我已为你生成了一张朝阳区的城市风光图,如下所示:
! [](https://dashscope-result-sh.oss-cn-shanghai.aliyuncs.com/1d/45/20240204/3ab595ad/96d55ca6-6550-4514-9013-afe0f917c7ac-1.jpg ? Expires=1707123521 & OSSAccessKeyId=LTAI5tQZd8AEcZX6KZV4G8qL & Signature=RsJRt7zsv2y4kg7D9QtQHuVkXZY%3D)
يتكون كائن Agent
من المكونات التالية:
LLM
: نموذج لغة كبير مسؤول عن معالجة مدخلاتك وتحديد أدوات الاتصال.function_list
: تتكون القائمة من الأدوات المتاحة للوكلاء. حاليًا، قد يحتوي تكوين Agent
على الوسائط التالية:
llm
: تكوين llm لهذا الوكيلfunction_list
: قائمة الأدواتstorage_path
: إذا لم يتم تحديد خلاف ذلك، فسيتم تخزين جميع البيانات هنا في أزواج KV بواسطة الذاكرةinstruction
: تعليمات النظام لهذا الوكيلname
: اسم الوكيلdescription
: وصف الوكيل الذي يستخدم لـ multi_agentkwargs
: المعلمات المحتملة الأخرى Agent
، كفئة أساسية، لا يمكن تهيئته واستدعائه مباشرة. تحتاج الفئات الفرعية للوكيل إلى وراثتها. يجب عليهم تنفيذ الدالة _run
، والتي تتضمن بشكل أساسي ثلاثة أجزاء: إنشاء الرسائل/المطالبة، واستدعاء المواد، واستدعاء الأدوات بناءً على نتائج المادة. نحن نوفر تطبيقًا لهذه المكونات في RolePlay
للمستخدمين، ويمكنك أيضًا تخصيص مكوناتك وفقًا لمتطلباتك.
from modelscope_agent import Agent
class YourCustomAgent ( Agent ):
def _run ( self , user_request , ** kwargs ):
# Custom your workflow
LLM هي الوحدة الأساسية للوكيل، والتي تضمن جودة نتائج التفاعل.
حاليًا، قد يحتوي تكوين `` على الوسائط التالية:
model
: سيتم تمرير اسم النموذج المحدد مباشرة إلى مزود خدمة النموذج.model_server
: مزود الخدمات النموذجية. لا يمكن تهيئة BaseChatModel
، باعتباره فئة أساسية من llm، واستدعائه مباشرة. تحتاج الفئات الفرعية إلى وراثتها. يجب عليهم تنفيذ وظيفة _chat_stream
و_ _chat_no_stream
، والتي تتوافق مع إخراج التدفق والمخرجات غير المتدفقة على التوالي. يمكنك اختياريًا تنفيذ chat_with_functions
و chat_with_raw_prompt
لاستدعاء الوظائف وإكمال النص.
نوفر حاليًا تنفيذ ثلاثة من موفري خدمات النماذج: Dashscope (لنماذج سلسلة qwen)، وzhipu (لنماذج سلسلة glm)، وopenai (لجميع نماذج تنسيق openai api). يمكنك استخدام النماذج التي يدعمها مقدمو الخدمات المذكورون أعلاه مباشرةً، أو يمكنك تخصيص تخصصك.
لمزيد من المعلومات يرجى الرجوع إلى docs/modules/llm.md
Tool
نحن نقدم العديد من الأدوات متعددة المجالات التي يمكن تهيئتها واستخدامها في الوكيل.
يمكنك أيضًا تخصيص أدواتك من خلال تعيين اسم الأداة ووصفها ومعلماتها بناءً على نمط محدد مسبقًا عن طريق وراثة الأداة الأساسية. اعتمادًا على احتياجاتك، يمكن تنفيذ call(). يتوفر مثال لأداة مخصصة في demo_register_new_tool
يمكنك تمرير اسم الأداة أو التكوين الذي تريد استخدامه إلى الوكيل.
# by tool name
function_list = [ 'amap_weather' , 'image_gen' ]
bot = RolePlay ( function_list = function_list , ...)
# by tool configuration
from langchain . tools import ShellTool
function_list = [{ 'terminal' : ShellTool ()}]
bot = RolePlay ( function_list = function_list , ...)
# by mixture
function_list = [ 'amap_weather' , { 'terminal' : ShellTool ()}]
bot = RolePlay ( function_list = function_list , ...)
image_gen
: إنشاء صور Wanx. يجب تكوين DASHSCOPE_API_KEY في متغير البيئة.code_interpreter
: مترجم الكودweb_browser
: تصفح الويبamap_weather
: طقس AMAP. يجب تكوين AMAP_TOKEN في متغير البيئة.wordart_texture_generation
: إنشاء نسيج فن الكلمات. يجب تكوين DASHSCOPE_API_KEY في متغير البيئة.web_search
: البحث في الويب. []qwen_vl
: التعرف على الصور Qwen-VL. يجب تكوين DASHSCOPE_API_KEY في متغير البيئة.style_repaint
: إعادة رسم نمط الشخصية. يجب تكوين DASHSCOPE_API_KEY في متغير البيئة.image_enhancement
: مطاردة عدسة مكبرة للظل. يجب تكوين DASHSCOPE_API_KEY في متغير البيئة.text-address
: الترميز الجغرافي. يجب تكوين MODELSCOPE_API_TOKEN في متغير البيئة.speech-generation
: توليد الكلام. يجب تكوين MODELSCOPE_API_TOKEN في متغير البيئة.video-generation
: توليد الفيديو. يجب تكوين MODELSCOPE_API_TOKEN في متغير البيئة.يرجى الرجوع إلى الملف التمهيدي متعدد الوكلاء.
إذا كنت ترغب في معرفة المزيد حول التفاصيل العملية للوكيل، يمكنك الرجوع إلى مقالاتنا ودروس الفيديو الخاصة بنا:
نحن نقدر حماسك للمشاركة في مشروع ModelScope-Agent مفتوح المصدر الخاص بنا. إذا واجهت أي مشاكل، فلا تتردد في إبلاغنا بها. إذا قمت بإنشاء عرض توضيحي جديد للوكيل وكنت على استعداد لمشاركة عملك معنا، فيرجى إنشاء طلب سحب في أي وقت! إذا كنت بحاجة إلى أي مساعدة إضافية، يرجى الاتصال بنا عبر البريد الإلكتروني على [email protected] أو مجموعة الاتصال!
Facechain هو مشروع مفتوح المصدر لإنشاء صور شخصية بأنماط مختلفة باستخدام صور الوجه التي تم تحميلها من قبل المستخدمين. من خلال دمج قدرات Facechain في إطار عمل Modelscope-agent، قمنا بتبسيط عملية الاستخدام إلى حد كبير. يمكن الآن إنشاء صور شخصية من خلال الحوار مع Facechain Agent.
رابط تطبيق FaceChainAgent Studio: https://modelscope.cn/studios/CVstudio/facechain_agent_studio/summary
يمكنك تشغيله مباشرة في بيئة دفتر ملاحظات/Colab/محلية: https://www.modelscope.cn/my/mynotebook
! git clone -b feat/facechain_agent https://github.com/modelscope/modelscope-agent.git
! cd modelscope-agent && ! pip install -r requirements.txt
! cd modelscope-agent/demo/facechain_agent/demo/facechain_agent && ! pip install -r requirements.txt
! pip install http://dashscope-cn-beijing.oss-cn-beijing.aliyuncs.com/zhicheng/modelscope_agent-0.1.0-py3-none-any.whl
! PYTHONPATH=/mnt/workspace/modelscope-agent/demo/facechain_agent && cd modelscope-agent/demo/facechain_agent/demo/facechain_agent && python app_v1.0.py
هذا المشروع مرخص بموجب ترخيص Apache (الإصدار 2.0).