手把手教你搭建coze插件

一、coze插件

插件算是 Coze Bot 中很常用工具,看着虽然不起眼,但是在 Bot 中也起着举足轻重的位置,Coze 插件简单来说就是一组根据需求获取外部数据的工具

目前 Coze 的插件商店中提供官方非官方两种,其实大多数应用场景中我们运用商店中的插件就已经能够满足,但对于个性化数据的获取却有一些麻烦,这就需要我们自己来自定义插件了。

自定义插件有两个类型:

1、基于已有服务的插件,意思是在已经发布了的插件中进行调试,常用于核心插件提供的数据内容不变,但输出的字段和格式有调整。

2、在Coze IDE中创建,这个选项意思是新创建一个插件,在Coze提供的IDE中进行编辑。

二、创建插件

第一种 - 基于已有服务的插件

     1、这里我们以OCR功能为例,本地开发OCR功能:

      这里具体代码以及模型选用,请转至我的另一篇文章

     

      好啦~ 这里我们已有发布云服务器后的接口地址

      

    2、接下来  让我们一起配置coze

(1)令牌的创建 

  • 扣子 
  • 授权方式-我这里是不需要授权

 (2)因为插件是不能工作的,所以我们要【创建工具】

         点击【确认】后,我们就进入到下面这个页面,点击【创建工具】

(3)注意:

       【工具名称】-- 英文名称,且后面会直接加入到请求URL中

       【工具描述】--  如果有到模型,是给模型的prompt,要写详细

(4)接下来就可以【编辑工具】

         填写我们接口需要的入参、以及传参的形式(相当于接口文档)

(5)编辑好后,我们就可以试运行了,只运行通过后才可以点击发布哦~

ENDING ~ ~

第二种 - 在Coze IDE中创建

 

(1)和上面一样,创建完插件以后还需要创建工具

(2)编写插件代码

         完成工具构建后,我们就可以进行插件代码编写了:     

代码详情:

import os
from openai import OpenAI
from typing import TypedDict
import json  # 添加导入json模块

class Input(TypedDict):
    api_key: str
    image_url: str

class Output(TypedDict):
    text: str
    error_message: str

def handler(args) -> Output:
    try:
        # 从输入参数中获取 API 密钥和图像 URL
        api_key = args.input.api_key
        image_url = args.input.image_url

        # 创建 OpenAI 客户端实例
        client = OpenAI(
            api_key=api_key,  # 使用传入的 API 密钥
            base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",  # 指定 Base URL
        )

        # 调用 qwen-vl-plus 模型进行图像识别
        completion = client.chat.completions.create(
            model="qwen-vl-plus",  # 模型名称
            messages=[{
                "role": "user",
                "content": [
                    {"type": "text", "text": "这是什么"},  # 提问,问图像内容
                    {"type": "image_url", "image_url": {"url": image_url}}  # 传入图像 URL
                ]
            }]
        )

        # 打印返回的内容,检查其结构
        result = completion.model_dump_json()
        print("Model response:", result)

        # 将返回的字符串转换为字典
        result_dict = json.loads(result)

        # 获取 content 内容
        text = result_dict.get("choices", [{}])[0].get("message", {}).get("content", "无法获取识别结果")

        return {"content": text}

    except Exception as e:
        return {"error_message": str(e)}  # 如果发生错误,返回错误信息

上述代码调用了阿里云百炼平台的 qwen-vl-plus 模型,识别传入图片的内容,并返回识别到的文字说明。

总的来说做了以下几件事:

  1. 从输入参数中提取 API 密钥和图像 URL;
  2. 使用这些参数创建 OpenAI 客户端,指定使用阿里云的兼容 API 地址;
  3. 调用 qwen-vl-plus 图像识别模型,请求包含一段文本“这是什么”和用户提供的图像;
  4. 将模型返回的 JSON 字符串解析成 Python 字典;
  5. 从返回结果中提取模型的回答内容(即 message.content)作为识别文本;
  6. 如果一切正常,返回识别出的内容;如发生错误,则返回错误信息。

 (3)编写完代码需要设置一下元数据信息(输入的参数信息):

置完元数据,在测试代码中输入测试数据就能进行插件测试了:

 (4)插件发布

当我们测试了插件没问题后就能对插件进行发布了,点击右上角发布按钮就能对插件进行发布操作,发布后的插件可以在本空间内使用:

如果要让别人可以使用你的插件,可以在插件商店上架你的插件,操作很简单,就不演示了

如果本文对你有帮助,请动动小手点点关注哦~ 

### 使用 Coze 框架构建网络爬虫或信息采集智能体 #### 一、Coze 的基本概念 Coze 是一种零代码工具,旨在帮助用户快速搭建智能化的信息处理流程。通过该平台,可以轻松创建自动化的工作流来完成诸如网页抓取、数据分析以及报告生成等任务[^1]。 #### 二、准备工作 在正式开始之前,需确认已注册并登录至 Coze 平台账户。此外还需了解目标网站的数据结构及其 API 接口(若有),以便更高效地设计数据提取逻辑。 #### 三、具体实现过程 ##### 1. 创建项目与定义目标 进入 Coze 后台界面,在新建页面填写必要的基本信息如名称描述等内容之后提交即可成功建立一个新的工程项目实例;随后明确本次操作意图——即开发一款专注于互联网资源获取的应用程序。 ##### 2. 配置数据源连接器 利用内置丰富的插件库选取适合当前场景使用的适配器组件,比如针对公开链接可以直接选用 HTTP 请求模块发起访问请求;而对于某些特殊站点则可能需要用到 Selenium 浏览器模拟驱动等方式加载动态渲染后的 HTML 文档片段再做进一步解析处理。 ```javascript const axios = require('axios'); async function fetchWebPage(url){ try { const response = await axios.get(url); console.log(response.data); // 输出HTML内容供后续分析使用 } catch (error) { console.error(error); } } fetchWebPage("https://example.com"); ``` 上述示例展示了如何借助 JavaScript 中流行的 Axios 库向指定地址发送 GET 方法调用从而获得远程服务器返回的结果集作为下一步筛选依据之一。 ##### 3. 设定过滤条件与字段映射关系 当接收到原始素材后,应当制定清晰的选择标准剔除无关干扰项只保留有价值的部分,并将其转换成易于理解的标准格式存储起来待以后检索查阅方便快捷。 ##### 4. 整合无监督学习方法增强功能表现力 为了使最终产物具备更强适应能力面对未知挑战时仍能保持良好性能水平,可考虑引入机器学习算法特别是非指导型训练机制下的聚类技术例如 K-Means 来识别潜在规律特征进而优化整体架构布局安排合理分配计算资源消耗比例达到最佳平衡状态效果显著提升工作效率减少人工干预次数频率降低运营成本开支预算压力减轻不少负担[^2]。 #### 四、测试验证阶段 完成后务必经过多轮严格检验确保各项指标均满足预期设定范围之内方可投入实际生产环境投入使用发挥最大效用价值所在之处体现出来。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值