如何通过Ollama Curl API传递RAG上下文获取模型语境化响应?
用Ollama Curl API实现RAG式上下文问答
Ollama的API没有专门对应RAG场景的「上下文」参数,但你可以通过构造对话消息的方式,把检索到的上下文和问题一起传给模型——这和LangChain的底层逻辑完全一致,LangChain本质也是把上下文和问题拼接成标准化prompt后再调用Ollama。
具体Curl请求示例
直接构造包含上下文和问题的对话消息数组,发送到Ollama的/api/chat接口:
curl http://localhost:11434/api/chat \ -H "Content-Type: application/json" \ -d '{ "model": "llama3.2:latest", "temperature": 0, "messages": [ { "role": "system", "content": "请严格根据下方提供的上下文内容回答问题,不要使用上下文以外的信息。" }, { "role": "user", "content": "上下文:[替换为你的RAG检索到的具体文本内容]\n\n问题:[替换为用户的实际问题]" } ], "stream": false }'
关键说明
stream: false表示获取完整的一次性响应,需要流式输出可改为true- 上下文和问题的拼接格式可自定义,比如用「基于以下内容回答:XXX\n问题:XXX」的形式,只要模型能理解即可
- 你之前用LangChain的
promptTemplate.invoke,就是自动完成了这种拼接逻辑:把context和question变量填充到预设模板,再封装成消息传给Ollama
内容的提问来源于stack exchange,提问作者punkish
相关产品推荐
相关产品推荐

