做一个知识库问答
概览
文档切块 → 向量化 → 检索 → 交给模型回答。
| 项 | 说明 |
|---|---|
| 依赖 | Embedding 模型 + 向量存储 |
| 切块 | 300~500 字,带重叠 |
| 检索 | Top 5 片段拼进 prompt |
操作步骤
- 把文档切成块
- 调 /v1/embeddings 拿向量
- 存进向量库(或用内存数组)
- 提问时先检索再生成
- 让模型只依据片段回答
示例
示例
docs = ["片段1", "片段2"] emb = client.embeddings.create(model="bge-m3", input=docs) # 存向量 → 提问时算相似度取 Top5 → 拼进 messages
使用限制
- 切块太小会丢上下文,太大检索不准
注意事项
- prompt 里明确「只依据以下资料回答,不知道就说不知道」