Se você tiver ferramentas configuradas no Application Assistant e quiser usá-las como plug-ins para modelos de fala grandes (por exemplo, ChatGPT, etc.), poderá usar o seguinte método.
preliminar
1 Coleta de idiomas para registro/loginIAconta on-line
- Endereço de registro/login:https://chat.jijyun.cn
2 Criar um assistente de aplicativo

3 Selecione a ferramenta a ser usada


A gama completa de aplicativos atualmente suportados pelo Tiburon Cloud pode ser visualizada no Tiburon Cloud Application Centre (https://www.jijyun.cn/apps/).
4 Configuração da autorização do aplicativo, configurações de campo
4.1 Descrição da intenção da ação
A descrição da intenção da ação informa à IA para que serve essa ferramenta e como usá-la. Em geral, o modelo de IA consultará a descrição aqui para usar essa ação.
Dicasdica::
如果有多个工具共同使用时,可以设置多个工具之间要如何协作。 比如我们添加了一个“发票验真”应用工具,正常来说工具接口需要用户传递发票参数验证是否为真发票,但是有使用用户会直接发送一个发票截图做验证,这时需要先使用另外一个工具“集简云OCR”对发票图片内容提取后再使用。
因此,我们在发票验真工具中的动作意图描述添加了:“检验发票是否为真发票,如果收到的是文件URL可以先使用”集简云OCR”功能进行提取文件中的文字部分后再执行”。

4.2 Configurações de autorização do aplicativo
Se a ferramenta que você selecionou for um aplicativo que requer autorização, primeiro preencha a autorização da conta. Se a ferramenta for um aplicativo que não requer autorização, como o aplicativo integrado "Business Enquiry", você não precisará adicionar a autorização.

Se precisar adicionar um aplicativo autorizado, você precisará preencher os parâmetros de autorização ao adicionar uma autorização de conta. Informaremos como obter esses parâmetros na tela de autorização, incluindo documentação de autorização e vídeos instrutivos.

4.3 Configurações de campo
Configuração da seção de configurações de campo

-
- Correspondência automática de IA: o valor desse campo é gerado automaticamente pela IA com base no conteúdo do diálogo
-
- Seleção manual: não é necessária nenhuma seleção de IA, use os valores padrão
-
- Não usar este campo: geralmente um tipo de parâmetro opcional, que não é usado quando a interface é executada
Dicasdica
Abaixo de cada campo há uma linha de instruções de ajuda que você pode modificar para informar à IA como preencher o campo, como o formato da entrada do campo, etc.

5 Obtenção de parâmetros de autorização para chamadas de interface de API
-
- <
- Clique na seção "Integration" (Integração) do App Assistant, localize a integração "API Interface" e clique nela.

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

OpenAI Método de configuração do assistente
Você pode criar interfaces para usar a ferramenta configurada como uma função usando o OpenAI's Assistant, veja o código abaixo:
1 Pré-condições:
-
- Openai API_KEY foi obtido.
-
- Registro bem-sucedido de uma conta de IA
-
- Etapa 1: crie uma configuração de integração de API na plataforma Language Gathering AI (https://chat.jijyun.cn/) para obter a APIKey.
-
- Etapa 2: Chame a interface [Query the list of currently actionable actions for the specified account] para obter a lista de ferramentas inteligentes.
-
- Etapa 3: Chame o openai para criar uma interface de assistente de IA (você também pode usar o SDK fornecido pelo openai), consulte a documentação: https://platform.openai.com/docs/api-reference/assistants/createAssistant
2 Código de amostra de demonstração:
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
Métodos de configuração de GPTs da OpenAI
O GPTs é um assistente inteligente de IA da OpenAI que permite criar e compartilhar a funcionalidade dos GPTs. Você pode configurar as ferramentas de aplicativos do Tiburon Cloud como ações disponíveis nos GPTs, adicionando a capacidade de usar vários aplicativos do Tiburon Cloud aos seus GPTs.
1 apresentação de vídeo
Temporariamente incapaz de exibir este conteúdo fora do documento do Flying Book
(As informações de autorização da chave de API no vídeo foram removidas; use sua chave de API real para a configuração)

2 Notas de orientação de configuração (instruções)

Exemplo de uma nota de orientação onde:
-
- Regras. O conteúdo pode ser modificado
-
- Ação necessáriaAs peças precisam ser ajustadas dependendo da ação do aplicativo que você deseja usar. Não é recomendável manter o conteúdo original para modificação
-
- InstruçõesAlgumas delas precisam manter seu formato e conteúdo atuais. Ajuste as ações que você pode realmente usar
Exemplo:
Regras.
- sua resposta use o chinês o máximo possível
Instruções para a ação personalizada do IZP.
Etapa 1: diga ao usuário que você está verificando se ele tem as ações de IA do Hibernate Cloud necessárias para concluir a solicitação, chamando /list_available_actions/ para criar uma lista: AVAILABLE ACTIONS. Dada a saída, verifique se a AÇÃO_REQUERIDA necessária está nas AÇÕES DISPONÍVEIS e se a AÇÃO_REQUERIDA está na lista de AÇÕES DISPONÍVEIS. continuar 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
dentro do camporesults
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:
- Ação: Robô do grupo WeChat da empresa: Enviar mensagem para os grupos WeChat da empresa
- Ação: Qixinbao: consulta de informações fotográficas comerciais para empresas
- Action:AI Image Generation: Criação de imagens (Inserção de texto para gerar imagens)
Em Required Action (Ação necessária), o nome da ação do aplicativo que você deseja usar nesses GPTs. Consulte o nome do aplicativo e a ação no assistente de aplicativo.

3 Adição de uma ação

Copie o conteúdo abaixo para o esquema. Não modifique o conteúdo do esquema abaixo, pois isso resultará em problemas de falha na chamada
{
"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_v2/": {
"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 data. You will include associated params from list_available_actions in the data 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.jijyun.cn/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 data as possible. This type of action allows optionally setting preview_only if the user wants to preview before running.",
"type": "object",
"properties": {
"data": {
"title": "Data",
"description": "The params we used / will use to run the action",
"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": [
"data"
]
}
},
"securitySchemes": {
"AccessPointApiKeyHeader": {
"type": "apiKey",
"in": "header",
"name": "Authorization"
}
}
}
}
4 Configuração do método de autorização e da chave de API

Selecione o método de autorização da API
Selecione "Custom" (Personalizado) em Auth Type (Tipo de autenticação) e adicione a chave de API que você obteve na configuração de integração da API do App Helper.

-
- API Key:填写您在”准备工作:步骤5”中获取的API Key
-
- Nome do cabeçalho personalizado: preencha Autorização
Exemplo:

5 Testar e liberar GPTs

Os GPTs serão atualizados automaticamente quando a configuração for concluída e, em seguida, clique em Save (Salvar) para definir o escopo de uso.
Salve-o e comece a usar seus GPTs oficialmente:

problemas comuns
Q1: Há alguma taxa para esse serviço?
Se você estiver fazendo chamadas a partir de um modelo de linguagem, como GPTs, os parâmetros de solicitação gerados pela IA chamam diretamente a interface de ação do aplicativo Tiburon Cloud, que atualmente é totalmente gratuita.
No entanto, alguns dos aplicativos integrados do Tibbo Cloud, como consulta de informações comerciais, consulta de informações de licitação, etc., são pagos com base no uso. Os preços podem ser encontrados no centro de plugins do Tibbo Cloud: https://apps.jijyun.cn/plugcenter
Além disso, há um limite para a frequência das solicitações de API. O padrão atual é de 20 solicitações por segundo (20 QS). Se precisar de uma frequência de solicitação maior, entre em contato conosco.
P2: Há suporte para uso em arquiteturas de modelo LLM, como Langchain?
Suporte, apresentaremos um documento separado sobre
P3: O que devo fazer se o aplicativo com o qual desejo interagir não estiver na lista de aplicativos já interagidos com o Tibbo Cloud?
您可以在应用助手的工具中,配置“Webhook”,请求您的软件的接口,自定义动作描述

Se desejar disponibilizar a interface do seu aplicativo para todos os usuários, você poderá enviar seu aplicativo e configurar a interface de autenticação e execução por meio da Tiburon Cloud Open Platform. Para obter mais informações: https://jijyun.cn/open.html
P4: Posso chamar o "Application Assistant" diretamente em vez de GPTs ou Function?
É possível, pois o próprio assistente de aplicativo também fornece a forma de chamada da interface API. Você pode consultar nossa documentação de interface: https://yuju2023.apifox.cn/api-95488292
Q5: E se eu tiver meu próprio conteúdo de conhecimento que desejo usar como ferramenta?
Os GPTs suportam o upload de arquivos, mas com limites de tamanho e custos de armazenamento (por dia). Oferecemos uma maneira melhor de lidar com isso. Primeiro, você pode fazer o upload por meio do Centro de conhecimento do Language Gathering AI e, em seguida, adicionar "Language Gathering AI: Query Knowledge Content" como uma ferramenta a ser usada na ferramenta.

Q6 Por que meus GPTs não podem ser publicados?
Para publicar seus GPTs na disponibilidade para vários jogadores, você precisa adicionar um URL de política de privacidade.

Você precisará encontrar um documento on-line acessível publicamente ou sua própria página da Web para adicionar uma política de privacidade, e fornecemos exemplos de referências:
Exemplo de política de privacidade de GPTs
Q7 Quais aplicativos e ações são suportados atualmente para acesso?
Você pode dar uma olhada no site: https://www.jijyun.cn/apps/