5.0 KiB
5.0 KiB
知识库问答助手测试总结
测试时间
2026-01-23 00:00
Agent信息
- 名称: 知识库问答助手
- ID:
45c56398-ad1d-4533-89e0-ba02f9c47932 - 状态: published(已发布)
- 节点数量: 10个
- 连接数量: 9条
工作流结构
- 开始节点 - 接收用户问题
- 问题预处理 - 整理输入数据
- 文本向量化 - HTTP节点调用DeepSeek embedding API
- 提取向量 - JSON节点提取embedding向量
- 准备搜索数据 - 合并向量和查询文本
- 知识库检索 - 向量数据库节点进行语义搜索
- 整理检索结果 - 合并搜索结果和查询
- 生成答案 - LLM节点基于检索结果生成答案
- 提取最终答案 - JSON节点提取最终文本
- 结束节点 - 返回答案
测试结果
测试输入
问题: 什么是人工智能?
执行状态
- 状态: failed(执行失败)
- 执行时间: 2240ms
- 执行ID:
e775395c-a306-4544-abaf-357c9245f56e
错误分析
1. HTTP节点调用embedding API失败
- 错误信息: "Not Found. Please check the configuration."
- 节点:
http-embedding - API URL:
https://api.deepseek.com/v1/embeddings - 模型:
deepseek-embedding - 问题: DeepSeek可能不支持embedding API,或者URL/模型名称不正确
2. 向量数据库节点无法获取查询向量
- 错误信息: "节点 vector-search 执行失败: 向量数据库操作失败: 无法获取查询向量"
- 节点:
vector-search - 原因: 由于embedding API调用失败,没有获取到向量数据
执行日志关键信息
[3] 2026-01-22 16:00:25 [INFO]
节点: http-embedding (http)
消息: 节点 http-embedding (http) 开始执行
[10] 2026-01-22 16:00:26 [ERROR]
节点: http-embedding (http)
消息: HTTP请求失败: 404
数据: {
"error_msg": "Not Found. Please check the configuration."
}
[11] 2026-01-22 16:00:26 [INFO]
节点: vector-search (vector_db)
消息: 节点 vector-search (vector_db) 开始执行
[13] 2026-01-22 16:00:26 [ERROR]
节点: (无) ((无))
消息: 工作流任务执行失败
错误: 节点 vector-search 执行失败: 向量数据库操作失败: 无法获取查询向量
问题根因
-
DeepSeek Embedding API不支持或配置错误
- DeepSeek可能不提供embedding API
- 或者需要使用不同的API端点/模型名称
- 需要验证DeepSeek是否支持embedding功能
-
缺少备选方案
- 当前工作流完全依赖embedding API
- 没有fallback机制处理API调用失败的情况
解决方案
方案1: 使用其他embedding服务
-
使用OpenAI Embedding API
- URL:
https://api.openai.com/v1/embeddings - 模型:
text-embedding-ada-002或text-embedding-3-small - 需要配置OpenAI API Key
- URL:
-
使用本地embedding模型
- 使用sentence-transformers等库
- 在服务器端运行embedding模型
- 通过HTTP节点调用本地服务
方案2: 简化工作流(用于测试)
-
跳过embedding步骤
- 直接使用文本关键词匹配
- 或者使用LLM节点进行语义理解
- 简化向量数据库的使用
-
使用预计算的向量
- 预先将知识库文档向量化
- 存储向量数据
- 查询时只需要搜索,不需要实时向量化
方案3: 修复DeepSeek配置
- 验证DeepSeek API文档
- 确认是否支持embedding
- 确认正确的API端点和模型名称
- 更新HTTP节点配置
下一步行动
-
验证DeepSeek Embedding API
- 查阅DeepSeek官方文档
- 测试API端点是否可用
- 确认模型名称是否正确
-
准备测试数据
- 创建知识库文档
- 将文档向量化并存储到向量数据库
- 使用
knowledge_base集合
-
修复或替换embedding节点
- 根据验证结果修复DeepSeek配置
- 或替换为其他embedding服务
- 或使用简化方案
-
重新测试
- 修复后重新执行测试
- 验证完整工作流是否正常
- 测试知识库检索和答案生成
测试命令
# 发布Agent
python3 publish_agent.py "知识库问答助手"
# 测试Agent
python3 test_workflow_tool.py -a "知识库问答助手" -i "什么是人工智能?"
# 查看执行日志
python3 check_execution_logs.py
相关文件
- Agent生成脚本:
backend/scripts/generate_knowledge_base_qa_agent.py - 测试工具:
test_workflow_tool.py - 日志查看工具:
check_execution_logs.py - 发布脚本:
publish_agent.py
注意事项
-
知识库数据准备
- 需要先准备知识库文档
- 文档需要向量化并存储
- 集合名称必须是
knowledge_base
-
API配置
- 确保embedding API可用
- 配置正确的API Key
- 验证API端点和模型名称
-
向量数据库
- 当前使用内存存储(简化实现)
- 生产环境应使用ChromaDB、Pinecone等
- 数据在服务重启后会丢失
测试完成时间: 2026-01-23 00:02 测试人员: AI Assistant