„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Entdecken Sie die JLAMA -Bibliothek mit Spring Boot und Langchain

Entdecken Sie die JLAMA -Bibliothek mit Spring Boot und Langchain

Gepostet am 2025-04-17
Durchsuche:987

Explorando a Biblioteca JLama com Spring Boot e LangChain

Großsprachige Modelle (LLMs) transformieren verschiedene Felder, einschließlich 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 jlama bibliothek, eine Java-basierte Lösung zur Integration von LLMs in das Java-Ökosystem untersucht. JLAMA bietet Flexibilität, nutzbar als Befehlszeilenschnittstelle (CLI) oder als Abhängigkeit in Ihren Projekten (z. B. über pom.xml ). Wir werden seine Funktionalität demonstrieren, indem wir sie in eine Spring Boot application.

integrieren.

Voraussetzungen und hervorhebt

jLama benötigt java 20 oder höher aufgrund der Verwendung der Java -Vektor -API. Existent langchain

Benutzer können es in JLAMA integrieren und Langchains Tools zur vereinfachten LLM -Interaktion nutzen.

Dieses Beispiel Projekt enthält zwei Endpunkte, die mit LLMs mit Aufgaben interagieren:
  • ein nur jlama-Endpunkt.
  • a langchain und jlama kombinierter Endpunkt.

project Implementation

jlama endpoint

Dieser Endpunkt verwendet JLAMA direkt, um Antworten basierend auf Benutzeranforderungen zu generieren.
@PostMapping("/jlama") // Endpoint for JLama chat functionality
public ResponseEntity 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));
}

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.
// 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);

Langchain und Jlama Endpoint

Dieser Endpunkt verwendet Langchain und reduziert den für die JLAMA -Interaktion erforderlichen Code.
@PostMapping("/langchain")
public ResponseEntity 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);
}

Langchain vereinfacht die Implementierung, indem das Modell und die Parameter direkt im Erbauer definiert werden.

Links und Referenzen

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

Nützliche Dokumentation:
  • jlama auf github [link zu jlama github (ersetzen mit tatsächlicher link)]
  • Langchain [Link zur Langchain -Dokumentation (ersetzen Sie mit dem tatsächlichen Link)]

Abschluss

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.

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

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3