Rumah >Java >javaTutorial >Meneroka Perpustakaan Jlama dengan Spring Boot dan Langchain
Jlama , penyelesaian berasaskan Java untuk mengintegrasikan LLM ke dalam ekosistem Java. Jlama menawarkan fleksibiliti, boleh digunakan sebagai antara muka baris arahan (CLI) atau sebagai kebergantungan dalam projek anda (mis., Via ). Kami akan menunjukkan fungsinya dengan mengintegrasikannya dengan aplikasi pom.xml
Spring Boot .
Prasyarat dan sorotan
Jlama memerlukan Java 20 atau lebih tinggi kerana penggunaan API vektor Java. Pengguna yang sedia ada boleh mengintegrasikannya dengan Jlama, memanfaatkan alat Langchain untuk interaksi LLM yang dipermudahkan.
Contoh Projek ini mempunyai dua titik akhir yang berinteraksi dengan LLM melalui petikan:
titik akhir jlama sahaja.
Jlama Endpoint
Model yang dikehendaki ditakrifkan. Jika tidak tersedia secara tempatan, ia dimuat turun secara automatik ke direktori yang ditentukan. Konteks segera dibuat, dan Jlama menjana respons.
<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>
Langchain dan Jlama Endpoint
<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>
Langchain memudahkan pelaksanaan dengan menentukan model dan parameter secara langsung di dalam pembina.
<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>
Pautan dan rujukan
Projek ini diilhamkan oleh persembahan Profesor Isidro di Soajava. [Pautan ke persembahan (ganti dengan pautan sebenar jika tersedia)]
Dokumentasi yang berguna:
jlama on github [pautan ke jlama gitHub (gantikan dengan pautan sebenar)]
Jlama dan Langchain menyediakan cara yang kuat untuk mengintegrasikan LLM ke dalam aplikasi Java. Artikel ini menunjukkan cara mengkonfigurasi dan menggunakan alat ini dengan Spring Boot untuk membuat titik akhir pemprosesan prompt teks yang cekap.
Adakah anda bekerja dengan LLMS dalam projek Java? Kongsi pengalaman dan pandangan anda dalam komen!
Atas ialah kandungan terperinci Meneroka Perpustakaan Jlama dengan Spring Boot dan Langchain. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!