Heim > Java > javaLernprogramm > Erkundung der JLAMA -Bibliothek mit Spring Boot und Langchain

Erkundung der JLAMA -Bibliothek mit Spring Boot und Langchain

Linda Hamilton
Freigeben: 2025-01-28 04:16:13
Original
396 Leute haben es durchsucht

Explorando a Biblioteca JLama com Spring Boot e LangChain

große Sprachmodelle (LLMs) transformieren verschiedene Felder, einschließlich der Softwareentwicklung. Ihre Fähigkeit, Text (und andere Datentypen) zu verstehen und zu generieren, ermöglicht Codevorschlag, Korrektur und sogar die Erzeugung von textlichen Eingabeaufforderungen. In diesem Artikel wird die Bibliothek JLAMA untersucht, eine Java-basierte Lösung zur Integration von LLMs in das Java-Ökosystem. JLAMA bietet Flexibilität, nutzbar als Befehlszeilenschnittstelle (CLI) oder als Abhängigkeit von Ihren Projekten (z. B. über pom.xml). Wir werden seine Funktionalität demonstrieren, indem wir sie in eine Spring -Start -Anwendung integrieren.

Voraussetzungen und Highlights

JLAMA benötigt aufgrund ihrer Verwendung der Java -Vektor -API

Java 20 oder höher . Bestehende Langchain Benutzer können es in JLAMA integrieren und die Tools von Langchain zur vereinfachten LLM -Interaktion nutzen.

Dieses Beispiel für Projekte verfügt über zwei Endpunkte, die mit LLMs mit Eingabeaufforderungen interagieren:

    Ein nur jLAMA-Endpunkt.
  • a langchain und jlama kombinierter Endpunkt.

Projektimplementierung

JLAMA -Endpunkt

Dieser Endpunkt verwendet JLAMA direkt, um Antworten basierend auf Benutzeranforderungen zu generieren.

<code class="language-java">@PostMapping("/jlama") // Endpoint for JLama chat functionality
public ResponseEntity<ChatPromptResponse> chatJlama(@RequestBody ChatPromptRequest request) {
    PromptContext context;
    if (abstractModel.promptSupport().isPresent()) {
        context = abstractModel.promptSupport()
                .get()
                .builder()
                .addSystemMessage("You are a helpful chatbot providing concise answers.")
                .addUserMessage(request.prompt())
                .build();
    } else {
        context = PromptContext.of(request.prompt());
    }

    System.out.println("Prompt: " + context.getPrompt() + "\n");
    Generator.Response response = abstractModel
            .generate(UUID.randomUUID(), context, 0.0f, 256, (s, f) -> {});
    System.out.println(response.responseText);

    return ResponseEntity.ok(new ChatPromptResponse(response.responseText));
}</code>
Nach dem Login kopieren
Das gewünschte Modell ist definiert. Wenn nicht lokal verfügbar, wird es automatisch in das angegebene Verzeichnis heruntergeladen. Der schnelle Kontext wird erstellt, und JLAMA generiert die Antwort.

<code class="language-java">// Defining the model and directory for downloading (if needed) from Hugging Face
String model = "tjake/Llama-3.2-1B-Instruct-JQ4";
String workingDirectory = "./models";

// Downloading (if necessary) or retrieving the model locally
File localModelPath = new Downloader(workingDirectory, model).huggingFaceModel();

// Loading the model
ModelSupport.loadModel(localModelPath, DType.F32, DType.I8);</code>
Nach dem Login kopieren
Langchain und Jlama Endpoint

Dieser Endpunkt verwendet Langchain und reduziert den für die JLAMA -Interaktion erforderlichen Code.

<code class="language-java">@PostMapping("/langchain")
public ResponseEntity<Object> chatLangChain(@RequestBody ChatPromptRequest request) {
    var model = JlamaChatModel.builder()
            .modelName("meta-llama/Llama-3.2-1B")
            .temperature(0.7f)
            .build();

    var promptResponse = model.generate(
                    SystemMessage.from("You are a helpful chatbot providing the shortest possible response."),
                    UserMessage.from(request.prompt()))
            .content()
            .text();

    System.out.println("\n" + promptResponse + "\n");

    return ResponseEntity.ok(promptResponse);
}</code>
Nach dem Login kopieren
Langchain vereinfacht die Implementierung, indem das Modell und die Parameter direkt im Bauherr definiert werden.

Links und Referenzen

Dieses Projekt wurde von der Präsentation von Professor Isidro in Soujava inspiriert. [Link zur Präsentation (ersetzen Sie, falls dies verfügbar ist)]

Nützliche Dokumentation:

    JLAMA ON GITHUB [Link zu Jlama GitHub (ersetzen Sie mit tatsächlicher Verbindung)]
  • Langchain [Link zur Langchain -Dokumentation (Ersetzen Sie mit der tatsächlichen Verbindung)]

Schlussfolgerung

jlama und Langchain bieten eine leistungsstarke Möglichkeit, LLMs in Java -Anwendungen zu integrieren. In diesem Artikel wurde gezeigt, wie man diese Tools mit Spring Boot konfiguriert und verwendet, um effiziente textliche Eingabeaufforderungs -Verarbeitungsendpunkte zu erstellen.

Haben Sie mit LLMs in Java -Projekten gearbeitet? Teilen Sie Ihre Erfahrungen und Erkenntnisse in den Kommentaren mit!

Das obige ist der detaillierte Inhalt vonErkundung der JLAMA -Bibliothek mit Spring Boot und Langchain. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage