首页 > 其他分享 >不需要本地部署大模型,modelscope-agent加qwen-max免费搭建自己的定制机器人

不需要本地部署大模型,modelscope-agent加qwen-max免费搭建自己的定制机器人

时间:2023-12-28 15:33:24浏览次数:174  
标签:url max tool modelscope agent text test import

最近阿里开源了通用大模型qwen-72b,正在为怎么本地化部署发愁,转眼看到提供了qwen-max相关接口的免费试用(据说就是基于qwen-72b大模型),这就来体验一番。

1.前期准备

开通阿里云灵积平台,并创建api-key

image.png

2.环境搭建

python:3.10+;

pydantic 2.0以上,老版本pydantic会报一个tool_schema.model_dump_json的函数错误,可以通过相关命令升级:

  css 复制代码
pip install --upgrade pydantic
pip install --upgrade fastapi

3.项目部署

拉取项目代码,并安装相关依赖

  bash 复制代码
git clone https://github.com/modelscope/modelscope-agent.git
cd modelscope-agent
pip install -r requirements.txt

将\apps\agentfabric目录下面的所有文件复制到项目根目录,并安装相关依赖

  复制代码
pip install -r requirements.txt

发现有两个文件app.py和appBot.py,先启动app.py(实际差不多,appBot.py没有左边的配置栏),打开创建的网址可以发现提示api_key错误,我们将阿里云灵积平台创建的api-key填写到环境变量中并重启服务。

这时候可以正常使用了,点击config可以修改配置信息(根据自己需求填写)

image.png 实际上在/config/build_config.json文件里直接填写效果更好,删除缓存也不怕丢失

  json 复制代码
{
  "name": "学业规划助手",
  "avatar": "custom_bot_avatar.png",
  "description": "一个专为学生设计的学业规划助手,通过个性化的测试和分析帮助你找到最适合的专业和学校。",
  "instruction": "1. 理解并回应用户的指令;2. 提供专业的学术知识和技能的简易测试;3. 根据用户的需求和测试结果生成个性化适配报告;4. 基于用户需求和偏好推荐适合的专业和学校;5. 考虑用户对地区和国家的偏好进行更精准的推荐;6.当用户需要完整智能评测时提供完整智能评测的网址;7.给出用户日常学习和生活的建议辅导",
  "language": "zh",
  "prompt_recommend": [
    "你可以帮我生成一个关于职业能力的简易测试吗?",
    "你会推荐我学习哪个专业的课程?",
    "你能分析一下我对专业的适配度吗?",
    "能否推荐一些大学给我?",
    "完整智能评估"
  ],
  "knowledge": [],
  "tools": {
    "get_test_url":{
      "name": "完整智能评估",
      "is_active": true,
      "use": true 
    }
  },
  "model": "qwen-max"
}

保存重启并体验一下

image.png

4.自定义工具类加载

在tool文件夹内创建get_test_url.py

  python 复制代码
from .tool import Tool
class GetTestUrl(Tool):
    name = "get_test_url"
    description = "该工具用户返回智能评估的网址。"
    description += """
    下面是一些对话场景:
    场景1:
    <用户>: 智能评估
    <助手>: 好的,正在查询中
    
    场景2:
    <用户>:查看智能评估的网站
    <助手>: 好的,正在查询中
    """
    parameters = [
        {
            'name': 'test_url',
            'description': '查询智能评估的网址',
            'required': False
        }
    ]
    def __call__(self, remote=False, *args, **kwargs):
        if self.is_remote_tool or remote:
            return self._remote_call(*args, **kwargs)
        else:
            return self._local_call(*args, **kwargs)

    def _remote_call(self, *args, **kwargs):
        pass

    def _local_call(self, *args, **kwargs):
        test_url = kwargs.get("test_url", "")
        result = {
            "test_url": 'http://www.baidu.com',
        }
        return {"result": result}

修改对应的config文件/config/tool_config.json

  json 复制代码
  "modelscope_text-translation-en2zh": {
      "name": "英译中",
      "url": "https://api-inference.modelscope.cn/api-inference/v1/models/damo/nlp_csanmt_translation_en2zh",
      "use": false,
      "is_active": false,
      "is_remote_tool": true
  },
  "modelscope_text-translation-zh2en": {
      "name": "中译英",
      "url": "https://api-inference.modelscope.cn/api-inference/v1/models/damo/nlp_csanmt_translation_zh2en",
      "use": false,
      "is_active": false,
      "is_remote_tool": true
  },
  "get_test_url":{
    "name": "完整智能评估",
    "is_active": true,
    "use": true 
  }

修改/config/build_config.json(上文已经添加过了,不在赘述)。

修改/tools/init.py

  javascript 复制代码
from .amap_weather import AMAPWeather
from .code_interperter import CodeInterpreter
from .code_interpreter_jupyter import CodeInterpreterJupyter
from .hf_tool import HFTool
from .image_chat_tool import ImageChatTool
from .pipeline_tool import ModelscopePipelineTool
from .plugin_tool import LangchainTool
from .qwen_vl import QWenVL
from .style_repaint import StyleRepaint
from .text_address_tool import TextAddressTool
from .text_ie_tool import TextInfoExtractTool
from .text_ner_tool import TextNerTool
from .text_to_image_tool import TextToImageTool
from .text_to_speech_tool import TexttoSpeechTool
from .text_to_video_tool import TextToVideoTool
from .tool import Tool
from .translation_en2zh_tool import TranslationEn2ZhTool
from .translation_zh2en_tool import TranslationZh2EnTool
from .web_browser import WebBrowser
from .web_search import WebSearch
from .wordart_tool import WordArtTexture
from .get_test_url import GetTestUrl
TOOL_INFO_LIST = {
    'modelscope_text-translation-zh2en': 'TranslationZh2EnTool',
    'modelscope_text-translation-en2zh': 'TranslationEn2ZhTool',
    'modelscope_text-ie': 'TextInfoExtractTool',
    'modelscope_text-ner': 'TextNerTool',
    'modelscope_text-address': 'TextAddressTool',
    'image_gen': 'TextToImageTool',
    'modelscope_video-generation': 'TextToVideoTool',
    'modelscope_image-chat': 'ImageChatTool',
    'modelscope_speech-generation': 'TexttoSpeechTool',
    'amap_weather': 'AMAPWeather',
    'code_interpreter': 'CodeInterpreterJupyter',
    'wordart_texture_generation': 'WordArtTexture',
    'web_search': 'WebSearch',
    'web_browser': 'WebBrowser',
    'qwen_vl': 'QWenVL',
    'style_repaint': 'StyleRepaint',
    'get_test_url': 'GetTestUrl',
}

重启服务看下效果

image.png 完工~


作者:suzumiyahr
链接:https://juejin.cn/spost/7317252368546054184
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

标签:url,max,tool,modelscope,agent,text,test,import
From: https://www.cnblogs.com/suzumiyahr/p/17932816.html

相关文章

  • std::max、std::min error C2589: “(”:“::”右边的非法标记,error C2059: 语法错误:
    个人采用方案三解决问题。在VC++种同时包含头文件#include<windows.h>和#include<algorithm>后就会出现无法正常使用std标准库中的min和max模板函数,经过查阅发现这是因为在Windows.h种也有min和max的定义,这样就导致了algorithm中的min和max无法正常使用,这里给出两种解决方案,来......
  • 清华提出全新代理注意力范式:Softmax注意力与线性注意力的优雅融合
    前言 来自清华大学的研究者提出了一种新的注意力范式——代理注意力(AgentAttention)。本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最......
  • 39.android maxim 遍历测试工具
    maxim介绍 AnefficientAndroidMonkeyTester,availableforemulatorsandrealdevices基于遍历规则的高性能AndroidMonkey,适用于真机/模拟器的APPUI压力测试maximquickstart cdMaximadbpushframework.jar/sdcardadbpushmonkey.jar/sdca......
  • 关于SAP-DB-服务器组-创建SAPHanaTopology-资源报错-Unable to find agent SAPHanaTop
    SAPHanaTopology资源收集每个节点上的SAPHANA系统复制的状态和配置。为配置以下属性SAPHanaTopology。运行以下命令来创建SAPHANATopology资源:笔者在SAP-DB-服务器组-pacemaker集群中,创建SAPHanaTopology资源时,使用如下命令:[root@db01qq-5201351]#pcsresourcecreate......
  • 使用 GPT4V+AI Agent 做自动 UI 测试的探索
    一、背景从Web诞生之日起,UI自动化就成了测试的难点,到现在近30年,一直没有有效的手段解决WebUI测试的问题,尽管发展了很多的webdriver驱动,图片diff驱动的工具,但是这些工具的投入产出比一直被质疑,自动化率越多维护成本越高,大部分都做着就放弃了,还有一部分在做与不做间纠结......
  • 无涯教程-PostgreSQL - MAX函数
    PostgreSQLMAX函数用于在记录集中找出最大值的记录。要了解MAX函数,请将表 COMPANY 记录为跟随-testdb#select*fromCOMPANY;id|name|age|address|salary----+-------+-----+-----------+--------1|Paul|32|California|200002|Learn......
  • MaxQuant
    1、输入文件准备要求有肽段文件跟相应的命名文件肽段文件: 命名文件:命名文件包含三列,第一列为肽段文件名,第二列为从肽段文件名中提取的样本名,要求唯一,第三列为Fraction列,这一列值可以为空。三列命名为:NameExperimentFraction 2、向MaxQuant导入文件导入文件注意:当肽段......
  • EM(Expectation-Maximum)算法
    EM算法简介EM算法的核心分为两步E步(Expection-Step)M步(Maximization-Step)因为在最大化过程中存在两个参量,其中若知道,则知道;若知道,则知道。且两个量未存在明显的关系,但又互相依存可以采用EM算法其中主要思想为:首先随机初始化参数然后求的在参数下按照极大似然估计求得参数然后根据参......
  • codeblock快捷键+VS code快捷键+DW_minmax文件+莱文斯坦距离+char* 和 char[]区别+可
    codeblock快捷键ctrl+G跳转。ctlr+J生成补全。cygwin用于获得开发环境。注意安装路径要对,特殊字符路径和codeblocks不兼容。codeblock返回上一处:点击光标即可。VScode快捷键ShiftAltF:vscode格式化代码CtrlShiftO:打开函数列表CtrlP:快速打开文件,或者跳到指定行Esc......
  • 最大工作频率为32MHz,R7F100GPL2DFA、R7F100GPL3CFA低功耗MCU,10M08SAU169C8GGB MAX® 1
    一、RL78/G23 新一代RL78微控制器,最大工作频率为32MHz,外围功能得到进一步扩展,低功耗性能也有所提升。RL78/G23微控制器是RL78系列的新一代产品,CPU工作时的功耗为41μA/MHz,STOP(保持4KBSRAM)时的功耗为210nA,其低功耗在业内首屈一指。此外,由于采用SNOOZE模式定序器,它还能大幅度减少......