当前位置: 首页 > news >正文

【LangChain】P15 大模型私有化部署:基于 Ollama 与 LangChain 的实践指南

目录

  • 引言
    • 为什么企业需要私有化部署大模型?
  • Ollama 前序工作
    • 什么是 Ollama
    • Ollama 的下载与安装
    • Ollama 常用命令
      • 查看已安装的模型
      • 运行模型
      • 下载新模型
      • 删除模型
      • 查看运行中的模型
      • 停止模型服务
  • 在 LangChain 中调用本地大模型
    • 环境准备
    • 基础调用示例
    • 流式输出
    • 结合提示词模板
    • 构建对话系统
  • 总结

在这里插入图片描述

引言

随着大模型技术的快速发展,越来越多的企业开始思考如何将这项技术真正落地应用。相比于依赖云端 API 服务,私有化部署正在成为企业的必行趋势。

为什么企业需要私有化部署大模型?

私有化部署大模型具有以下显著优势:

  • 数据安全与隐私保护: 企业的敏感数据无需上传到第三方服务器,完全在本地环境中处理,从根本上消除了数据泄露的风险。这对于金融、医疗、法律等对数据安全要求极高的行业尤为重要。
  • 成本可控: 虽然初期需要一定的硬件投入,但长期来看,私有化部署可以避免持续的 API 调用费用。特别是对于高频调用场景,成本优势会更加明显。
  • 服务稳定性: 不依赖外部网络和第三方服务的可用性,避免因网络波动或服务商故障导致的业务中断。企业可以完全掌控服务的可用性和响应速度。
  • 定制化能力: 企业可以根据自身业务需求对模型进行微调和优化,打造专属的行业解决方案,而不受云服务提供商的限制。
  • 合规性要求: 某些行业和地区的法规要求数据必须存储在本地或特定区域,私有化部署可以轻松满足这些合规要求。

而实现本地私有化部署,之于我们私人而言,最简单的方式莫过于使用 Ollama。而关于企业级部署,我们将在单独的一个专题系列博文中阐述。本博文将详细介绍如何通过 Ollama 部署本地大模型,并如何在 LangChain 中进行调用。


Ollama 前序工作

在这里插入图片描述

什么是 Ollama

Ollama 是 GitHub 上的一个明星开源项目,其定位是一个本地运行大模型的集成框架。Ollama 主要具有以下特点:

  • 架构支持广泛: 主要针对主流的 Llama 架构开源大模型设计,完美支持 Qwen、DeepSeek、Llama、Mistral 等热门模型。
  • 一键式部署: 实现模型下载、启动和本地运行的全自动化流程,完全脱离复杂配置。
  • 跨平台兼容: 支持 macOS、Linux、Windows 三大主流操作系统。

虽然 Ollama 为本地大模型部署提供了极大便利,我们也需客观认识它的一些局限性。其最主要的局限性在于企业级应用中需要的批处理性能方面:

  • 功能相对简化:相比于 vLLM 等专业推理框架,Ollama 在批量推理、动态批处理、多 GPU 并行等高级特性上支持有限。对于需要极致性能优化、高负载的企业级生产环境,必须考虑其他方案。

其余限制,如封装度较高带来的调试信息有限量化格式限制,功能简化不支持的模型微调不便等限制。不过,万里长征看脚下,我们先从 ollama 开启。


Ollama 的下载与安装

访问 Ollama 官网,下载对应操作系统的安装包,双击安装即可。

在这里插入图片描述

按照默认安装顺序完成安装,并在 CMD/终端 中输入如下命令验证安装(博主开发环境为 MBP,后续截图将按 Mac 操作系统展开):

ollama --version

在这里插入图片描述

Ollama 常用命令

掌握以下几个核心命令,就能轻松驾驭 Ollama:

查看已安装的模型

ollama list

这个命令会列出所有已下载到本地的模型,包括模型名称、大小和最后修改时间。博主在几个月前下载了 Qwen3 系列模型:

在这里插入图片描述

运行模型

首次运行会自动下载模型,之后会直接启动交互式对话界面,以 qwen2.5-7b 模型为例。

ollama run qwen2.5:7b

对于其他模型,用户可以在官方查找指定模型名称,并按照命令下载。

在这里插入图片描述

下载新模型

拉取模型(仅下载不运行),以 qwen2.5-7b 模型为例:

ollama pull qwen2.5:7b

在这里插入图片描述

删除模型

ollama rm qwen2.5:7b

查看运行中的模型

ollama ps

停止模型服务

ollama stop qwen2.5:7b

在 LangChain 中调用本地大模型

在开启本部分内容学习前,建议读者先行了解本系列博文前序内容。

环境准备

首先安装必要的 Python 包(默认已安装、掌握 langchain 前序知识):

pip install langchain-ollama

基础调用示例

下面是一个最简单的调用示例:

from langchain_ollama import ChatOllama# 初始化模型
llm = ChatOllama(model="qwen2.5:30b"
)# 直接调用
response = llm.invoke("什么是量子计算?请用简单的语言解释。")
print(response.content)

流式输出

对于需要实时反馈的场景,可以使用流式输出:

from langchain_ollama import ChatOllamallm = ChatOllama(model="qwen2.5:30b"
)# 流式输出
for chunk in llm.stream("写一首关于春天的诗"):print(chunk.content, end="", flush=True)

结合提示词模板

在实际应用中,我们通常需要使用提示词模板来规范模型的输入输出:

from langchain_ollama import ChatOllama
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain# 定义提示词模板
template = """你是一个专业的技术顾问。请根据以下问题提供详细的解答:问题: {question}请确保回答:
1. 准确专业
2. 结构清晰
3. 包含实际案例回答:"""prompt = PromptTemplate(template=template,input_variables=["question"]
)# 创建链
llm = ChatOllama(model="qwen2.5:30b"
)chain = LLMChain(llm=llm, prompt=prompt)# 执行
result = chain.run(question="什么是微服务架构?")
print(result)

构建对话系统

对于需要保持上下文的对话场景:

from langchain_ollama import ChatOllama
from langchain.memory import ConversationBufferMemory
from langchain.chains import ConversationChainllm = ChatOllama(model="qwen2.5:30b", temperature=0.7)# 添加记忆功能
memory = ConversationBufferMemory()# 创建对话链
conversation = ConversationChain(llm=llm,memory=memory,verbose=True
)# 多轮对话
print(conversation.predict(input="我想学习 Python,应该从哪里开始?"))
print(conversation.predict(input="那数据类型部分有哪些重点?"))
print(conversation.predict(input="能给我举个字典的例子吗?"))

总结

通过 Ollama ,配合 LangChain 强大的开发框架,个人可以快速构建自己的大模型应用系统。从数据安全、成本控制到服务稳定性,私有化部署的优势显而易见。随着硬件成本的持续下降和开源模型的不断进步,这一趋势将会越来越明显。

现在就开始你的大模型私有化部署之旅吧!从安装 Ollama,到下载第一个模型,再到用 LangChain 构建你的应用 —— 这一切比你想象的要简单得多。而关于企业级部署与应用,敬请关注我的另一个系列博文 —— 大模型企业级部署。


2025.10.07 北京·西直门

http://www.dtcms.com/a/455301.html

相关文章:

  • 河南论坛网站建设三合一建站网站
  • 网站建设需要云主机吗wordpress中文主程序优化
  • 学习建设网站开发app重庆建筑安全信息网
  • 华为电子商务网站建设wordpress批量添加图片链接
  • wordpress按钮下拉口碑优化seo
  • 网站推广步骤网络推广外包公司一般在哪里招聘
  • 无为网站建设长沙营销型网页制作公司
  • 企业网站建设招标书广州网站建设建航科技
  • 网站做点线表格北京网站设计成功a刻
  • 网站建设订单模板下载十大互联网广告公司
  • 可以做网站首页的图片手机wap网站html源码
  • 在线构建网站免费申请qq邮箱
  • 灵犀科技高端网站建设深圳科技公司排名100
  • 博兴县城乡建设局网站网站做备案
  • C语言实现文本进度条
  • 我的wordpress网站吗中国房地产未来走势
  • 小说网站开发 项目计划书万户网络oa
  • 建设网站用什么东莞软件开发培训
  • 确保网站地址没有做301跳转做网站的是什么职业
  • 网站建立安全连接失败公司常用邮箱
  • 推广网站2024亳州市建设局网站
  • 个人备案转企业网站期间辽宁网络优化方法
  • 整站seo技术搜索引擎优化软件开发培训通知
  • 淘宝网站建设的目标哪种编程语言可以做网站
  • 张北北京网站建设做个简单的导航网站
  • 烟台门户网站免费网站源码
  • 知名网站建设官网品牌营销与市场营销的区别
  • 企业头像logo设计免费网站优化需要那些工具
  • 可以做试卷的网站的网络公司
  • 深圳做网站维护的公司企业网络平台建设