模仿京东商城网站开发视频做阿里巴巴网站可以贷款吗
系列文章目录
玩转大语言模型——使用langchain和Ollama本地部署大语言模型
 玩转大语言模型——ollama导入huggingface下载的模型
 玩转大语言模型——langchain调用ollama视觉多模态语言模型
 玩转大语言模型——使用GraphRAG+Ollama构建知识图谱
 玩转大语言模型——完美解决GraphRAG构建的知识图谱全为英文的问题
文章目录
- 系列文章目录
 - 前言
 - 下载安装Ollama
 - 安装模型
 - 测试模型
 - 使用终端调用
 - 使用request直接调用
 - 使用langchain调用Ollama接口
 - 使用langchain调用OpenAI接口
 
前言
Ollama 是一个开源的大型语言模型服务工具,旨在简化在本地运行大语言模型的过程,降低使用大语言模型的门槛。用户可以在自己的设备上运行模型,无需依赖云服务或远程服务器,保护了数据隐私。支持 Windows、macOS 和 Linux 等多种操作系统,方便不同用户安装使用。在本篇中将介绍Windows下使用Ollama进行本地大模型的部署。
下载安装Ollama
Ollama官网:https://ollama.com/
 
 点击下载,选择符合自己系统的版本,点击下载
 
 下载后按照提示安装即可
安装模型
回到官网,点击左上角的Models
 
 点击后可以看到会有众多支持的模型
 
 在本篇中笔者将使用Qwen2.5:7b,可以在搜索栏中搜索Qwen
 
 在左侧可以选择模型大小,复制右侧的命令,打开命令行执行就可以直接下载并运行模型了。如果已经下载过,使用这个命令不会重复下载。如果只下载不运行可以使用命令ollama pull qwen2.5
 
测试模型
使用终端调用
打开命令行,执行命令
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调用的方式如下(下面的代码中改成了我们需要的内容)
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,越大随机程度越高。如果是本地配置的ollama,url_base参数可以省略。
from langchain_ollama import ChatOllamallm = 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可以为任意值,但不能为中文也不能为空。
from langchain_openai import ChatOpenAIllm = 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)
