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 -APIJava 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:
Projektimplementierung
JLAMA -Endpunkt
<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>
<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>
<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>
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:
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!