跳到主要内容

数据流

本文档介绍 OpenHuman 的数据处理流程。

请求处理流程

用户请求 → API 网关 → 认证鉴权 → 请求验证

Agent Engine 处理

┌─────────────────┼─────────────────┐
↓ ↓ ↓
工具调用 知识检索 业务处理
↓ ↓ ↓
└─────────────────┼─────────────────┘

响应聚合

返回用户

详细步骤

1. 请求接收

API 网关接收来自客户端的请求:

POST /api/v1/agents/{agentId}/run
{
"message": "用户输入",
"context": {
"sessionId": "session_123",
"userId": "user_456"
}
}

2. 认证鉴权

验证请求的合法性:

  • 检查 API 密钥
  • 验证权限范围
  • 检查请求配额

3. Agent 处理

Agent Engine 执行核心逻辑:

async function processRequest(request) {
// 1. 理解用户意图
const intent = await understandIntent(request.message);

// 2. 规划执行步骤
const plan = await planActions(intent, agent.config);

// 3. 执行计划
const results = [];
for (const step of plan.steps) {
const result = await executeStep(step, request.context);
results.push(result);
}

// 4. 聚合结果
return aggregateResults(results);
}

4. 工具调用

根据需要调用外部工具:

// 搜索工具
const searchResult = await tools.webSearch({
query: 'OpenHuman 最新动态',
limit: 5,
});

// 计算工具
const calcResult = await tools.calculator({
expression: '100 * 2 + 50',
});

5. 知识检索

从向量数据库检索相关内容:

const relevantDocs = await memory.search({
query: request.message,
limit: 5,
threshold: 0.8,
});

6. 响应返回

将处理结果返回给用户:

{
"success": true,
"data": {
"message": "处理结果",
"metadata": {
"processingTime": 123,
"tokensUsed": 500
}
}
}

数据存储流程

用户数据 → ETL 处理 → 向量化 → 存储到向量数据库
→ 存储到关系数据库
→ 缓存热点数据

监控指标

指标描述
请求量每分钟请求数
响应时间平均处理延迟
成功率请求成功率
工具调用各工具使用频率

下一步