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