تقوم نماذج اللغة الكبيرة (LLMS) بتحويل الحقول المختلفة ، بما في ذلك تطوير البرمجيات. تتيح قدرتهم على فهم وإنشاء النص (وأنواع البيانات الأخرى) اقتراح الكود ، والتصحيح ، وحتى التوليد من المطالبات النصية. تستكشف هذه المقالة مكتبة Jlama ، وهو حل قائم على Java لدمج LLMs في النظام البيئي Java. يوفر Jlama المرونة ، قابلة للاستخدام كواجهة سطر الأوامر (CLI) أو كاعتماد في مشاريعك (على سبيل المثال ، عبر pom.xml
). سنقوم بإظهار وظائفها من خلال دمجها مع تطبيق
يتطلب jlama
java 20 أو أعلىبسبب استخدامه لواجهة واجهة برمجة تطبيقات Java Vector. يمكن للمستخدمين الموجودين Langchain دمجها مع Jlama ، والاستفادة من أدوات Langchain للتفاعل LLM المبسط. يتميز هذا المثال بمشروع نقطتين يتفاعلان مع LLMs من خلال مطالبات:
نقطة نهاية jlama فقط.
Jlama Endpoint
@postmapping ("/jlama") // نقطة النهاية لوظيفة دردشة Jlama الاستجابة العامة
@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));
}
// تحديد النموذج والدليل للتنزيل (إذا لزم الأمر) من وجه المعانقة نموذج السلسلة = "tjake/llama-3.2-1b-instruct-jq4" ؛ سلسلة workdirectory = "./models" ؛ // التنزيل (إذا لزم الأمر) أو استرداد النموذج محليًا ملف localModelPath = تنزيل جديد (WorkDirectory ، Model) .huggingFaceModel () ؛ // تحميل النموذج modelsupport.loadModel (localModelPath ، dtype.f32 ، dtype.i8) ؛
// 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") استجابة عامة
@PostMapping("/langchain")
public ResponseEntity
الروابط والمراجع
استلهم هذا المشروع من عرض البروفيسور إيسيدرو في سوجافا. [رابط إلى العرض التقديمي (استبدل برابط فعلي إذا كان متاحًا)]
وثائق مفيدة:
jlama on github [رابط إلى jlama github (استبدل برابط فعلي)]
يوفر Jlama و Langchain طريقة قوية لدمج LLMs في تطبيقات Java. أوضحت هذه المقالة كيفية تكوين هذه الأدوات واستخدامها باستخدام Boot SPRING لإنشاء نقاط نهاية معالجة نصي فعالة.
هل عملت مع LLMS في مشاريع Java؟ شارك خبراتك ورؤيتك في التعليقات!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3