在开始之前,请确保你已经安装Ollama并下载qwen3:4b模型:
import asyncio
from ollama import AsyncClient
# 创建异步客户端,连接本地 Ollama 服务
client = AsyncClient(host='http://localhost:11434')
asyncdef chat():
# 构造用户消息
message = {'role': 'user', 'content': '你好,如何入门大模型学习'}
# 发起流式聊天请求
asyncfor part inawait client.chat(
model='qwen3:4b',
messages=[message],
stream=True
):
# 实时打印模型返回的内容片段
print(part['message']['content'], end='', flush=True)
# 运行异步主函数
asyncio.run(chat())
AsyncClient:Ollama 提供的异步客户端,适合在高并发或非阻塞场景中使用。stream=True:启用流式输出。模型会逐字(或逐词元)返回响应,而不是等待全部生成完毕。这对于提升用户体验(如聊天机器人)非常重要。async for:用于异步迭代流式响应。每次循环获取一个数据块(chunk)。flush=True:确保每个字符立即输出到终端,避免缓冲延迟。你将看到类似以下的实时输出:

💡 提示:如果看到连接错误,请确认 Ollama 服务是否正在运行(可在浏览器访问
http://localhost:11434测试)。
你需要安装 LangChain 的核心库以及专门用于连接 Ollama 的社区库。
pip install langchain langchain-community langchain-core langchain-ollama
创建一个简单的 Python 脚本(例如 main.py):
from langchain_ollama import ChatOllama
from langchain_core.messages import HumanMessage
# 初始化 Ollama 模型
# base_url 默认为 http://localhost:11434,如果修改了端口需在此指定
llm = ChatOllama(
base_url="http://localhost:11434",
model="qwen3:4b", # 确保这里的名字和你 ollama pull 的名字一致
temperature=0.7,
)
# 发送消息
messages = [HumanMessage(content="你好,如何入门大模型")]
response = llm.invoke(messages)
print(response.content)
为了让体验更像 ChatGPT,可以使用流式输出:
for chunk in llm.stream("写一首关于春天的短诗"):
print(chunk.content, end="", flush=True)
整体源码:
from langchain_ollama import ChatOllama
# 初始化 Ollama 模型
# base_url 默认为 http://localhost:11434,如果修改了端口需在此指定
llm = ChatOllama(
base_url="http://localhost:11434",
model="qwen3:4b", # 确保这里的名字和你 ollama pull 的名字一致
temperature=0.7,
)
for chunk in llm.stream("如何入门大模型"):
print(chunk.content, end="", flush=True)


通过 Ollama 提供本地推理能力,配合 LangChain 的能力,你可以轻松构建出: