ollama流式输出
时间: 2025-04-23 18:02:48 浏览: 37
### Ollama 流式输出实现
在 LangChain 中,所有 `Runnable` 对象支持同步方法 `stream` 和异步方法 `astream` 来逐块流式传输输出[^1]。这意味着每个组件能够按块处理输入并生成对应的输出。
对于 Ollama 的流式输出配置,由于其暴露的接口默认为流式输出模式,因此可以通过设置请求头来启用此特性[^2]。这使得客户端能够在服务器端数据准备就绪时立即接收部分响应,而不是等待整个响应完成后再获取全部内容。
为了快速搭建带有 Ollama 模型流式响应的应用程序,可以参照如下 Python Flask 示例代码:
```python
from flask import Flask, request, Response
import requests
app = Flask(__name__)
@app.route('/chat', methods=['POST'])
def chat():
user_input = request.json.get('message')
# 发送 POST 请求到 Ollama API 并开启流式读取
response = requests.post(
'http://localhost:11434/v1/chat/completions',
json={'prompt': user_input},
stream=True,
headers={"Content-Type": "application/json"}
)
def generate():
for chunk in response.iter_lines(decode_unicode=True):
if chunk:
yield f"data:{chunk}\n\n"
return Response(generate(), mimetype='text/event-stream')
if __name__ == '__main__':
app.run(port=8888)
```
这段代码展示了如何创建一个简单的 Web 应用程序,它接受来自用户的提问并通过 SSE (Server-Sent Events) 协议向浏览器发送实时更新的消息。每当有新的消息块到达时,就会触发一次事件推送至前端显示给用户[^3]。
另外,在 Spring Boot 集成 Ollama 大模型的情况下,可以在 YML 文件中指定基础 URL 及其他参数以便更好地控制和服务于应用需求。例如,设定 `base-url` 为本地主机上的特定端口,并定义所使用的模型及其选项如温度系数等[^4]。
阅读全文
相关推荐


















