文档

LLM标准接口

更新时间:

实时工作流支持您按照规定的标准协议来接入自研大语言模型(LLM)。

自研LLM标准接口(OpenAI规范)

如果您的LLM接口符合OpenAI标准规范,您可以通过OpenAI标准的配置将您的自研LLM服务整合到工作流中。目前只支持以流式方式请求符合OpenAI规范的服务。

  1. 首先您需要LLM大语言模型节点中,选择自研接入(OpenAI规范),并配置以下参数:

名称

类型

必填

描述

示例值

ModelId

String

OpenAI标准model字段,表示模型名称

abc

API-KEY

String

OpenAI标准api_key字段,表示API鉴权信息

AUJH-pfnTNMPBm6iWXcJAcWsrscb5KYaLitQhHBLKrI

目标模型HTTPS地址

String

OpenAI标准base_url字段,表示目标服务请求地址

http://www.abc.com

  1. 在实时工作流运行期间,将按照以下格式,组装OpenAI标准数据,通过POST请求访问您配置的自研模型HTTPS地址,获取相应结果,输入参数如下:

名称

类型

描述

示例值

messages

Array

历史对话上下问,最多保留20条上下文记录,在数组中越靠前的位置,表示越早地提问或者回答。

[{'role': 'user', 'content': '今天天气怎么样?'},{'role': 'assistant', 'content': '今天天气晴朗。'},{'role': 'user', 'content': '明天天气晴怎么样?'}]

model

String

模型名称信息

abc

stream

Boolean

是否流式,目前只支持流式传输

True

extendData

Object

补充信息

{'instanceId':'68e00b6640e*****3e943332fee7','channelId':'123','userData':'{"aaaa":"bbbb"}'}

  • instanceId

String

实例ID信息

68e00b6640e*****3e943332fee7

  • channelId

String

房间ID信息

123

  • userData

String

启动实例时您传入的UserData业务字段数据

{"aaaa":"bbbb"}

自研LLM标准接口(阿里规范)

您需要实现一个公网可访问的HTTP服务,按照规定的输入输出规范,封装好您的大语言模型,即可在工作流中使用您自研的LLM服务。

  1. 首先您需要在编排管理控制台中的LLM 大语言模型节点中,配置以下参数:

名称

类型

必填

描述

示例值

自研模型HTTPS地址

String

自研模型HTTPS接口地址

https://www.abc.com

Token

String

服务校验令牌

AUJH-pfnTNMPBm6iWXcJAcWsrscb5KYaLitQhHBLKrI

  1. 在实时工作流运行期间,将按照以下格式,组装表单数据,通过POST请求访问您配置的自研模型HTTPS地址,获取相应结果,输入参数如下:

名称

类型

必填

描述

示例值

Message

String

历史对话上下问,最多保留20条上下文记录,在数组中越靠前的位置,表示越早地提问或者回答。

[{'role': 'user', 'content': '今天天气怎么样?'},{'role': 'assistant', 'content': '今天天气晴朗。'},{'role': 'user', 'content': '明天天气晴怎么样?'}]

Token

String

服务校验令牌

AUJH-pfnTNMPBm6iWXcJAcWsrscb5KYaLitQhHBLKrI

ExtendData

String

提交自定义LLM拓展信息字段,会包含实例ID,以及启动实例时您传入的UserData业务字段数据。

{

"InstanceId": "68e00b6640e*****3e943332fee7",

"UserData": "{\"aaaa\":\"bbbb\"}"

}

  1. 响应参数您需要组装成JSON返回给编排服务,参数如下:

名称

类型

必填

描述

示例值

Text

string

LLM大模型响应文本

“今天天气晴朗。”

示例如下:

{
	"Text": "你好,我是您的人工智能助手。"
}

自定义LLM(阿里规范) Server

Python

import json
from aiohttp import web


async def handle(request):
    data = await request.post()
    message = data.get('Message', "")
    token = data.get('Token', None)
    extend_data = data.get('ExtendData', "")
    print(f"message:{message}, token:{token}, extend_data:{extend_data}")
    # TODO:1. 校验Token是否合法
    # TODO:2. 处理Message获取LLM处理结果

    result = "你好,我是您的人工智能助手。"
    # 组装LLM节点期望结果
    resp = {
        "Text": result
    }
    return web.Response(text=json.dumps(resp))

app = web.Application()
app.add_routes([web.post('/', handle)])

if __name__ == '__main__':
    web.run_app(app)

相关文档

通过控制台创建实时工作流模板