Ollama
什么是Ollama
Ollama是一个开源的大型语言模型服务,提供了类似OpenAI的API接口和聊天界面,可以非常方便地部署最新版本的GPT模型并通过接口使用。支持热加载模型文件,无需重新启动即可切换不同的模型。
Ollama 是一个强大的框架,设计用于在 Docker 容器中部署 LLM。Ollama 的主要功能是在 Docker 容器内部署和管理 LLM 的促进者,它使该过程变得非常简单。它帮助用户快速在本地运行大模型,通过简单的安装指令,可以让用户执行一条命令就在本地运行开源大型语言模型,例如 Llama 2。
安装
Window:
下载地址:https://ollama.com/download
点击安装即可:
安装完成后,在C:\Users\用户名\AppData\Local\Ollama目录下,有Ollama的配置及日志文件
查看版本:
ollama --version
-- 默认监听端口号 11434
netstat -ano | findstr 11434
Linux:
curl https://ollama.ai/install.sh | sh
Docker:
(注:内存过小或CPU不支持可能会启动不成功)
docker search ollama -- 查找镜像
docker pull ollama/ollama:latest -- 拉取镜像
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama --启动命令
docker exec -it ollama ollama run llama2 (可替换为各种模型) -- 运行模型
模型库
Ollama支持的模型列表:https://ollama.com/library
模型 | 参数 | 大小 | 下载 |
---|---|---|---|
Llama 3 | 8B | 4.7GB | ollama run llama3 |
Llama 3 | 70B | 40GB | ollama run llama3:70b |
Mistral | 7B | 4.1GB | ollama run mistral |
Dolphin Phi | 2.7B | 1.6GB | ollama run dolphin-phi |
Phi-2 | 2.7B | 1.7GB | ollama run phi |
Neural Chat | 7B | 4.1GB | ollama run neural-chat |
Starling | 7B | 4.1GB | ollama run starling-lm |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
Llama 2 13B | 13B | 7.3GB | ollama run llama2:13b |
Llama 2 70B | 70B | 39GB | ollama run llama2:70b |
Orca Mini | 3B | 1.9GB | ollama run orca-mini |
LLaVA | 7B | 4.5GB | ollama run llava |
Gemma | 2B | 1.4GB | ollama run gemma:2b |
Gemma | 7B | 4.8GB | ollama run gemma:7b |
Solar | 10.7B | 6.1GB | ollama run solar |
注意:您应该至少有8 GB可用内存来运行7B模型,16 GB用于运行13B模型,32 GB用于运行33B模型。
基础命令
拉取模型
ollama pull llama2
此命令还可用于更新本地模型。只会拉取差异。
删除模型
ollama rm llama2
复制模型
ollama cp llama2 my-llama2
查看模型
ollama list
实操
拉取成功:
Java对接Spring-AI
Spring-boot版本:3.2.3
java版本最低:17
对接自己创建的Ollama中的模型:
<!--spring-ai-ollama-spring-boot-starter-->
<dependency>
<groupId>io.springboot.ai</groupId>
<artifactId>spring-ai-ollama-spring-boot-starter</artifactId>
<version>1.0.1</version>
</dependency>
如果要对接Open-AI引入:
<!--spring-ai-openai-spring-boot-starter-->
<dependency>
<groupId>io.springboot.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<version>1.0.1</version>
</dependency>
以Ollama为主:
application.properties:
-- ollama地址
spring.ai.ollama.base-url = http://localhost:11434
-- ollama模型以及版本
spring.ai.ollama.chat.model = llama3:latest
测试类:
package com.chh.springai.controller;
import org.springframework.ai.ollama.OllamaChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: chh
* @DATE: 2024/4/22
*/
@RestController
public class TestAi {
@Autowired
private OllamaChatClient chatClient;
@GetMapping("/top/fiction")
public String topCodeLanguage() {
String message = "你好";
return chatClient.call(message);
}
}