玩转大语言模型——使用langchain和Ollama本地部署大语言模型

系列文章目录

玩转大语言模型------使用langchain和Ollama本地部署大语言模型
玩转大语言模型------ollama导入huggingface下载的模型
玩转大语言模型------langchain调用ollama视觉多模态语言模型
玩转大语言模型------使用GraphRAG+Ollama构建知识图谱
玩转大语言模型------完美解决GraphRAG构建的知识图谱全为英文的问题
玩转大语言模型------配置图数据库Neo4j(含apoc插件)并导入GraphRAG生成的知识图谱
玩转大语言模型------本地部署带聊天界面deepseek R1的小白教程


文章目录


前言

Ollama 是一个开源的大型语言模型服务工具,旨在简化在本地运行大语言模型的过程,降低使用大语言模型的门槛。用户可以在自己的设备上运行模型,无需依赖云服务或远程服务器,保护了数据隐私。支持 Windows、macOS 和 Linux 等多种操作系统,方便不同用户安装使用。在本篇中将介绍Windows下使用Ollama进行本地大模型的部署。


下载安装Ollama

Ollama官网:https://ollama.com/

点击下载,选择符合自己系统的版本,点击下载

下载后按照提示安装即可

安装模型

回到官网,点击左上角的Models

点击后可以看到会有众多支持的模型

在本篇中笔者将使用Qwen2.5:7b,可以在搜索栏中搜索Qwen

在左侧可以选择模型大小,复制右侧的命令,打开命令行执行就可以直接下载并运行模型了。如果已经下载过,使用这个命令不会重复下载。如果只下载不运行可以使用命令ollama pull qwen2.5

测试模型

使用终端调用

打开命令行,执行命令

bash 复制代码
ollama run qwen2.5:7b

随后就可以在命令行交互式使用大语言模型了

使用request直接调用

由于ollama支持OpenAI接口的调用,所以也可以像直接调用OpenAI一样,使用request方式调用,调用方式只要是ollama符合提供的API即可,API可以参考:https://ollama.readthedocs.io/api/

例如使用这一接口

复制代码
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?",
  "stream": false
}'

可以使用requests调用的方式如下(下面的代码中改成了我们需要的内容)

python 复制代码
import requests

# 定义请求的URL
url = 'http://localhost:11434/api/generate'

# 定义要发送的数据
data = {
    "model": "qwen2.5:7b",
    "prompt": "你好",
    "stream": False
}

# 发送POST请求,使用json参数自动处理JSON数据
response = requests.post(url, json=data)

# 检查响应状态码
if response.status_code == 200:
    # 解析并打印响应内容
    result = response.json()  # 假设服务器返回的是JSON格式的数据
    print(result)
    print(result['response'])
else:
    # 打印错误信息
    print(f"请求失败,状态码:{response.status_code}")
    print(response.text)  # 打印服务器返回的原始文本(可能是错误信息)

上述代码中的data字典中prompt对应的值就是我们所提的问题,在这里以你好为例,下同。

使用langchain调用Ollama接口

langchain也是一个常用的大语言模型开发框架,其中提供了关于ollama调用的接口,在实例化参数中temperature代表的是生成回答的随机程度,取值在0~1,越大随机程度越高。如果是本地配置的ollamaurl_base参数可以省略。

python 复制代码
from langchain_ollama import ChatOllama

llm = ChatOllama(
    temperature=0,
    model="qwen2.5:7b",
    url_base="http://localhost:11434/v1/",
)
ans = llm.invoke("你好")
print(ans)
print(ans.content)

使用langchain调用OpenAI接口

上边也提到了ollama会提供OpenAI的接口,所以也可以使用langchain为OpenAI提供的调用接口。不同的是openai_api_base要改为ollama地址http://localhost:11434/v1/openai_api_key可以为任意值,但不能为中文也不能为空。

python 复制代码
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    temperature=0,
    model="qwen2.5:7b",
    openai_api_base="http://localhost:11434/v1/",
    openai_api_key="anything"
)
ans = llm.invoke("你好")
print(ans)
print(ans.content)
相关推荐
梦梦代码精36 分钟前
从工程视角拆解 BuildingAI:一个企业级开源智能体平台的架构设计与实现
人工智能·gitee·开源·github
supericeice36 分钟前
复杂项目管理如何用好大模型:RAG、知识图谱与AI编排的落地框架
人工智能·知识图谱
AI机器学习算法6 小时前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角6 小时前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学6 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
搬砖的前端7 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6
Python私教7 小时前
Hermes Agent 安全加固与生态扩展:2026-04-23 更新解析
人工智能
饼干哥哥7 小时前
Kimi K2.6 干成了Claude Design国产版,一句话生成电影级的动态品牌网站
人工智能
肖有米XTKF86467 小时前
带货者精品优选模式系统的平台解析
人工智能·信息可视化·团队开发·csdn开发云
天天进步20157 小时前
打破沙盒限制:OpenWork 如何通过权限模型实现安全的系统级调用?
人工智能·安全