LangChain + OllamaLLM 教程:使用 Python 调用本地大模型

LangChain + OllamaLLM 教程:使用 Python 调用本地大模型

在本教程中,我们将学习如何使用 LangChain 框架调用 OllamaLLM(本地大模型 API),并实现一个简单的聊天机器人。


1. 环境准备

在开始之前,请确保你已经安装了 Python 3.8+,并且安装了以下依赖库:

如果你尝试用 Python 3.7 或更低版本 运行 LangChain + OllamaLLM,可能会遇到:
模块无法导入 (ImportError)
语法错误(SyntaxError
某些方法或类不可用

pip install langchain
pip install langchain-core langchain-ollama

如果你的 Ollama 还没有安装,可以参考 Ollama 官方文档 【https://ollama.com/ 】进行安装和配置。


在这里插入图片描述

2. 代码实现

创建一个 Python 文件,例如 chatbot.py,然后复制以下代码:

from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama.llms import OllamaLLM

# 创建 OllamaLLM 实例,指定本地 API 地址和模型名称
# temperature 的作用
#  temperature 值越低(接近 0),输出越稳定、确定,更适合 精准任务(如代码生成、数学计算)。
#  temperature 值越高(接近 1),输出越随机、更有创造性,适合 开放性任务(如故事创作、诗歌生成)
#  temperature=0.7? 需要 一定随机性,但不失去准确性  1.适用于 开放性问题(如写文章、总结、对话)2. 适用于 聊天机器人、智能助手
#  temperature=0.7 是一个平衡点,让模型既能保持合理的准确性,又能产生多样化的答案
llm = OllamaLLM(base_url="这里填写本地或云端部署的API地址", model="deepseek-r1:7b", temperature="0.7")

# 创建 ChatPromptTemplate 实例
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一位 Python 资深开发者"),
    ("user",  "{input}")
])

# 创建一个字符串输出解析器
output_parser = StrOutputParser()

# 创建链(chain)
chain = prompt | llm | output_parser

# 进入聊天循环
print("欢迎使用 AI 聊天助手!(输入 '退出' 结束对话)")

while True:
    user_input = input("你:")

    # 退出条件
    if user_input.lower() in ["exit", "quit", "退出"]:
        print("聊天结束!")
        break

    # 发送请求到 LLM
    response = chain.invoke({"input": user_input})

    # 输出 AI 回复
    print("AI:", response);

3. 代码讲解

1️⃣ 初始化本地 LLM
llm = OllamaLLM(base_url="这里填写本地或云端部署的API地址", model="deepseek-r1:7b")
  • 这里使用 OllamaLLM 连接本地 Ollama 服务器,指定 base_url 为本地 API 地址。
  • model="deepseek-r1:7b" 代表调用 deepseek-r1:7b 模型,你可以换成其他本地模型,例如:deepseek-r1:70b
2️⃣ 设置对话模板
prompt = ChatPromptTemplate.from_messages([
    ("system", "你是世界级的技术专家"),
    ("user", "{input}")
])
  • system 角色:定义 AI 的行为,比如 "你是世界级的技术专家" 让 AI 以专家的身份回答问题。
  • user 角色:占位符 {input},用于动态接收用户输入。
3️⃣ 解析模型输出
output_parser = StrOutputParser()
  • 解析 LLM 生成的输出,确保返回的是一个字符串,方便后续处理。
4️⃣ 组合成 Chain
chain = prompt | llm | output_parser
  • prompt:接收用户输入并格式化成 LLM 可理解的提示词。
  • llm:调用本地大模型,获取 AI 生成的文本。
  • output_parser:解析并返回最终结果。
5️⃣ 运行聊天逻辑
response = chain.invoke({"input": "你好,早上好!"})
  • chain.invoke() 方法用于执行对话,传入用户的问候 "你好,早上好!",然后获取 AI 生成的回复。
6️⃣ 输出结果
print("模型回复:", response)
  • 打印 AI 生成的回复。

4. 运行代码

在终端运行以下命令:

python chatbot.py
或者使用快捷键 shift+F10 直接运行

你应该会看到类似以下的输出:

模型回复: 你好!早上好!今天有什么技术问题可以帮你解答吗?

在这里插入图片描述
在这里插入图片描述

5. 总结

通过本教程,你学会了:

​ ✅ 如何使用 LangChain 连接本地 OllamaLLM
​ ✅ 如何设置 prompt 模板,控制 AI 角色
​ ✅ 如何解析 AI 生成的文本,并打印输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值