【LangChain专栏】LangChain 调用Ollama本地大模型

文章目录

随着本地大模型生态逐渐成熟,越来越多开发者开始使用本地部署的模型来构建 AI 应用。相比调用云端 API,本地模型具备:
• 数据隐私可控
• 无需外网依赖
• 成本更低
• 可定制化强

一、什么是Ollama?

Ollama 是一个本地运行大语言模型的工具,支持一键下载并运行模型,如:

• Llama 3

• Mistral

• Qwen

特点:

• 安装简单(支持 macOS / Linux / Windows)

• 支持 REST API

• 支持模型管理与自定义 Modelfile

• 资源占用相对可控

二、环境准备

1.安装Ollama

官网下载安装即可,安装完成后验证:

ollama --version下载模型:

ollama pull llama3 启动模型:

ollama run llama3 若能正常对话,说明模型运行成功。

2.安装Python 依赖

bash 复制代码
pip install langchain langchain-community langchain-core

如果需要 Web API:

bash 复制代码
pip install fastapi uvicorn

三、LangChain 调用 Ollama

1.基础调用示例

bash 复制代码
from langchain_community.llms import Ollama

llm = Ollama(
    model="qwen3:4b"
)

response = llm.invoke("请用一句话介绍人工智能")
print(response)

执行后,LangChain 会调用本地 Ollama 服务,并返回模型生成结果。

2.使用Chat模型方式

bash 复制代码
from langchain_community.chat_models import ChatOllama
from langchain_core.messages import HumanMessage

chat = ChatOllama(
    model="qwen3:4b"
)

response = chat.invoke([
    HumanMessage(content="帮我写一段Java代码实现冒泡排序")
])

print(response.content)

适合多轮对话场景。

四、结合PromptTemplate 使用

bash 复制代码
from langchain_classic.chains.llm import LLMChain
from langchain_community.llms import Ollama
from langchain_core.prompts import PromptTemplate

template = """
你是一名专业程序员,请回答以下问题:
问题:{question}
"""

prompt = PromptTemplate(
    input_variables=["question"],
    template=template
)

llm = Ollama(model="qwen3:4b")

chain = LLMChain(llm=llm, prompt=prompt)

result = chain.invoke({"question": "什么是线程安全?"})
print(result["text"])

五、构建一个简单对话接口(FastAPI)

bash 复制代码
from fastapi import FastAPI
from langchain_community.chat_models import ChatOllama
from langchain_core.messages import HumanMessage

app = FastAPI()

chat = ChatOllama(model="llama3")

@app.post("/chat")
def chat_api(question: str):
    response = chat.invoke([HumanMessage(content=question)])
    return {"answer": response.content}

启动:

bash 复制代码
uvicorn main:app --reload

访问:

bash 复制代码
POST http://localhost:8000/chat

即可调用本地大模型接口。

六、常见问题

1.模型响应慢怎么办?

优化方式:

• 选择参数较小的模型(如 7B)

• 使用量化模型(Q4/Q8)

• 增加内存

• 调整 num_ctx

2.如何查看已安装模型?

bash 复制代码
ollama list

3.mac m1安装ollama安装包dmg失败

当前版本不支持m1架构,可切换到其他版本安装

https://github.com/ollama/ollama/releases

相关推荐
大模型真好玩2 天前
LangChain DeepAgents 速通指南(九)—— 生产级智能体框架 DeepAgents Code 源码导读
人工智能·langchain·agent
早点睡啊4 天前
精读 LangChain 官方文档(二)Model 篇:把模型调用升级成工程化推理接口
人工智能·langchain
星始流年6 天前
从 Tool 到 Skill——基于 LangChain 的服务端Skill实现
前端·langchain·agent
codedx7 天前
LangChain 和 LangGraph 构建的 Agent 项目模版
后端·langchain·agent
颜酱7 天前
LangGraph 入门指南
langchain
武子康8 天前
调查研究-186 LangChain 和 LangGraph 的区别:从快速构建 Agent 到生产级工作流编排
人工智能·langchain·llm
葫芦和十三11 天前
渐进发现|代码库不是文档库
langchain·agent·ai编程
柒和远方11 天前
LangGraph 深度解析:从增强型 LLM 到生产级 Agent
langchain·llm·agent
沪漂阿龙12 天前
《LangChain》成本、限流、缓存、降级:AI 应用上线要考虑的问题
人工智能·langchain
段一凡-华北理工大学12 天前
LangChain框架在高炉炼铁智能化领域的应用~系列文章09:工具调用Tool — 让AI学会操作高炉仪表盘
网络·人工智能·架构·langchain·高炉炼铁·高炉智能化·高炉智能体