Rumah >Java >javaTutorial >Meneroka Perpustakaan Jlama dengan Spring Boot dan Langchain

Meneroka Perpustakaan Jlama dengan Spring Boot dan Langchain

Linda Hamilton
Linda Hamiltonasal
2025-01-28 04:16:13434semak imbas

Explorando a Biblioteca JLama com Spring Boot e LangChain

Model Bahasa Besar (LLMS) sedang mengubah pelbagai bidang, termasuk pembangunan perisian. Keupayaan mereka untuk memahami dan menjana teks (dan jenis data lain) membolehkan cadangan kod, pembetulan, dan juga generasi dari arahan teks. Artikel ini meneroka perpustakaan

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.
  • Langchain dan Jlama menggabungkan titik akhir.
Pelaksanaan Projek

Jlama Endpoint

titik akhir ini secara langsung menggunakan jlama untuk menghasilkan respons berdasarkan arahan pengguna.

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>

endpoint ini menggunakan langchain, mengurangkan kod yang diperlukan untuk interaksi jlama.

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)]
  • Langchain [pautan ke dokumentasi Langchain (ganti dengan pautan sebenar)]
Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Nota Maven (1)Artikel seterusnya:Nota Maven (1)