有没有办法让钉钉直接对接modelscope或者dashscope或者faas的大模型?

有没有办法让钉钉直接对接modelscope或者dashscope或者faas的大模型,就像slack-claude那样的?

展开
收起
陈幕白 2023-12-13 16:11:05 72 发布于江西 分享
分享
版权
举报
阿里云 AI 助理回答

要让钉钉直接对接ModelScope、DashScope或FaaS的大模型,类似于Slack与Claude的集成方式,可以通过阿里云提供的工具和服务实现。以下是详细的步骤和方法:


1. 创建大模型问答应用

首先需要在阿里云百炼平台创建一个大模型问答应用,并获取调用API所需的凭证。

  • 创建应用:登录百炼控制台,新增一个智能体应用,选择通义千问(如Qwen-Plus)作为基础模型,并设置人设。
  • 获取API凭证
    • 在应用列表中获取应用ID
    • 在个人设置中创建API-KEY,保存用于后续配置。

2. 创建钉钉应用

接下来,在钉钉开放平台上创建一个应用,为机器人提供服务支持。

  • 创建应用
    • 访问钉钉开放平台,创建一个新的应用,填写应用名称、描述并上传应用图标。
    • 在应用详情页面,复制Client IDClient Secret,这些信息将用于后续授权配置。
  • 创建消息卡片
    • 访问卡片平台,点击“新建模板”,填入模板信息并保存发布。
    • 复制生成的模板ID,用于后续连接流配置。
  • 授予发送卡片消息权限
    • 在应用详情页面的权限管理中,搜索并申请Card.Streaming.WriteCard.Instance.Write权限。

3. 创建钉钉连接流

通过阿里云AppFlow服务,将钉钉机器人与大模型应用关联起来。

  • 使用AppFlow模板创建连接流
    • 访问AppFlow控制台,选择预置模板,点击“立即使用”进入创建流程。
  • 配置账户授权
    • 填入钉钉应用的Client IDClient Secret,以及大模型应用的API-KEY
    • 如果需要,可以为每个凭证设置自定义名称。
  • 配置执行动作
    • 填写应用ID模板ID,完成配置后点击“下一步”。
  • 发布连接流
    • 复制生成的WebhookUrl,并点击“发布”以完成连接流的创建。

4. 配置钉钉机器人

在钉钉应用中配置机器人,使其能够接收用户消息并通过Webhook与大模型交互。

  • 配置机器人
    • 在钉钉应用详情页面,添加机器人功能。
    • 打开机器人配置开关,选择HTTP模式,并将之前生成的WebhookUrl填入“消息接收地址”。
    • 点击“发布”以完成机器人配置。
  • 测试机器人
    • 将机器人添加到钉钉群聊中,与机器人对话,验证其是否能够正常响应用户问题。

5. 对接ModelScope/DashScope/FaaS

为了实现钉钉与ModelScope、DashScope或FaaS的对接,可以利用以下方法:

5.1 使用DashScope API

DashScope是百炼平台提供的接口服务,支持调用大模型进行文本生成、知识检索等任务。

  • 安装依赖
    pip install llama-index-core
    pip install llama-index-llms-dashscope
    
  • 调用示例

    import os
    from llama_index.llms.dashscope import DashScope
    
    llm = DashScope(model_name="qwen-plus", api_key=os.getenv("DASHSCOPE_API_KEY"))
    response = llm.complete("帮我推荐一下江浙沪5天的旅游攻略。")
    print(response)
    

    通过上述代码,您可以直接调用DashScope API与大模型交互。

5.2 使用ModelScope

ModelScope提供了丰富的模型库,您可以通过其SDK加载模型并进行推理。

  • 安装依赖
    pip install modelscope
    
  • 调用示例

    from modelscope.pipelines import pipeline
    from modelscope.utils.constant import Tasks
    
    pipe = pipeline(Tasks.text_generation, model='damo/nlp_qwen-large')
    response = pipe("帮我推荐一下江浙沪5天的旅游攻略。")
    print(response)
    

5.3 使用FaaS

如果您希望通过函数计算(FaaS)调用大模型,可以将模型部署为函数服务,并通过HTTP请求调用。

  • 部署模型:将模型打包为函数服务,部署到阿里云函数计算平台。
  • 调用示例

    import requests
    
    url = "https://your-faas-endpoint"
    headers = {"Authorization": "Bearer your-api-key"}
    data = {"prompt": "帮我推荐一下江浙沪5天的旅游攻略。"}
    response = requests.post(url, json=data, headers=headers)
    print(response.json())
    

6. 注意事项

  • 消息接收模式必须选择HTTP模式,目前AppFlow仅支持HTTP模式,选择Stream模式会导致无法返回消息。
  • 权限管理:确保已正确申请Card.Streaming.WriteCard.Instance.Write权限,否则机器人无法发送卡片消息。
  • API-KEY安全:妥善保管API-KEY,避免泄露。

通过以上步骤,您可以成功将钉钉与ModelScope、DashScope或FaaS的大模型对接,实现类似Slack-Claude的功能。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

热门讨论

热门文章

还有其他疑问?
咨询AI助理