当前位置:   article > 正文

Spring AI和Ollama_ollama api

ollama api

概述

Spring AI 不仅提供了与 OpenAI 进行API交互,同样支持与 Ollama 进行API交互。Ollama 是一个发布在GitHub上的项目,专为运行、创建和分享大型语言模型而设计,可以轻松地在本地启动和运行大型语言模型。

Docker环境安装Ollama

1.获取Docker镜像。

docker pull ollama/ollama
  • 1

2.在 Docker 容器内运行 Ollama。

docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
  • 1

3.现在您可以在容器内运行像 Llama 2 这样的模型。

docker exec -it ollama ollama run llama2
  • 1

更多模型可以在Ollama 库中找到。

创建 Spring Boot 项目

首先引入相关依赖。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>3.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.ai</groupId>
        <artifactId>spring-ai-ollama</artifactId>
        <version>0.8.0-SNAPSHOT</version>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>spring-snapshots</id>
        <name>Spring Snapshots</name>
        <url>https://repo.spring.io/snapshot</url>
        <releases>
            <enabled>false</enabled>
        </releases>
    </repository>
</repositories>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

在 application.yml 中配置 Ollama 地址和使用的模型。

spring:
  ai:
    ollama:
      base-url: http://localhost:11434
      embedding:
        model: llama2
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里我们填写一个提示来测试下,ChatClient将调用Ollama的API接口。

@GetMapping("/top/fiction")
public String topCodeLanguage() {
    String message = "2023最受欢迎小说是什么";
    return chatClient.generate(message);
}
  • 1
  • 2
  • 3
  • 4
  • 5

我们稍微对上面的接口做些更改,我首先将一个路径变量放入请求,这样我们就可以将年份模板化。PromptTemplate旨在帮助创建结构化提示,我们通过add()方法插入动态内容,render()会渲染为最终字符串格式。

@GetMapping("/top/fiction/{year}")
public String topCodeLanguageByYear(@PathVariable("year") Integer year) {
    String message = "{year}最受欢迎小说是什么";
    PromptTemplate promptTemplate = new PromptTemplate(message);
    promptTemplate.add("year", year);
    return chatClient.generate(promptTemplate.render());
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

结论

我们已经完成了Spring AI 与Ollama的基本示例,与往常一样,本文中使用的源代码可在 GitHub 上获得。

一起学习的小伙伴可以关注下我的公众号,我会经常更新技术实践类文章,所有文章都会有相应源码供大家学习交流!
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/128422
推荐阅读
相关标签
  

闽ICP备14008679号