EverMemOS 访问外部API接口
📋 概述
- EverMemOS 通过调用 外部大模型API 服务,实现evermemos内部业务响应,请求三方接口详情
✅ 目标接口
| 接口 |
功能 |
输入格式 |
输出格式 |
POST /v1/chat/completions |
大语言模型对话 |
Chat Completions 格式 |
Chat 格式 |
POST /v1/reranker |
文档重排序 |
Rerank Service 统一请求格式 |
统一响应格式(含 rank) |
POST /v1/embeddings |
文本向量化 |
Vectorize Service 请求格式(支持 is_query) |
Embedding 格式 |
详细接口说明
1. /v1/chat/completions
功能描述
生成基于输入消息的聊天响应,使用配置的 LLM 引擎。
请求参数
| 参数名 |
类型 |
是否必需 |
默认值 |
描述 |
model |
string |
否 |
None |
模型名称 |
messages |
array of object |
否 |
None |
聊天消息列表,每个消息包含 role 和 content 字段 |
temperature |
float |
否 |
0.7 |
生成温度,控制输出随机性 |
max_tokens |
integer |
否 |
1024 |
最大生成 token 数 |
stream |
boolean |
否 |
false |
是否流式输出 |
response_format |
object |
否 |
None |
响应格式 |
请求示例
json
复制代码
{
"model": "qwen-7b",
"messages": [
{
"role": "user",
"content": "你好,请介绍一下自己"
}
],
"temperature": 0.7,
"max_tokens": 512
}
响应结构
| 字段名 |
类型 |
描述 |
id |
string |
响应 ID |
object |
string |
对象类型,固定为 "chat.completion" |
created |
integer |
创建时间戳 |
model |
string |
使用的模型名称 |
choices |
array of object |
响应选项列表 |
choices[].index |
integer |
选项索引 |
choices[].message |
object |
包含 role 和 content 的消息对象 |
choices[].finish_reason |
string |
完成原因 |
usage |
object |
令牌使用情况 |
usage.prompt_tokens |
integer |
提示令牌数 |
usage.completion_tokens |
integer |
完成令牌数 |
usage.total_tokens |
integer |
总令牌数 |
响应示例
json
复制代码
{
"id": "chatcmpl-abcdef123456",
"object": "chat.completion",
"created": 1689123456,
"model": "qwen-7b",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是一个基于 Qwen 模型的 AI 助手,很高兴为你服务。请问有什么我可以帮助你的吗?"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 10,
"completion_tokens": 25,
"total_tokens": 35
}
}
2. /v1/embeddings
功能描述
生成文本的嵌入向量,可用于文本相似度计算、检索等任务。
请求参数
| 参数名 |
类型 |
是否必需 |
默认值 |
描述 |
input |
array of string |
否 |
None |
要生成嵌入的文本列表 |
model |
string |
否 |
"dengcao/Qwen3-Embedding-0.6B" |
模型名称 |
encoding_format |
string |
否 |
"float" |
编码格式 |
dimensions |
integer |
否 |
1024 |
嵌入维度 |
is_query |
boolean |
否 |
false |
是否为查询文本 |
请求示例
json
复制代码
{
"input": ["人工智能的发展历程", "机器学习的基本原理"],
"model": "dengcao/Qwen3-Embedding-0.6B",
"is_query": false
}
响应结构
| 字段名 |
类型 |
描述 |
object |
string |
对象类型,固定为 "list" |
data |
array of object |
嵌入数据列表 |
data[].object |
string |
数据对象类型,固定为 "embedding" |
data[].embedding |
array of float |
嵌入向量 |
data[].index |
integer |
索引 |
model |
string |
使用的模型名称 |
usage |
object |
使用情况 |
usage.prompt_tokens |
integer |
提示令牌数 |
usage.total_tokens |
integer |
总令牌数 |
响应示例
json
复制代码
{
"object": "list",
"data": [
{
"object": "embedding",
"embedding": [0.123, 0.456, -0.789, ...],
"index": 0
},
{
"object": "embedding",
"embedding": [0.987, -0.654, 0.321, ...],
"index": 1
}
],
"model": "dengcao/Qwen3-Embedding-0.6B",
"usage": {
"prompt_tokens": 2,
"total_tokens": 2
}
}
错误处理
| 状态码 |
描述 |
| 500 |
内部服务器错误,返回错误详情 |
3. /v1/reranker
功能描述
根据查询对文档列表进行重排序,返回按相关性排序的结果。
请求参数
| 参数名 |
类型 |
是否必需 |
默认值 |
描述 |
query |
string |
否 |
None |
查询文本 |
documents |
array of string |
否 |
None |
文档列表 |
model |
string |
否 |
"dengcao/Qwen3-Reranker-0.6B" |
模型名称 |
instruction |
string |
否 |
"Given a search query, retrieve relevant passages that answer the query" |
指令文本 |
请求示例
json
复制代码
{
"query": "人工智能的应用领域",
"documents": [
"人工智能在医疗领域的应用包括疾病诊断和药物研发",
"机器学习是人工智能的一个重要分支",
"人工智能在金融领域用于风险评估和欺诈检测",
"人工智能的发展历史可以追溯到上世纪50年代"
],
"model": "dengcao/Qwen3-Reranker-0.6B"
}
响应结构
| 字段名 |
类型 |
描述 |
results |
array of object |
排序结果列表 |
results[].index |
integer |
原始文档索引 |
results[].score |
float |
相关性分数 |
results[].rank |
integer |
排序 rank |
model |
string |
使用的模型名称 |
input_tokens |
integer |
输入令牌数 |
request_id |
string |
请求 ID |
响应示例
json
复制代码
{
"results": [
{
"index": 0,
"score": 0.95,
"rank": 0
},
{
"index": 2,
"score": 0.90,
"rank": 1
},
{
"index": 3,
"score": 0.75,
"rank": 2
},
{
"index": 1,
"score": 0.60,
"rank": 3
}
],
"model": "dengcao/Qwen3-Reranker-0.6B",
"input_tokens": 50,
"request_id": "uuid-123456"
}
✅ 3. 启动与测试
测试命令
Chat
bash
复制代码
curl -X POST http://xxx.xxx.xxx/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3:4b",
"messages": [{"role": "user", "content": "你好!"}]
}'
Embedding
bash
复制代码
curl -X POST http://xxx.xxx.xxx/v1/embeddings \
-H "Content-Type: application/json" \
-d '{
"input": ["这里太暗了"],
"is_query": true
}'
Reranker
bash
复制代码
curl -X POST http://xxx.xxx.xxx/v1/reranker \
-H "Content-Type: application/json" \
-d '{
"query": "这里太暗了",
"documents": ["请打开灯", "今天天气很好"]
}'