当前位置:   article > 正文

JAVA对接Spring-AI_ollama java

ollama java

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
  • 1
  • 2
  • 3
  • 4
Linux:
curl https://ollama.ai/install.sh | sh
  • 1
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 (可替换为各种模型)              			 -- 运行模型
  • 1
  • 2
  • 3
  • 4
  • 5

模型库

Ollama支持的模型列表:https://ollama.com/library

模型参数大小下载
Llama 38B4.7GBollama run llama3
Llama 370B40GBollama run llama3:70b
Mistral7B4.1GBollama run mistral
Dolphin Phi2.7B1.6GBollama run dolphin-phi
Phi-22.7B1.7GBollama run phi
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
Llama 2 13B13B7.3GBollama run llama2:13b
Llama 2 70B70B39GBollama run llama2:70b
Orca Mini3B1.9GBollama run orca-mini
LLaVA7B4.5GBollama run llava
Gemma2B1.4GBollama run gemma:2b
Gemma7B4.8GBollama run gemma:7b
Solar10.7B6.1GBollama run solar

注意:您应该至少有8 GB可用内存来运行7B模型,16 GB用于运行13B模型,32 GB用于运行33B模型。

基础命令

拉取模型
ollama pull llama2
  • 1

此命令还可用于更新本地模型。只会拉取差异。

删除模型
ollama rm llama2
  • 1
复制模型
ollama cp llama2 my-llama2
  • 1
查看模型
ollama list
  • 1

实操

拉取成功:

在这里插入图片描述

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

如果要对接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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

以Ollama为主:

application.properties:

-- ollama地址
spring.ai.ollama.base-url = http://localhost:11434
-- ollama模型以及版本
spring.ai.ollama.chat.model = llama3:latest
  • 1
  • 2
  • 3
  • 4

测试类:

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);
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号