docs/QA.md
docker compose logs -f app docreader postgres
# 启动服务
./scripts/start_all.sh
# 停止服务
./scripts/start_all.sh --stop
# 清空数据库
./scripts/start_all.sh --stop && make clean-db
通常是Embedding模型和对话模型没有正确被设置导致。按照以下步骤进行排查
.env配置中的模型信息是否配置完整,其中如果使用ollama访问本地模型,需要确保本地ollama服务正常运行,同时在.env中的如下环境变量需要正确设置:# LLM Model
INIT_LLM_MODEL_NAME=your_llm_model
# Embedding Model
INIT_EMBEDDING_MODEL_NAME=your_embedding_model
# Embedding模型向量维度
INIT_EMBEDDING_MODEL_DIMENSION=your_embedding_model_dimension
# Embedding模型的ID,通常是一个字符串
INIT_EMBEDDING_MODEL_ID=your_embedding_model_id
如果是通过remote api访问模型,则需要额外提供对应的BASE_URL和API_KEY:
# LLM模型的访问地址
INIT_LLM_MODEL_BASE_URL=your_llm_model_base_url
# LLM模型的API密钥,如果需要身份验证,可以设置
INIT_LLM_MODEL_API_KEY=your_llm_model_api_key
# Embedding模型的访问地址
INIT_EMBEDDING_MODEL_BASE_URL=your_embedding_model_base_url
# Embedding模型的API密钥,如果需要身份验证,可以设置
INIT_EMBEDDING_MODEL_API_KEY=your_embedding_model_api_key
当需要重排序功能时,需要额外配置Rerank模型,具体配置如下:
# 使用的Rerank模型名称
INIT_RERANK_MODEL_NAME=your_rerank_model_name
# Rerank模型的访问地址
INIT_RERANK_MODEL_BASE_URL=your_rerank_model_base_url
# Rerank模型的API密钥,如果需要身份验证,可以设置
INIT_RERANK_MODEL_API_KEY=your_rerank_model_api_key
ERROR日志输出当使用多模态功能时,如果遇到图片无法显示或显示无效链接的问题,请按照以下步骤排查:
在知识库设置中开启高级设置 - 多模态功能,并在界面中配置相应的多模态模型。
如果多模态功能配置使用的是 MinIO 存储,需要确保 MinIO 镜像已正确启动:
# 启动 MinIO 服务
docker-compose --profile minio up -d
# 或者启动完整服务(包括 MinIO、Jaeger、Neo4j、Qdrant)
docker-compose --profile full up -d
确保 MinIO 对应的 bucket 具有正确的读写权限:
http://localhost:9001(默认端口).env 中配置的 MINIO_ACCESS_KEY_ID 和 MINIO_SECRET_ACCESS_KEY 登录重要提示:
在 docker-compose.yml 文件中,MINIO_PUBLIC_ENDPOINT 变量默认配置为 http://localhost:9000。
重要提示:如果你需要从其他设备或容器访问图片,localhost 可能无法正常工作,需要将其替换为本机的实际 IP 地址:
重要提示:OCR_BACKEND=paddle 模式在部分平台上可能无法正常运行。如果遇到 PaddleOCR 启动失败的问题,请选择以下解决方案
在 docker-compose.yml 文件的 docreader 服务中删除 OCR_BACKEND 配置,然后重启 docreader 服务
注意:设置为 no_ocr 后,文档解析将不会使用 OCR 功能,这可能会影响图片和扫描文档的文字识别效果。
如果需要 OCR 功能,可以使用外部的视觉语言模型(VLM)来替代 PaddleOCR。在 docker-compose.yml 文件的 docreader 服务中配置:
environment:
- OCR_BACKEND=vlm
- OCR_API_BASE_URL=${OCR_API_BASE_URL:-}
- OCR_API_KEY=${OCR_API_KEY:-}
- OCR_MODEL=${OCR_MODEL:-}
然后重启 docreader 服务
优势:使用外部 OCR 模型可以获得更好的识别效果,且不受平台限制。
在使用数据分析功能前,请确保智能体已配置相关工具:
智能推理:需在工具配置中勾选以下两个工具:
快速问答智能体:无需手动选择工具,即可直接进行简单的数据查询操作。
支持的文件格式
.csv) 和 Excel (.xlsx, .xls) 格式的文件。查询限制
SELECT, SHOW, DESCRIBE, EXPLAIN, PRAGMA 等语句。INSERT, UPDATE, DELETE, CREATE, DROP 等。这类问题通常不是配置真的被系统清掉了,而是浏览器代理、缓存或插件干扰导致前端读到了异常响应,页面随后又被旧状态覆盖。
建议按下面顺序排查:
localhost 或当前访问域名走代理;如果配置了 PAC,请将 localhost、127.0.0.1 和实际部署域名加入直连名单。Network 面板,确认保存配置相关请求返回的是最新内容,且没有被代理改写、缓存命中或重定向到其他环境。app 服务后再验证一次:docker compose restart app
如果重启后短时间恢复正常,但再次访问又出现相同现象,仍应优先检查浏览器代理、缓存和多环境串连问题,而不是直接判断为后端配置丢失。
SSRF_WHITELIST)可选配置。在 .env 中设置 SSRF_WHITELIST,用于在 URL 校验等环节将指定目标加入白名单,从而绕过常规 SSRF 限制。值为逗号分隔的多条规则,每条可以是:
api.internal*.example.com203.0.113.52001:db8::1(不要带方括号)10.0.0.0/8、2001:db8::/32列入白名单的地址会在 URL 校验等处绕过常规 SSRF 规则,生产环境请谨慎配置,仅加入确实需要且可信的目标。
示例(与 .env.example 一致,可按需取消注释并修改):
# SSRF_WHITELIST=internal.service,*.corp.example,172.16.0.0/12,2001:db8::1,fd00::/8
WeKnora 支持通过 Langfuse 对 Agent 的 ReAct 循环、大模型 Token 消耗、工具调用以及异步任务流水线进行全链路追踪。
开启步骤:
.env 文件中配置以下环境变量:LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://cloud.langfuse.com # 或你的私有部署地址
Wiki 模式允许 Agent 根据原始文档自动生成并维护一套结构化、相互链接的 Markdown Wiki 知识库,从而实现复杂知识的体系化沉淀和图谱化。
使用方法:
如果以上方式未解决问题,请在issue中描述您的问题,并提供必要的日志信息辅助我们进行问题排查