成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring AI + Ollama 實(shí)現(xiàn) DeepSeek-R1 的API服務(wù)和調(diào)用

人工智能
Spring AI 呢,它就像是一個(gè)超級(jí)助手,專(zhuān)門(mén)為咱們開(kāi)發(fā)人工智能應(yīng)用提供各種便利。它基于咱們熟悉的 Spring 框架,有一套現(xiàn)成的工具和組件,能讓咱快速搭建起人工智能相關(guān)的功能。

兄弟們,今天咱來(lái)聊聊一個(gè)超有意思的技術(shù)組合 ——Spring AI + Ollama 實(shí)現(xiàn) deepseek - r1 的 API 服務(wù)和調(diào)用。咱都知道,人工智能這幾年那可是火得一塌糊涂,各種大模型你方唱罷我登場(chǎng)。deepseek - r1 就是其中一個(gè)挺厲害的模型,那怎么把它用起來(lái),讓它為咱們的項(xiàng)目服務(wù)呢?這就輪到 Spring AI 和 Ollama 閃亮登場(chǎng)啦!

一、啥是 Spring AI、Ollama 和 deepseek - r1

(一)Spring AI

Spring AI 呢,它就像是一個(gè)超級(jí)助手,專(zhuān)門(mén)為咱們開(kāi)發(fā)人工智能應(yīng)用提供各種便利。它基于咱們熟悉的 Spring 框架,有一套現(xiàn)成的工具和組件,能讓咱快速搭建起人工智能相關(guān)的功能。比如說(shuō),它能幫咱們輕松地集成各種大模型,管理模型的調(diào)用,處理輸入輸出啥的,就像給咱們的項(xiàng)目裝上了一個(gè)智能引擎,讓開(kāi)發(fā) AI 應(yīng)用變得簡(jiǎn)單又高效。

(二)Ollama

Ollama 又是什么呢?它是一個(gè)運(yùn)行和管理大語(yǔ)言模型的平臺(tái)。它的好處就在于,咱們不用費(fèi)老大勁去自己部署和管理模型了,Ollama 幫咱們把這些麻煩事都搞定。它支持好多主流的大模型,而且提供了簡(jiǎn)單易用的 API,咱們可以通過(guò)這些 API 很方便地和模型進(jìn)行交互,讓模型給咱們干活。

(三)deepseek - r1

deepseek - r1 可是個(gè)實(shí)力派選手,它是一個(gè)功能強(qiáng)大的大模型,在自然語(yǔ)言處理方面表現(xiàn)相當(dāng)出色。能幫咱們做文本生成、問(wèn)答系統(tǒng)、智能客服等等好多實(shí)用的功能。今天咱就來(lái)看看怎么把它和 Spring AI、Ollama 一起搭配,發(fā)揮出最大的威力。

二、準(zhǔn)備工作

在開(kāi)始動(dòng)手之前,咱得先把環(huán)境搭好。首先,你得確保你的開(kāi)發(fā)環(huán)境里有 Java。要是沒(méi)有的話,趕緊去下載安裝一個(gè),現(xiàn)在 Java 最新版都挺好用的,安裝過(guò)程也不難,按照提示一步一步來(lái)就行。

然后呢,咱們得安裝 Maven。Maven 是干啥的呢?它就像是一個(gè)大管家,幫咱們管理項(xiàng)目里用到的各種依賴。比如說(shuō),咱們要用 Spring AI 和 Ollama,就可以通過(guò) Maven 很方便地把它們加到咱們的項(xiàng)目里。安裝 Maven 也很簡(jiǎn)單,去 Maven 的官網(wǎng)下載安裝包,解壓之后配置一下環(huán)境變量就搞定啦。

接下來(lái),咱們還得安裝 Ollama。Ollama 的安裝也不復(fù)雜,它支持好幾種操作系統(tǒng)。你可以去 Ollama 的官網(wǎng),按照它給的安裝指南,根據(jù)你自己的操作系統(tǒng)來(lái)安裝。安裝好之后,啟動(dòng) Ollama,確保它在正常運(yùn)行。

三、創(chuàng)建 Spring Boot 項(xiàng)目

環(huán)境搭好之后,咱就可以開(kāi)始創(chuàng)建 Spring Boot 項(xiàng)目啦。打開(kāi)你喜歡的 IDE,比如說(shuō) IntelliJ IDEA 或者 Eclipse。在 IDE 里創(chuàng)建一個(gè)新的 Spring Boot 項(xiàng)目,這里選擇 Maven 項(xiàng)目,然后在項(xiàng)目的pom.xml文件里添加 Spring AI 和 Ollama 相關(guān)的依賴。

<dependencies>
    <!-- Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!-- Spring AI -->
    <dependency>
        <groupId>io.micronaut.ai</groupId>
        <artifactId>micronaut-ai-openai</artifactId>
        <version>1.0.0</version>
    </dependency>
    <!-- Ollama -->
    <dependency>
        <groupId>com.github.jillesvangurp</groupId>
        <artifactId>ollama-java</artifactId>
        <version>0.1.0</version>
    </dependency>
</dependencies>

這些依賴就是咱們項(xiàng)目的 “彈藥庫(kù)”,有了它們,咱們才能在項(xiàng)目里使用 Spring AI 和 Ollama 的各種功能。添加好依賴之后,Maven 會(huì)自動(dòng)幫咱們下載這些依賴包,耐心等一會(huì)兒就行。

四、配置 Ollama 客戶端

接下來(lái),咱們得配置一下 Ollama 客戶端,這樣咱們的 Spring Boot 項(xiàng)目才能和 Ollama 進(jìn)行通信。在 Spring Boot 項(xiàng)目的src/main/resources目錄下創(chuàng)建一個(gè)application.properties文件,然后在里面添加 Ollama 的配置信息。

ollama.url=http://localhost:11434
ollama.url=http://localhost:11434

這里咱們假設(shè) Ollama 運(yùn)行在本地,端口是 11434,要是你安裝的時(shí)候改了端口,記得把這里的端口號(hào)也改成你自己的。

五、編寫(xiě)代碼調(diào)用 deepseek - r1

配置好之后,就到了最關(guān)鍵的部分啦,編寫(xiě)代碼來(lái)調(diào)用 deepseek - r1。咱們先創(chuàng)建一個(gè) Java 類(lèi),比如說(shuō)叫OllamaService,在這個(gè)類(lèi)里編寫(xiě)調(diào)用 Ollama 和 deepseek - r1 的方法。

import com.github.jillesvangurp.ollama.OllamaClient;
import com.github.jillesvangurp.ollama.api.ChatCompletionRequest;
import com.github.jillesvangurp.ollama.api.ChatCompletionResponse;
import com.github.jillesvangurp.ollama.api.Message;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

@Service
publicclass OllamaService {

    @Value("${ollama.url}")
    privateString ollamaUrl;

    publicString generateText(String prompt) {
        OllamaClient client = new OllamaClient(ollamaUrl);
        List<Message> messages = new ArrayList<>();
        messages.add(new Message("user", prompt));

        ChatCompletionRequest request = new ChatCompletionRequest("deepseek - r1", messages);
        ChatCompletionResponse response = null;
        try {
            response = client.createChatCompletion(request);
        } catch (IOException e) {
            e.printStackTrace();
        }
        assert response != null;
        return response.getChoices().get(0).getMessage().getContent();
    }
}

在這段代碼里,咱們首先創(chuàng)建了一個(gè)OllamaClient對(duì)象,用來(lái)和 Ollama 進(jìn)行通信。然后創(chuàng)建了一個(gè)ChatCompletionRequest對(duì)象,這里指定使用deepseek - r1模型,并且把用戶的輸入(也就是prompt)作為一條消息傳進(jìn)去。接著通過(guò)OllamaClient發(fā)送這個(gè)請(qǐng)求,得到ChatCompletionResponse,最后從響應(yīng)里取出模型生成的文本返回。

六、在 Controller 中使用服務(wù)

代碼寫(xiě)好了,怎么讓它跑起來(lái)呢?咱們還得創(chuàng)建一個(gè) Controller,在 Controller 里調(diào)用這個(gè)OllamaService。創(chuàng)建一個(gè)OllamaController類(lèi)。

import org.springframework.beans.factory.annotation.Autowired;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.RequestParam;
importorg.springframework.web.bind.annotation.RestController;

@RestController
public class OllamaController {

    @Autowired
    private OllamaService ollamaService;

    @GetMapping("/generate")
    public String generateText(@RequestParam String prompt) {
        returnollamaService.generateText(prompt);
    }
}

在這個(gè) Controller 里,咱們通過(guò)@Autowired注解把OllamaService注入進(jìn)來(lái),然后創(chuàng)建了一個(gè)/generate的接口,當(dāng)用戶訪問(wèn)這個(gè)接口并且傳入一個(gè)prompt參數(shù)的時(shí)候,就會(huì)調(diào)用OllamaService的generateText方法,返回模型生成的文本。

七、測(cè)試一下

現(xiàn)在,咱們的項(xiàng)目基本上就大功告成啦!啟動(dòng) Spring Boot 項(xiàng)目,等項(xiàng)目啟動(dòng)成功之后,打開(kāi)瀏覽器,輸入http://localhost:8080/generate?prompt=你好,給我講一個(gè)笑話(這里假設(shè)你的 Spring Boot 項(xiàng)目端口是 8080)。然后回車(chē),稍等一會(huì)兒,你就能看到瀏覽器里返回了一段由 deepseek - r1 模型生成的笑話。

怎么樣,是不是挺簡(jiǎn)單的?通過(guò) Spring AI 和 Ollama,咱們輕輕松松就實(shí)現(xiàn)了對(duì) deepseek - r1 模型的 API 服務(wù)和調(diào)用。當(dāng)然啦,這只是一個(gè)簡(jiǎn)單的示例,在實(shí)際項(xiàng)目中,你可以根據(jù)自己的需求對(duì)代碼進(jìn)行擴(kuò)展和優(yōu)化,比如說(shuō)增加更多的參數(shù)配置,處理更復(fù)雜的輸入輸出等等。

好啦,今天關(guān)于 Spring AI + Ollama 實(shí)現(xiàn) deepseek - r1 的 API 服務(wù)和調(diào)用就講到這里啦。

責(zé)任編輯:武曉燕 來(lái)源: 石杉的架構(gòu)筆記
相關(guān)推薦

2025-02-19 08:00:00

2025-06-06 03:11:00

LangGraphDeepSeek-RRAG

2025-02-19 08:33:18

2025-02-13 08:51:23

DeepSeek大模型

2025-02-06 10:18:45

2025-06-17 15:16:15

DeepSeekClaude 4AI

2025-03-13 08:13:47

DeepSeekMLLMVision-R1

2025-02-03 00:00:55

DeepSeekRAG系統(tǒng)

2025-06-12 09:48:27

2025-03-20 10:20:16

2025-02-19 08:00:00

SpringBootOllamaDeepSeek

2025-02-08 09:44:11

DeepSeekAI模型

2025-05-08 02:10:00

SpringAIAPI
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 亚洲一区二区三区在线播放 | 蜜桃免费一区二区三区 | 久久艹av| 精品不卡| 国产精品久久久久久久久免费 | 亚洲电影一级片 | 免费毛片www com cn | 欧美一二三区 | 麻豆亚洲 | 国产一区二区美女 | 亚洲九色 | 国产精品无码专区在线观看 | a在线观看免费 | 日本一二三区高清 | 成人黄色在线 | 久久国产成人 | 久久福利电影 | 午夜精品久久久久久久星辰影院 | 视频一区二区三区中文字幕 | 在线视频日韩 | 欧美一区二区三区四区在线 | 三级黄色片在线观看 | 国产91在线播放精品91 | 成人h免费观看视频 | 亚洲国产视频一区 | 亚洲一区久久 | 国产午夜亚洲精品不卡 | 日韩一区二区在线播放 | 国产精品久久久久久久久污网站 | 国产免费一区二区 | 91精品国产99久久 | 国产在线观看一区二区三区 | 国产片淫级awww | 中文字幕成人网 | 国产精品免费看 | 日一日操一操 | 国产综合久久 | 日韩在线资源 | 久久精品中文字幕 | 黄视频欧美 | 久久精品国产一区二区三区不卡 |