news 2026/9/2 20:13:14

LangChainV1.0[01]-接入Ollama

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LangChainV1.0[01]-接入Ollama

1.Ollama介绍与安装

Ollama 是一款轻量级的大模型本地运行工具,支持在 Windows、macOS、Linux 等多种操作系统上快速部署和运行开源大模型(如 Llama 3、Mistral、Gemini 等)。相比依赖云端的模型服务,Ollama 的优势在于本地化部署、低延迟、数据隐私保护(数据无需上传至云端),非常适合对数据安全性要求较高或需要离线运行的场景。

1.1 下载

访问官网 https://ollama.ai 根据对应平台下载。下面以windows 10 为例:

系统要求:

  • 内存:建议至少 16GB,运行 7B 模型更推荐 32GB。
  • 显卡:支持 NVIDIA GPU(CUDA)、AMD GPU(ROCm)、Apple M 系列芯片。如果没有显卡,将会使用CPU进行运算,效果会很差。
  • 硬盘: 每个模型约3G~40G,建议预留 50G以上磁盘空间

1.2 改变安装目录

安装的时候,默认会安装到系统盘,可以通过在命令行中指定安装位置:比如:E:\ollama

安装的时候,默认会安装到系统盘,可以通过在命令行中指定安装位置:比如:E:\ollama

# 打开命令行窗口,定位到安装文件所在目录,然后执行OllamaSetup.exe /DIR=E:\ollama

这样所有的安装文件都将会安装到E:\ollama目录中

1.3 配置环境变量

ollama 会拉取模型文件到本地,然后加载运行。而模型文件往往比较大,可以配置环境变量来指定模型文件存放的目录,这里指定模型文件存放的目录为:E:\ollama\models,环境变量名称为:OLLAMA_MODELS, 系统重启后生效。

1.4 模型操作相关命令

打开命令行窗口,执行下面的命令:

# 查看已安装的模型ollama list# 拉取模型,这里作为演示,拉取4b的qw3模型,大概 2.5GB 左右ollama pull qwen3:4b# 查看模型详情ollama show qwen3:4b# 删除模型ollamarmqwen3:4b# 运行模型 (交互式对话)ollama run qwen3:4b# 带参数运行ollama run llama3\--temperature0.7\# 创造性(0-1)--top_p0.9\# 采样概率阈值--max_tokens2000# 最大生成长度

访问 https://ollama.com/search 可以查询到可以拉取的模型,每个模型都列出了相对应的参数。

模型运行后,就可以向模型发送消息了

同时也提供了windows窗口,选择下载的模型后,就可以对话了:

2.Ollama 云模型

模型在没有显卡的机器上加载,其执行速度特别慢。Ollama 新推出的云模型(Cloud Models)就是为了解决这个问题。

首先我们要下载名字后有个-cloud的模型,代表模型运行在云端:

2.1 登录 ollama账号:

先在ollama网站上注册账号,然后在本地服务器上登录:

ollama signin

这个命令执行完毕后会输出一个URL:

To sign in, navigate to: https://ollama.com/connect?name=ollama&key=c3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSU1reEp5KzVBejBSMUZQdGQ2bW9vemJiNmtmR2FaSG9yWm1zUxxxxxxxxxxxxxx

复制这个URL,使用浏览器打开,如果显示连接成功,那么此时就可以使用-cloud模型了

2.2 拉取cloud模型

ollama pull qwen3-next:80b-cloud

打开Ollama聊天客户端,选择qwen3-next:80b-cloud这样就可以使用运行在云端的模型了

3.Miniconda安装

官网下载地址:https://www.anaconda.com/download/success

3.1使用 Anaconda Powershell Prompt 终端

安装完成后,打开终端Anaconda Powershell Prompt,如果有看到命令列提示中的(base),那表示安装成功。

# 查看python版本(base)PS C:\Users\Administrator>python--versionPython3.13.11(base)PS C:\Users\Administrator>

3.2 Conda常用命令-创建虚拟环境

conda –help# 查看帮助conda info# 查看 conda 信息conda--version# 查看 conda 版本conda update conda# 更新Conda(慎用)conda clean –all# 清理不再需要的包conda<指令>--help# 查看某一个指令的详细帮助conda config--show#查看 conda 的环境配置conda clean-p# 清理没有用,没有安装的包conda clean-t# 清理 tarballconda clean--all# 清理所有包和 conda 的缓存文件
# 语法 conda activate env_name # 样例 切换到 learn 环境 conda activate learn # 如果要退出此环境,回到基础环境,可以使用如下命令 conda deactivate # 当电脑上安装了很多台Conda环境的时候,可以使用 `conda env list` 命令查看所有已创建的Conda环境。 # 查看当前电脑上所有的conda环境 conda env list # 删除某个Conda环境 # 语法 conda remove --name <env_name> --all # 样例 conda remove --name learn --all # 也可以使用 env remove命令删除环境 conda env remove -n hunyuan conda env remove --name hunyuan # 克隆环境 # 语法 conda create --name <new_evn_name> --clone <old_env_name> # 样例 conda create --name myclone --clone myenv

4.PyCharm中使用Conda环境

创建conda虚拟环境langchain

conda create-nlangchainpython=3.11conda activate langchain

创建pyCharm 工程目录:E:\workspace\langchain_study然后用PyCharm打开, 配置虚拟环境

5.安装依赖

pipinstalllangchain langchain-ollama# 将依赖包保存到文件中pip freeze>chapter01/require.txt
annotated-types==0.7.0 anyio==4.12.0 certifi==2025.11.12 charset-normalizer==3.4.4 h11==0.16.0 httpcore==1.0.9 httpx==0.28.1 idna==3.11 jsonpatch==1.33 jsonpointer==3.0.0 langchain==1.2.0 langchain-core==1.2.5 langchain-ollama==1.0.1 langgraph==1.0.5 langgraph-checkpoint==3.0.1 langgraph-prebuilt==1.0.5 langgraph-sdk==0.3.1 langsmith==0.5.2 ollama==0.6.1 orjson==3.11.5 ormsgpack==1.12.1 packaging==25.0 pydantic==2.12.5 pydantic_core==2.41.5 PyYAML==6.0.3 requests==2.32.5 requests-toolbelt==1.0.0 tenacity==9.1.2 typing-inspection==0.4.2 typing_extensions==4.15.0 urllib3==2.6.2 uuid_utils==0.12.0 xxhash==3.6.0 zstandard==0.25.0
  • langchain :langchain开发框架包
  • langchain-ollama : langchain框架与 ollama 对接的SDK包

6.开发一个简单聊天对话

fromlangchain.chat_modelsimportinit_chat_modeldefhello():# 模型名称model_name="ollama:qwen3-next:80b-cloud"# Ollama 安装在本地base_url="http://127.0.0.1:11434"model=init_chat_model(model=model_name,base_url=base_url,temperature=0.7,timeout=30,max_tokens=1024)prompt="为我写一段五言绝句唐诗"forchunkinmodel.stream(prompt):print(chunk.content,end="",flush=True)if__name__=="__main__":hello()

注意上面使用的是 langChain 1.0 API的写法

输出结果:

《山行》 云生青嶂外,日破白云深。 山鸟忽惊起,松风满袖清。 注:此诗以五言绝句写山行所见。首句“云生青嶂外”勾勒远山云雾缭绕之景,次句“日破白云深”以“破”字显阳光穿透云层的力度,动态感十足。后二句转写近处:山鸟惊飞而起,松风拂过衣袖,以“满袖清”收束,既写触觉之清凉,又暗含心境澄明之意。全诗二十字间,远近相映,动静相生,凝练而意境悠远。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 17:28:43

Sonic SLA服务等级协议承诺99.9%可用性

Sonic SLA服务等级协议承诺99.9%可用性 在虚拟内容生产加速迈向自动化的今天&#xff0c;一个关键问题正被反复提出&#xff1a;我们能否让数字人像真人一样稳定、可靠地“上班”&#xff1f;不是偶尔跑个Demo惊艳一下观众&#xff0c;而是真正724小时在线&#xff0c;支撑电商…

作者头像 李华
网站建设 2026/8/29 14:51:03

Qwen3-VL分析Qwen3-VL-Quick-Start项目README文件

Qwen3-VL 技术解析与快速部署实践 在今天这个视觉信息爆炸的时代&#xff0c;AI 系统能否“看懂”一张图、一段视频&#xff0c;甚至一个复杂的用户界面&#xff0c;已经成为衡量其智能水平的关键标尺。传统语言模型面对图像时往往束手无策&#xff0c;而早期的多模态方案又常常…

作者头像 李华
网站建设 2026/8/29 5:53:00

搞懂malloc底层原理后,我用C++17 PMR写了一个5倍性能的分配器

malloc到底是怎么工作的? 不是那种"调用sbrk向系统申请内存"的泛泛而谈。我说的是真正的底层细节:chunk是怎么组织的?free之后内存去哪了?为什么有时候malloc很快,有时候又慢得离谱? 这些问题,只有啃过glibc malloc源码、自己动手实现过一遍,才能真正搞明白…

作者头像 李华
网站建设 2026/8/31 4:24:30

Qwen3-VL提取UltraISO注册码信息(教学场景展示)

Qwen3-VL提取UltraISO注册码信息&#xff08;教学场景展示&#xff09; 在日常软件使用中&#xff0c;我们常会遇到需要从一张截图里“读出”注册码的场景——比如帮助同事找回丢失的激活密钥、分析老旧系统的授权界面&#xff0c;或是教学环境中演示AI如何理解图形用户界面。这…

作者头像 李华
网站建设 2026/9/1 15:25:17

Sonic在短视频创作领域的三大典型应用场景

Sonic在短视频创作中的场景化实践与技术落地路径 你有没有想过&#xff0c;一个数字人主播可以24小时不间断地讲解产品、授课教学&#xff0c;甚至用不同语言向全球观众直播&#xff1f;这不再是科幻电影的桥段——随着AI生成技术的成熟&#xff0c;这样的场景正在真实发生。而…

作者头像 李华
网站建设 2026/8/31 15:26:09

rs485modbus协议源代码驱动开发:手把手教程(从零实现)

从零实现 RS485 Modbus RTU 驱动&#xff1a;手把手教你写一套能跑的源代码为什么我们要自己写 Modbus 驱动&#xff1f;在工业现场&#xff0c;你可能已经用过无数遍 Modbus 协议——读电表、控变频器、接温湿度传感器。但当你面对一个裸片 STM32 或者 ESP32&#xff0c;没有现…

作者头像 李华