偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java 開(kāi)發(fā)者必看!用 Quarkus + LangChain4j 實(shí)現(xiàn)本地 Ollama 的 AI 深度集成

人工智能
在 Quarkus 框架中,利用 LangChain4j 實(shí)現(xiàn) Ollama 模型的集成,這一過(guò)程簡(jiǎn)潔高效。將 Ollama 模型部署在本地,能夠確保數(shù)據(jù)的自主性與安全性,讓開(kāi)發(fā)者對(duì)數(shù)據(jù)擁有完全的掌控權(quán)。

在探索AI與現(xiàn)代技術(shù)棧融合的道路上,搭建一個(gè)能在本地高效運(yùn)行的智能交互應(yīng)用是個(gè)不錯(cuò)的實(shí)踐方向。

本文介紹如何構(gòu)建 Quarkus 應(yīng)用程序。該程序會(huì)設(shè)置 REST 端點(diǎn),借助 LangChain4j 調(diào)用本地 Ollama 模型,用戶調(diào)用端點(diǎn)發(fā)問(wèn)題,即可獲取模型響應(yīng)。

整個(gè)部署過(guò)程均在本地計(jì)算機(jī)上完成,無(wú)需API密鑰或訂閱服務(wù),是純粹的AI集成技術(shù)實(shí)踐。僅需幾個(gè)簡(jiǎn)單步驟,就能讓這套系統(tǒng)順利運(yùn)行起來(lái),一起開(kāi)始吧!

1.安裝Ollama

訪問(wèn)Ollama官網(wǎng):https://ollama.com/download 。

根據(jù)你的操作系統(tǒng)下載相應(yīng)文件,并像安裝其他應(yīng)用程序一樣進(jìn)行安裝。安裝完成后會(huì)得到ollama命令行工具,之后就能用簡(jiǎn)單命令在本地運(yùn)行Ollama模型,比如:

ollama run llama3.2:1b

這條命令會(huì)運(yùn)行目前Ollama中最小的模型(約1.3GB)。雖然這個(gè)模型表現(xiàn)不算出色,但它體積小,在本地運(yùn)行速度很快,非常適合我們的使用場(chǎng)景。之后你可以嘗試Ollama提供的所有免費(fèi)模型,具體可查看https://ollama.com/library。

在終端運(yùn)行上述命令后,你會(huì)看到類似這樣的內(nèi)容:模型開(kāi)始下載、運(yùn)行,并打開(kāi)一個(gè)提示框,在其中可以與大語(yǔ)言模型進(jìn)行聊天。

圖片圖片

同時(shí),這會(huì)在本地主機(jī)上暴露一個(gè)HTTP API,我們接下來(lái)借助Quarkus和langchain4j擴(kuò)展與之交互。

2.創(chuàng)建簡(jiǎn)單的Quarkus項(xiàng)目

訪問(wèn)code.quarkus.dev,配置以下應(yīng)用程序:

圖片圖片

你可以按自己的喜好命名項(xiàng)目,添加上述兩個(gè)擴(kuò)展,然后下載項(xiàng)目。接著,在你喜歡的集成開(kāi)發(fā)環(huán)境(文章所有示例中都使用IntelliJ)中打開(kāi)該項(xiàng)目。

現(xiàn)在,在src/main/java目錄下創(chuàng)建一個(gè)名為OllamaService的新Java類,并添加以下內(nèi)容:

package com.tsvetkov;

import dev.langchain4j.service.UserMessage;
import io.quarkiverse.langchain4j.RegisterAiService;
import jakarta.enterprise.context.ApplicationScoped;

@RegisterAiService
@ApplicationScoped
public interface OllamaService {

    public String answer(@UserMessage String question);

}

還需要在application.properties文件中明確設(shè)置上一步下載的模型:

quarkus.langchain4j.ollama.chat-model.model-id=llama3.2:1b

3.創(chuàng)建REST端點(diǎn)

現(xiàn)在,讓我們創(chuàng)建一個(gè)REST端點(diǎn),用問(wèn)題調(diào)用服務(wù)并獲取結(jié)果。在src/main/java目錄下創(chuàng)建一個(gè)新文件:

package com.tsvetkov;

import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

@Path("/ollama")
publicclass OllamaController {

    @Inject
    OllamaService ollamaService;

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String question() {
        return ollamaService.answer("How are you?");
    }
}

現(xiàn)在,你可以打開(kāi)終端啟動(dòng)應(yīng)用程序:

./gradlew quarkusDev

應(yīng)該會(huì)看到如下輸出:

Quarkus啟動(dòng)日志Quarkus啟動(dòng)日志

4.從應(yīng)用程序中調(diào)用Ollama模型并返回結(jié)果

現(xiàn)在,我們可以調(diào)用/ollama端點(diǎn)并獲取結(jié)果。這里使用Postman進(jìn)行測(cè)試:

Postman對(duì)http://localhost:8080/ollama的GET請(qǐng)求Postman對(duì)http://localhost:8080/ollama的GET請(qǐng)求

就這樣,我們從模型得到了答案!

我們甚至還能更進(jìn)一步,使用提示模板(Prompt Templates)。這些模板可用于引導(dǎo)模型的響應(yīng),你可以盡情發(fā)揮創(chuàng)意!例如,我們可以讓模型表現(xiàn)得像個(gè)海盜。

將OllamaService修改如下:

package com.tsvetkov;

import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import io.quarkiverse.langchain4j.RegisterAiService;
import jakarta.enterprise.context.ApplicationScoped;

@RegisterAiService
@ApplicationScoped
publicinterface OllamaService {

    @SystemMessage("""
        Act like a pirate. Speak with pirate lingo, be bold, and add a sense of adventure in your responses.
        """
    )
    String answer(@UserMessage String question);

}

現(xiàn)在,當(dāng)我們?cè)L問(wèn)/ollama端點(diǎn)時(shí),得到的答案如下:

模型模仿海盜給出的答案模型模仿海盜給出的答案

5.總結(jié)與展望

在 Quarkus 框架中,利用 LangChain4j 實(shí)現(xiàn) Ollama 模型的集成,這一過(guò)程簡(jiǎn)潔高效。將 Ollama 模型部署在本地,能夠確保數(shù)據(jù)的自主性與安全性,讓開(kāi)發(fā)者對(duì)數(shù)據(jù)擁有完全的掌控權(quán)。

Java 技術(shù)近年來(lái)發(fā)展迅猛,不僅版本迭代帶來(lái)諸多新特性,像 Quarkus 這樣的優(yōu)秀框架更是極大地優(yōu)化了技術(shù)棧的使用體驗(yàn)。借助 Java 生態(tài),開(kāi)發(fā)者可以輕松進(jìn)行快速原型開(kāi)發(fā),探索人工智能和機(jī)器學(xué)習(xí)技術(shù),獲得良好的開(kāi)發(fā)體驗(yàn)。

這對(duì)于新開(kāi)發(fā)者而言,無(wú)疑是一個(gè)低門檻接觸前沿技術(shù)的契機(jī),能夠幫助他們快速上手實(shí)踐。同時(shí),也為這些技術(shù)在實(shí)際企業(yè)應(yīng)用中的落地提供了可行范例,有力推動(dòng)了人工智能和機(jī)器學(xué)習(xí)技術(shù)在企業(yè)級(jí)項(xiàng)目中的廣泛應(yīng)用與創(chuàng)新發(fā)展。

責(zé)任編輯:武曉燕 來(lái)源: Java學(xué)研大本營(yíng)
相關(guān)推薦

2025-03-31 00:44:00

JavaAI開(kāi)發(fā)

2024-05-14 09:57:10

人工智能QuarkusLLM

2025-10-10 09:03:18

2025-04-22 03:00:00

模型SpringAI

2025-05-07 08:14:58

2025-05-07 02:22:00

2025-09-01 07:14:59

2025-05-06 08:09:50

2025-05-12 08:00:55

2025-05-09 10:31:04

2025-05-06 08:21:35

2011-08-01 16:39:21

Xcode 目錄結(jié)構(gòu)

2024-12-12 08:44:14

JabbaJDK工具

2014-03-25 09:29:11

扁平化設(shè)計(jì)歷史

2025-05-22 02:00:00

AI人工智能前端

2025-03-17 08:00:00

2021-12-22 16:53:31

Log4jLog4j庫(kù)零日漏洞

2025-02-10 08:18:27

JSON數(shù)據(jù)交換格式

2024-08-28 14:13:26

2019-08-16 10:55:37

開(kāi)發(fā)者技能AI
點(diǎn)贊
收藏

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