Ollama是一个由Facebook AI Research开发的开源、轻量级且高效的大型语言模型(LLM)框架。它旨在使研究人员和开发人员能够更轻松地在自己的硬件上部署和运行LLM,而无需专门的云计算资源。
Ollama
Ollama提供了一个简单直观的界面,用于加载、运行和评估LLM。它还支持各种自定义选项,允许用户根据特定需求定制LLM。
Ollama支持哪些大模型
Llama 3:迄今为止功能最强大的公开可用的大型语言模型。 Llama 2:由 Meta Platforms 公司发布的 Llama 2 是一款大型语言模型,使用 2 万亿个文本片段进行训练。其默认支持 4096 个字符的上下文长度。Llama 2 聊天模型经过超过一百万条人工标注的微调,专用于聊天对话场景。 Mistral:Mistral 7B 是一款由 Mistral AI 公司推出的参数规模为 73 亿的开源大型语言模型,在多项基准测试中展现了优异的性能,能够在常识推理、世界知识、阅读理解、数学、编码等多个领域与其他大型模型相媲美甚至超越,并具有快速推理、低成本处理长序列等特点。 gemma:Gemma 是由 Google DeepMind 构建的一系列轻量级、最先进的开源模型。 codellama:一款能够理解文本提示并据此生成、讨论代码的大型语言模型。phi:Phi-2是微软研究院推出的一款 27 亿参数的语言模型,展现出卓越的推理和语言理解能力。
完整的Ollama支持的大模型列表请查看:
https://ollama.com/library
Ollama支持Macos、Linux和Windows系统,我个人再用的windows版本ollama下载地址:
https://objects.githubusercontent.com/github-production-release-asset-2e65be/658928958/42649cc8-8e65-45e0-b4aa-ce2b161c3064?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240622%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240622T030707Z&X-Amz-Expires=300&X-Amz-Signature=21c7f15d68cf544a62e5f2f90c01ad6fca5f73ab9532bdf900afd14fa5dfc4bd&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=658928958&response-content-disposition=attachment%3B%20filename%3DOllamaSetup.exe&response-content-type=application%2Foctet-streamhttps://objects.githubusercontent.com/github-production-release-asset-2e65be/658928958/42649cc8-8e65-45e0-b4aa-ce2b161c3064?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=releaseassetproduction%2F20240622%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20240622T030707Z&X-Amz-Expires=300&X-Amz-Signature=21c7f15d68cf544a62e5f2f90c01ad6fca5f73ab9532bdf900afd14fa5dfc4bd&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=658928958&response-content-disposition=attachment%3B%20filename%3DOllamaSetup.exe&response-content-type=application%2Foctet-stream
一、安装Ollama
下面就开始手工安装:
1)下载完成后,直接点击运行安装
2)成功后,在右小角可以看到运行的图标。也可以在powershell执行 ollama命令,显示如下,表示安装成功了。非常简单。
二、配置模型路径
通过配置windows的环境变了,改变ollama模型存放的位置。我只配置了几个关键的变量,具体变量配置可以参考:在windows下使用本地AI模型提供翻译、对话、文生图服务_ollama 文生图-CSDN博客
OLLAMA_MODELS:模型保存目录 OLLAMA_HOST:服务监听地址,默认是监听localhost:11434,如果需要局域网其他设备访问可以设置为0.0.0.0,如果需要更改默认端口,可以设置为0.0.0.0:12345。 OLLAMA_ORIGINS:跨域配置,如果有一些特殊需求,例如想让浏览器插件可以访问本地的ollama,正常操作时会报跨域错误,所以需要设置为*
三、下载模型和运行
查看ollama现有模型库,可以访问下面地址:library
1)选择模型
2)选择模型版本,若确定加载该版本模型,拷贝运行语句在powershell运行就开始下载模型了,如下:
ollama run llama3.1
模型下载完成后,自动run模型,就可以开始聊天了(Duxiaoman-DI-XuanYuan-13B-Chat是我自己的模型,改成自己下载的模型名称即可,如果不清楚,可以运行 ollama list查看本地下载好的模型)。
四、ollama兼容openai api的访问
我们做大模型开发,基本都是通过api来访问,并不是通过聊天界面进行的。所以下面介绍ollama的api访问示例:
API信息:
base_url改为自己的IP地址
[{
"model": "llama3.1",
"base_url": "http://192.168.0.110:11434/v1",
"api_key":"ollama" ,
"price": [0.0, 0.0],
}]
将上面的信息如实填写,运行代码即可。
#!pip install openai #如果没有安装openai包
from openai import OpenAI
client = OpenAI(
base_url = "http://192.168.0.110:11434/v1",
api_key = "ollama"#可以不输
)
completion = client.chat.completions.create(
model="llama3.1",
messages=[{"role":"user","content":"你好,请介绍下自己。"}],
temperature=0.2,
top_p=0.7,
max_tokens=1024,
stream=True
)
for chunk in completion:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
引用:
https://zhuanlan.zhihu.com/p/694835506
在windows下使用本地AI模型提供翻译、对话、文生图服务_ollama 文生图-CSDN博客
总结
### 文章总结:Ollama——轻量高效的大型语言模型框架**Ollama框架简介**:
Ollama是由Facebook AI Research开发的开源、轻量级且高效的大型语言模型(LLM)框架。它旨在简化研究人员和开发人员在自有硬件上部署和运行LLM的复杂度,无需依赖昂贵的云计算资源。Ollama提供了简单的用户界面,支持加载、运行和评估各种LLM,并允许用户根据需求进行定制。
**支持的大模型**:
- **Llama系列**:
- **Llama 3**: 功能最强大的公开可用大型语言模型。
- **Llama 2**: 包含2万亿文本片段训练量,支持长上下文(4096个字符)及专门为聊天设计的模型。
- **Mistral 7B**: 由Mistral AI公司开发,具备优异性能的73亿参数模型,在多个基准测试中表现出色,尤其擅长于推理、数学及编码等领域。
- **Gemma:** Google DeepMind构建的轻量级、前沿的开源模型系列。
- **codellama**: 专注于代码生成与讨论的语言模型。
- **Phi-2**: 微软推出,具备27亿参数的优质推理和语言理解能力模型。
**系统兼容性及下载**:
Ollama支持MacOS、Linux及Windows系统。文章提供了Windows版本Ollama的下载链接和安装步骤。安装简单,直接运行下载的安装包,并在命令行通过特定命令验证安装成功。
**配置与使用**:
1. **环境配置**: 通过设置Windows环境变量如`OLLAMA_MODELS`、`OLLAMA_HOST`、`OLLAMA_ORIGINS`来指定模型存储路径、服务监听地址和跨域访问权限。
2. **模型选择与下载**: 访问[Ollama模型库](https://ollama.com/library),选择并下载所需的LLM模型到本地,通过在PowerShell中运行特定命令如`ollama run llama3.1`来下载和启动模型。
3. **API访问**: Ollama兼容OpenAI API,允许通过自定义URL和可选的API密钥来访问模型。文章给出了通过Python代码利用OpenAI API风格调用Ollama服务实现文本生成的示例。
### 总结点评:
Ollama作为一个开源且易于部署的大型语言模型框架,降低了LLM技术的应用门槛,为研究人员和开发者提供了灵活且强大的工具。其支持多种前沿LLM模型和跨系统兼容性,使得即使在不具备云计算资源的情况下,也能高效利用本地硬件运行先进的语言模型。此外,通过简单的命令和标准的API接口访问,大大简化了操作流程,加速了LLM技术的普及和应用落地。