大規模な言語モデル(LLM)は、ソフトウェア開発を含むさまざまな分野を変換しています。 テキスト(およびその他のデータ型)を理解して生成する能力により、テキストプロンプトからのコード提案、修正、さらには生成さえ可能になります。この記事では、LLMSをJavaエコシステムに統合するためのJavaベースのソリューションであるJlamaライブラリについて説明します。 JLAMAは、コマンドラインインターフェイス(CLI)として、またはプロジェクトの依存関係として使用可能な柔軟性を提供します(例:pom.xml
経由)。その機能は、 spring bootアプリケーションと統合することにより、その機能を実証します。
前提条件とハイライト
Jlamaは、Java Vector APIの使用により、Java 20以降を必要とします。 既存のlangchainユーザーは、Jlamaと統合でき、LangchainのツールをレバレッジしてLLM相互作用を簡素化します。 この例プロジェクトには、プロンプトを介してLLMSと対話する2つのエンドポイントがあります。
a jlamaのみのエンドポイント。
jlama endpoint
このエンドポイントは、JLAMAを直接利用して、ユーザープロンプトに基づいて応答を生成します。langchainとjlamaのエンドポイント
@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)); }
このエンドポイントはLangchainを使用して、Jlamaインタラクションに必要なコードを削減します。
// 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);
@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); }
有用なドキュメント:
jlama on github [Jlamagithubへのリンク(実際のリンクに置き換え)]
langchain [Langchainドキュメントへのリンク(実際のリンクに置き換え)]
以上がSpring BootとLangchainでJlama Libraryを探索しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。