Skip to content

Latest commit

 

History

History
162 lines (115 loc) · 4.95 KB

3. 在 Java 中使用 Ollama API.md

File metadata and controls

162 lines (115 loc) · 4.95 KB

在 Java 中使用 Ollama API

本文介绍了如何在 Java 中使用 Ollama API。这篇文档旨在帮助开发者快速上手并充分利用Ollama的能力。你可以直接在程序中调用 Ollama API,也可以通过 Spring AI 组件调用 Ollama。通过学习本文档,你可以轻松集成 Ollama 到你的项目中。

一、 环境准备

在 Java 中使用 Ollama API ,请确保你已经准备好了以下环境和工具:

  • Java Development Kit (JDK) :安装版本 1.8 或更高版本的 JDK。
  • 构建工具:如 Maven 或 Gradle,用于项目依赖管理。
  • HTTP 客户端库:选择一个合适的 HTTP 客户端库,如 Apache HttpClient 或 OkHttp。

二、 直接使用 Ollama

github上有很多第三方开发的组件,可以很方便地在应用中集成 Ollama,这里以 Asedem 为例,可按以下 3 个步骤(这里使用 maven 做项目管理):

  1. 在 pom.xml 中增加 ollama 依赖
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.Asedem</groupId>
        <artifactId>OllamaJavaAPI</artifactId>
        <version>master-SNAPSHOT</version>
    </dependency>
</dependencies>
  1. 初始化 Ollama
// 默认情况下,它将连接到 localhost:11434
Ollama ollama = Ollama.initDefault();

// 对于自定义值
Ollama ollama = Ollama.init("http://localhost", 11434);
  1. 使用 Ollama
  • 对话
String model = "llama2:latest"; // 指定模型
String prompt = "为什么天空是蓝色的?"; // 提供提示

GenerationResponse response = ollama.generate(new GenerationRequest(model, prompt));

// 打印生成的响应
System.out.println(response.response());
  • 列出本地模型
List<Model> models = ollama.listModels(); // 返回 Model 对象的列表
  • 显示模型信息
ModelInfo modelInfo = ollama.showInfo("llama2:latest"); // 返回 ModelInfo 对象
  • 复制模型
boolean success = ollama.copy("llama2:latest", "llama2-backup"); // 如果复制过程成功返回 true
  • 删除模型
boolean success = ollama.delete("llama2-backup"); // 如果删除成功返回 true

三、 使用 Spring AI 调用 Ollama

Spring AI 简介

Spring AI 是一个专为人工智能工程而设计的应用框架。核心功能如下:

  • 跨 AI 提供商的 API 支持:Spring AI 提供了一套可移植的API,支持与多个 AI 服务提供商的聊天、文本到图像和嵌入模型进行交互。
  • 同步和流式 API 选项:框架支持同步和流式 API,为开发者提供了灵活的交互方式。
  • 模型特定功能访问:允许开发者通过配置参数访问特定模型的功能,提供了更细致的控制。

使用 Spring AI

  1. 在 pom.xml 中增加 Spring AI 依赖
<dependencies>
    <dependency>
        <groupId>io.springboot.ai</groupId>
        <artifactld>spring-ai-ollama-spring-boot-starter</artifactld>
        <version>1.0.3</version>
    </dependency>
</dependencies>

注意:在使用 IDEA 创建项目时,可以直接指定依赖,系统自动完成 pom.xml 文件,不需要手动修改,如下图所示: alt text

  1. 在 Spring Boot 应用的配置文件中添加 Spring AI 和 Ollama 的配置。例如:
ai:
    ollama:
      base-url: http://localhost:11434
      chat:
        options:
          model: llama3.1:latest
  1. 使用 Ollama 进行文字生成或者对话:

首先创建一个 Spring Boot 控制器来调用 Ollama API:

import jakarta.annotation.Resource;
import org.springframework.ai.chat.model.ChatResponse;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.ai.ollama.OllamaChatModel;
import org.springframework.ai.ollama.api.OllamaOptions;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class OllamaController {
    @Resource
    private OllamaChatModel ollamaChatModel;

    @RequestMapping(value = "/ai/ollama")
    public Object ollama(@RequestParam(value = "msg")String msg){
        ChatResponse chatResponse=ollamaChatModel.call(new Prompt(msg, OllamaOptions.create()
                .withModel("llama3.1:latest")//指定使用哪个大模型
                .withTemperature(0.5F)));
        System.out.println(chatResponse.getResult().getOutput().getContent());
        return chatResponse.getResult().getOutput().getContent();
    }

}

随后运行该项目,在浏览器中输入网址 http://localhost:8080/ai/ollama?msg="提示词" 即可,结果如下图:

alt text

参考文档