关于 create-knowledgebase
用于从 PDF 或 URL 创建和管理 Bolna 知识库的 Skill,支持多语言检索设置,并提供向量 ID,将处理完成的来源接入 Bolna Agent。
主要功能
- 01从 PDF 或 URL 创建知识库
- 02检查处理状态并列出来源
- 03调整分块与检索设置
- 04启用多语言检索
- 05删除知识库
适用场景
- 01让 Agent 根据产品手册作答
- 02将网站文档用作 Agent 来源
- 03检索非英语文档
- 04调整 Agent 回答的检索范围
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ bolna-ai/ skills --skill create-knowledgebase安装后在 Claude Code 中输入/create-knowledgebase确认已加载。
附带文件scripts/create_knowledgebase.py
详细介绍
创建 Bolna 知识库
端点
- 创建:
POST https://api.bolna.ai/knowledgebase - 获取:
GET https://api.bolna.ai/knowledgebase/{rag_id} - 列出:
GET https://api.bolna.ai/knowledgebase/all - 删除:
DELETE https://api.bolna.ai/knowledgebase/{rag_id}
使用 Authorization: Bearer $BOLNA_API_KEY。
从 PDF 创建
curl --request POST \
--url https://api.bolna.ai/knowledgebase \
--header "Authorization: Bearer $BOLNA_API_KEY" \
--form 'file=@"/path/to/file.pdf"' \
--form 'chunk_size=512' \
--form 'similarity_top_k=15' \
--form 'overlapping=128' \
--form 'language_support=multilingual'
文档说明 PDF 最大支持 20 MB。对于非英语文档或跨语言检索,请使用 language_support=multilingual。
从 URL 创建
curl --request POST \
--url https://api.bolna.ai/knowledgebase \
--header "Authorization: Bearer $BOLNA_API_KEY" \
--form 'url=https://example.com/docs' \
--form 'chunk_size=512' \
--form 'similarity_top_k=15' \
--form 'overlapping=128'
响应字段
rag_id:用于获取或删除操作的知识库 ID。file_name:PDF 名称或 URL 来源名称。status:processing、processed或error。source_type:pdf或url。language_support:multilingual或 null。
列表响应包含 vector_id,Agent 会使用该 ID 配置 RAG。
轮询直至处理完成
curl --request GET \
--url "https://api.bolna.ai/knowledgebase/$RAG_ID" \
--header "Authorization: Bearer $BOLNA_API_KEY"
在状态变为 processed 之前,不要将知识库关联到 Agent。
配置到 Agent
创建或更新 Agent 时,将 LLM 配置为知识库 Agent,并在向量存储提供方配置中包含已处理的向量 ID。完整的 Agent 结构请参阅 create-agent。
删除
curl --request DELETE \
--url "https://api.bolna.ai/knowledgebase/$RAG_ID" \
--header "Authorization: Bearer $BOLNA_API_KEY"
请先确认再删除;使用该向量的 Agent 可能会停止从该来源获取回答。
配置到 Bolna Agent
在 Agent 配置中,使用 agent_type: "knowledgebase_agent" 并关联 vector_id(一个或多个):
{
"llm_agent": {
"agent_type": "knowledgebase_agent",
"agent_flow_type": "streaming",
"llm_config": { "provider": "openai", "model": "gpt-4o", "max_tokens": 200, "temperature": 0.3 },
"vector_store": {
"provider": "lancedb",
"provider_config": {
"vector_ids": ["<vector_id_1>", "<vector_id_2>"],
"similarity_top_k": 8
}
}
}
}
对于图 Agent,请通过各节点上的 rag_config 单独关联,参见 bolna-graph-agents/references/edges-and-routing.md 以及 bolna-graph-agents/assets/full-example.json 中的示例。
脚本
python3 create-knowledgebase/scripts/create_knowledgebase.py \
--file /path/to/manual.pdf \
--multilingual
调优
| 参数 | 默认值 | 效果 |
|---|---|---|
chunk_size | 512 | 较大的分块可在每次检索时提供更多上下文,但匹配精度较低。 |
overlapping | 128 | 分块之间的重叠量。值越大,越不容易漏掉跨越边界的答案。 |
similarity_top_k | 15 | 检索的分块数量。需要简洁回答时调低,需要更广泛综合时调高。 |
language_support | null | 对于非英语文档或跨语言检索,请设为 multilingual。 |
另请参阅
create-agent— 包含向量配置的knowledgebase_agent示例。bolna-graph-agents— 通过rag_config配置各节点的 RAG。https://raw.githubusercontent.com/bolna-ai/skills/main/references/prompting-tips.md— 基于检索分块作答时避免幻觉的指南。
评论
支持 Markdown