自主集成
基础AI功能包括:工作表字段建议、工作表自定义字段、工作流代码块自动生成、应用多语言智能翻译
HAP 中的基础 AI 功能默认基于 OpenAI ChatCompletion API 实现。以下是 OpenAI API 的基础信息:
- API 地址:
https://api.openai.com/v1/chat/completions
- 接口更多信息:请参阅 OpenAI 官方文档
HAP 产品默认调用 OpenAI ChatCompletion 接口,但在自主集成模式下,可以将其替换为兼容 OpenAI 的接口。
一、集成第三方兼容 OpenAI 的接口
通用配置方法
配置路径:系统配置 > 集成 > AI 服务 > 基础 AI 功能
选择“自主集成”类型并配置对应参数,如下图:
参数说明:
参数 | 说明 | 示例值 |
---|---|---|
请求地址 | 填写服务商兼容 OpenAI 的完整 API 路径 注意:请确保服务器与接口之间的网络连接正常。 | https://api.deepseek.com/v1/chat/completions |
模型名称 | 填写服务商提供的模型标识 | deepseek-chat |
key | 填写服务商提供的访问凭证 | sk-******************************** |
DeepSeek 集成示例
参数 | 示例值 |
---|---|
请求地址 | https://api.deepseek.com/v1/chat/completions |
模型名称 | deepseek-chat |
key | 从DeepSeek控制台获取的 API key |
阿里云百炼平台 集成示例
参数 | 示例值 |
---|---|
请求地址 | https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions |
模型名称 | qwen-plus |
key | 从阿里云百炼控制台获取的 API key |
Ollama 本地大模型集成示例
参数 | 示例值 |
---|---|
请求地址 | 一般为:{host}/v1/chat/completions 示例值: http://192.168.10.154:11434/v1/chat/completions |
模型名称 | deepseek-r1:32b |
key | 填写用于接口认证的 Key 值。若接口未启用 Key 认证,请填写任意非空字符串(如 example-key )。注意:Key认证用于验证请求的合法性,建议在实际使用中设置并填写正确的 Key 值,以确保接口的安全性。 |
二、自建兼容 OpenAI 的接口
需要开发者自主开发接口以 满足与 OpenAI ChatCompletion 接口相同的输入输出格式。最后在自主集成模式下,填写自建接口,确保自建接口输入输出与 OpenAI 保持一致即可。
请求头
HAP 向 OpenAI 发送请求时,需要在请求头中设置 Authorization
参数:
Authorization: Bearer $API_KEY
请求体
HAP 向 OpenAI 发送的请求体包括以下参数:
{
"model": "gpt-4o-mini", // 模型名称
"messages": [
{
"role": "developer", // 角色
"content": "You are a helpful assistant." // 内容
}
],
"temperature": 1, // 控制生成文本的随机性。值越高,生成的文本越随机
"top_p": 1, // 核心概率阈值。控制生成文本的多样性
"frequency_penalty": 0, // 对重复出现的词进行惩罚,减少重复
"presence_penalty": 0, // 对未出现过的词进行惩罚,增加新词出现的概率
"stream": false // 是否启用流式传输
}
返回值
HAP 接收 OpenAI 返回值仅使用到以下参数:
-
当 stream 为 false 时
{
"choices": [
{
"message": {
"content": "Full content" // 全量内容
}
}
]
} -
当 stream 为 true 时
{
"choices": [
{
"delta": {
"content": "Chunk content" // 内容块
}
}
]
}
示例代码
这里提供了一份基于百度 AI 的示例代码。
集成自建 OpenAI 兼容接口
接口开发完成并部署后,在 HAP 产品中 系统配置 > 集成 > AI服务 > 基础AI功能,类型选择自主集成,配置请求地址、模型名称和key,如下图: