集简云教学 数据表教学 应用教学 开放平台 用户社区 语聚AI
打开导航
首页 > 开放平台 > 语聚AI > GPTs 与 Function Call调用方法
GPTs 与 Function Call调用方法

如果您在应用助手中配置了工具,并希望将这些工具作为插件给大语音模型使用(例如ChatGPT等),您可以使用以下方法。

 

准备工作

 

1 注册/登录语聚AI账户

 

注册/登录地址:https://chat.jijyun.cn

 

2 创建一个应用助手

 

3 选择要使用的工具

 

 

集简云目前可以支持的全部应用,可以在 集简云应用中心查看:(https://www.jijyun.cn/apps/)

4 配置应用授权,字段设置

 

4.1 动作意图描述

 

动作意图描述可以告诉AI这工具是做什么用的,如何使用。一般AI模型会参考这里说明使用此动作。

 

Tips小技巧

 

如果有多个工具共同使用时,可以设置多个工具之间要如何协作。 比如我们添加了一个“发票验真”应用工具,正常来说工具接口需要用户传递发票参数验证是否为真发票,但是有使用用户会直接发送一个发票截图做验证,这时需要先使用另外一个工具“集简云OCR"对发票图片内容提取后再使用。

因此,我们在发票验真工具中的动作意图描述添加了:“检验发票是否为真发票,如果收到的是文件URL可以先使用”集简云OCR"功能进行提取文件中的文字部分后再执行”。

 

4.2 应用授权设置

 

如果您选择的工具,是一个需要授权的应用软件,首先完成账户授权。如果是无需授权的应用软件,比如集简云内置的“工商查询” 则无需添加授权。

 

 

如果需要添加授权的应用,在添加账户授权时需要填写授权参数。我们在授权界面会告知如何获取这些参数,包括授权文档和教学视频。

 

4.3 字段设置

 

字段设置部分配置

 

 

AI自动匹配:该字段值由AI根据对话内容自动生成

手动选择:不需要AI选择,使用默认值

不使用这个字段:一般为选填类型的参数,接口执行时不使用这个参数

 

Tips小技巧

每次字段下面有一行帮助说明,您可以修改这个帮助信息告知AI要如何填写这个字段,比如字段输入的格式是什么样子等。

 

5 获取API接口调用授权参数

 

  • 点击应用助手的“集成”栏,找到“API接口”集成,并点击

 

 

  • 点击"新增”获取APIkey, 此参数将由于后续调用时的接口授权

 

OpenAI Assistant 配置方法

 

您可以使用OpenAI的Assistant创建接口,将配置的工具作为Function使用,请参考下面代码:

 

1 前置条件:

 

1.已经获得openai API_KEY

2.已经成功注册语聚AI账户

  • 步骤一:在语聚AI(https://chat.jijyun.cn/) 平台创建API集成配置,获取APIKey。
  • 步骤二:调用【查询指定账户当前可操作的动作列表】接口,获取智能工具列表。
  • 步骤三:调用openai创建AI助手接口(也可以使用openai提供的SDK),参考文档:https://platform.openai.com/docs/api-reference/assistants/createAssistant

2 Demo示例代码:

 

import requests
import json
openai_key = '替换成你的openai API_KEY'
jijyun_key = '替换成你的语聚AI API集成中的APIKey'
openai_service = "https://api.openai.com"
jijyun_service = "https://chat.jijyun.cn"
def get_jijyun_aitions():
    '''获取集简云AI action列表'''
    headers = {
        'Authorization': f'Basic {jijyun_key}',
    }
    response = requests.request(
        "GET", f"{jijyun_service}/v1/openapi/exposed", headers=headers)
    if response.status_code == 200:
        return response.json().get('results')
def jijyun_aitions_2_openai_tools(actions):
    ''''''
    tools = []
    if not actions:
        return tools
    for action in actions:
        tools.append({
            "type": "function",
            "function": {
                    "name": action.get('operation_id'),
                    "description": action.get('description'),
                    "parameters": action.get('params'),
            }
        })
    return tools
def createAssistant():
    '''创建AI助手'''
    actions = get_jijyun_aitions()
    tools = jijyun_aitions_2_openai_tools(actions)
    payload = json.dumps({
        "instructions": "You are a helpful AI assistant.", // 可自定义指导说明
        "name": "My First assistant",
        "tools": tools,
        "model": "gpt-4" //可自定义您的模型,目前集简云应用执行在GPT3.5即可顺畅运行,速度快价格低
    })
    headers = {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer $OPENAI_API_KEY',
        'OpenAI-Beta': 'assistants=v1',
        'Authorization': f'Bearer {openai_key}',
    }
    response = requests.request(
        "POST", f"{openai_service}/v1/assistants", headers=headers, data=payload)
    print(response.text)
def main():
    createAssistant()
if __name__ == "__main__":
    main()
    pass

OpenAI GPTs 配置方法

 

GPTs是一个OpenAI的AI智能助手,您可以创建与分享您的GPTs功能。您可以将集简云的应用软件工具作为可使用的动作(Actions)配置到GPTs中,为您的GPTs增加使用各种集简云应用软件的能力。

1 视频演示

 

您可下滑至文章顶部查看视频演示

(视频中的API Key授权信息已经删除,请使用您的真实API Key进行配置)

 

2 配置指导说明(Instruction)

 

 

指导说明示例,其中:

  • Rules内容可以修改
  • Required_Action部分需要根据您要使用什么应用动作而进行调整。
  • Instructions部分需要保留目前的格式与内容。

 

示例:

 

Rules:

your response use Chinese as much as possible

Instructions for 集简云 Custom Action:

Step 1. Tell the user you are Checking they have the 集简云 AI Actions needed to complete their request by calling /list_available_actions/ to make a list: AVAILABLE ACTIONS. Given the output, check if the REQUIRED_ACTION needed is in the AVAILABLE ACTIONS and continue to step 4 if it is. If not, continue to step 2.

Step 2. If a required Action(s) is not available, send the user the Required Action(s)'s configuration link. Tell them to let you know when they've enabled the 集简云 AI Action.

Step 3. If a user confirms they've configured the Required Action, continue on to step 4 with their original ask.

Step 4. Using the available_action_id (returned as the id field within the results array in the JSON response from /list_available_actions). Fill in the strings needed for the run_action operation. Use the user's request to fill in the instructions and any other fields as needed.

REQUIRED_ACTIONS:

Action: 企业微信群机器人:发送消息到企业微信群中

Action: 启信宝:查询企业工商照面信息

Action:AI图像生成:创建图片(输入文本生成图像)

 

其中Required Action中时您要在此GPTs中可以使用的应用动作名称,请与应用助手中的应用名称与动作

 

3 添加动作 (Action)

 

{"openapi":"3.0.2","info":{"title":"集简云 AI Actions for GPT (Dynamic)","version":"1.0.0","description":"Equip GPTs with the ability to run thousands of actions via 集简云."},"servers":[{"url":"https://chat.jijyun.cn"}],"paths":{"/v1/openapi/exposed":{"get":{"operationId":"list_available_actions","summary":"List Available Actions","parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableActionResponseSchema"}}}}},"description":"List all the currently available actions for the user. If you try to run an action and receive an error\n that it does not exist, try refreshing this list first.","security":[{"AccessPointApiKeyHeader":[]}]}},"/v1/openapi/exposed/{available_action_id}/execute/":{"post":{"operationId":"run_action","summary":"Run Action","parameters":[{"in":"path","name":"available_action_id","schema":{"title":"Available Action Id","type":"string","pattern":".*_jjyibotID_.*","example":"62_326_jjyibotID_jjy_robot_1001"},"required":true,"example":"62_326_jjyibotID_jjy_robot_1001"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"description":"Run an available action using plain english instructions. You may also include associated params from list_available_actions in the body of the request.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunRequest"}}},"required":true},"security":[{"AccessPointApiKeyHeader":[]}]}}},"components":{"schemas":{"AvailableActionSchema":{"title":"AvailableActionSchema","type":"object","properties":{"id":{"title":"Id","description":"The unique ID of the available action.","type":"string"},"operation_id":{"title":"Operation Id","description":"The operation ID of the available action.","type":"string"},"description":{"title":"Description","description":"Description of the action.","type":"string"},"params":{"title":"Params","description":"Available hint fields for the action.","type":"object"}},"required":["id","operation_id","description","params"]},"AvailableActionResponseSchema":{"title":"AvailableActionResponseSchema","type":"object","properties":{"results":{"title":"Results","type":"array","items":{"$ref":"#/components/schemas/AvailableActionSchema"}},"configuration_link":{"title":"Configuration Link","description":"Guide the user to setup new actions with the configuration_link. You can optionally add ?setup_action=... onto configuration_link to set up a specific 集简云 app and action For example: https://actions.zapier.com/gpt/start?setup_action=gmail find email","type":"string"}},"required":["results","configuration_link"]},"RunResponse":{"title":"RunResponse","description":"This is a summary of the results given the action that was run.","type":"object","properties":{"id":{"title":"Id","description":"The id of the run log.","type":"string"},"action_used":{"title":"Action Used","description":"The name of the action that was run.","type":"string"},"input_params":{"title":"Input Params","description":"The params we used / will use to run the action.","type":"object"},"review_url":{"title":"Review Url","description":"The URL to run the action or review the AI choices the AI made for input_params given instructions.","type":"string"},"result":{"title":"Result","description":"A trimmed down result of the first item of the full results. Ideal for humans and language models!","type":"object"},"additional_results":{"title":"Additional Results","description":"The rest of the full results. Always returns an array of objects","type":"array","items":{"type":"object"}},"result_field_labels":{"title":"Result Field Labels","description":"Human readable labels for some of the keys in the result.","type":"object"},"status":{"title":"Status","description":"The status of the action run.","default":"success","enum":["success","error","empty","preview"],"type":"string"},"error":{"title":"Error","description":"The error message if the action run failed.","type":"string"},"assistant_hint":{"title":"Assistant Hint","description":"A hint for the assistant on what to do next.","type":"string"},"full_results":{"title":"Full Results","description":"The full results, not summarized, if available. Always returns an array of objects.","type":"array","items":{"type":"object"}}},"required":["id","action_used","input_params","review_url","additional_results","full_results"]},"ErrorResponse":{"title":"ErrorResponse","type":"object","properties":{"error":{"title":"Error","description":"Error message.","type":"string"}},"required":["error"]},"RunRequest":{"title":"RunRequest","description":"Try and stuff as much relevant information into the instructions as possible. Set any necessary AvailableActionSchema params. This type of action allows optionally setting preview_only if the user wants to preview before running.","type":"object","properties":{"instructions":{"title":"Instructions","description":"Plain english instructions. Provide as much detail as possible, even if other fields are present.","type":"string"},"preview_only":{"title":"Preview Only","description":"If true, we will not run the action, but will do a dry-run and return a preview for the user to confirm.","default":false,"type":"boolean"}},"required":["instructions"]}},"securitySchemes":{"AccessPointApiKeyHeader":{"type":"apiKey","in":"header","name":"Authorization"}}}}

4 配置授权方式与API Key

 

 

选择API授权方式

在Auth Type中选择 “Custom” 并将您在应用助手API集成配置中获取的API Key添加进来

 

5 测试并发布GPTs

 

 

配置完成后GPTs将自动更新,然后点击保存,设置使用范围。

保存后即可开始正式使用您的GPTs了:

 

常见问题

 

Q1: 这个服务目前是否收费?

 

如果您是通过GPTs等语言模型调用,由AI生成请求参数直接调用集简云的应用动作接口,目前是完全免费的.

但是, 部分集简云的内置应用比如:工商信息查询,招标信息查询等是按使用量付费的。价格可以在集简云的插件中心查看:https://apps.jijyun.cn/plugcenter

另外API请求有频率限制,目前默认为 20次请求每秒(20 QS), 如果您需要更大的请求频率,可以联系我们。

Q2: 是否支持在Langchain等LLM模型架构中使用?

 

支持,我们会单独出一个文档说明

Q3: 如果要对接的应用软件不在集简云已对接的列表里怎么办?

 

您可以在应用助手的工具中,配置“Webhook",请求您的软件的接口,自定义动作描述

 

 

如果您希望将您的应用软件接口提供给全部用户使用,可以通过集简云开放平台,提交您的应用,并配置鉴权与执行接口。详见:https://jijyun.cn/open.html

 

Q4: 如果我不想通过GPTs或者Function,而是直接调用“应用助手”是否可以?

 

可以,应用助手本身也提供了API接口调用方式。可参考我们的接口文档:https://yuju2023.apifox.cn/api-95488292

Q5:如果我有自有的知识内容,希望作为工具使用,如何处理?

 

GPTs支持上传文件,但有大小限制,和存储费用(按天计算)。 我们提供了更好的处理方式。您可以先通过语聚AI的知识中心上传,然后在工具中添加 “语聚AI:查询知识内容”作为一个工具使用。

 

本篇目录
  • 准备工作
  • 1 注册/登录语聚AI账户
  • 2 创建一个应用助手
  • 3 选择要使用的工具
  • 4 配置应用授权,字段设置
  • 4.1 动作意图描述
  • 4.2 应用授权设置
  • 4.3 字段设置
  • 5 获取API接口调用授权参数
  • OpenAI Assistant 配置方法
  • 1 前置条件:
  • 2 Demo示例代码:
  • OpenAI GPTs 配置方法
  • 1 视频演示
  • 2 配置指导说明(Instruction)
  • Rules:
  • Instructions for 集简云 Custom Action:
  • 3 添加动作 (Action)
  • 4 配置授权方式与API Key
  • 5 测试并发布GPTs
  • 常见问题
  • Q1: 这个服务目前是否收费?
  • Q2: 是否支持在Langchain等LLM模型架构中使用?
  • Q3: 如果要对接的应用软件不在集简云已对接的列表里怎么办?
  • Q4: 如果我不想通过GPTs或者Function,而是直接调用“应用助手”是否可以?
  • Q5:如果我有自有的知识内容,希望作为工具使用,如何处理?