تتوفّر واجهات برمجة التطبيقات التالية لوقت التشغيل LiteRT لتطوير تطبيقات Android:
CompiledModelواجهة برمجة التطبيقات: المعيار الحديث للاستنتاج عالي الأداء الذي يسهّل تسريع الأجهزة على مستوى وحدة المعالجة المركزية ووحدة معالجة الرسومات ووحدة المعالجة العصبية مزيد من المعلومات حول أسباب اختيار CompiledModel APIInterpreterAPI: هي واجهة برمجة التطبيقات الأساسية للاستدلال، ويتم صيانتها لضمان التوافق مع الإصدارات القديمة.
بدء استخدام واجهة برمجة التطبيقات CompiledModel
بالنسبة إلى نماذج تعلُّم الآلة الكلاسيكية، يمكنك الاطّلاع على التطبيقات التجريبية التالية.
- تطبيق Kotlin لتقسيم الصور: الاستنتاج باستخدام وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو وحدة المعالجة العصبية (NPU)
- تطبيق C++ لتقسيم الصور: استنتاج وحدة المعالجة المركزية/وحدة معالجة الرسومات/وحدة المعالجة العصبية مع تنفيذ غير متزامن
بالنسبة إلى نماذج الذكاء الاصطناعي التوليدي، يمكنك الاطّلاع على التطبيقات التجريبية التالية:
- تطبيق C++ لتشابه المعاني في EmbeddingGemma: الاستدلال على وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو وحدة المعالجة العصبية (NPU)
إصدارات Android وواجهات برمجة التطبيقات المتوافقة
| إصدار LiteRT | الحالة | واجهة برمجة التطبيقات المتوافقة | الحد الأدنى لمستوى حزمة SDK | الحدّ الأدنى لإصدار NDK (في حال استخدامه) | تاريخ الإصدار |
|---|---|---|---|---|---|
v2.1.0 |
✅ الأحدث | CompiledModel Interpreter(وحدة المعالجة المركزية فقط) |
23 (الإصدار 6 من نظام التشغيل Android المعروف باسم Marshmallow) |
r26a |
2025-12-19 |
v2.0.3 |
⚠️ قديم | CompiledModel |
26 (Android 8 Oreo) |
r26a |
2025-11-08 |
v1.4.1 |
✅ الأحدث | Interpreter |
21 (Android 5 Lollipop) |
r26a |
2025-11-07 |
v1.4.0 |
⚠️ قديم | Interpreter |
26 (Android 8 Oreo) |
r26a |
2025-06-25 |
v1.3.0 |
⚠️ قديم | Interpreter |
21 (Android 5 Lollipop) |
r26a |
2025-05-19 |
v1.2.0 |
⚠️ قديم | Interpreter |
21 (Android 5 Lollipop) |
r26a |
2025-03-13 |
ملاحظة مهمة: احرص على تحديث التبعيات لضمان التوافق مع أحدث الميزات وتحديثات الأمان.
البدء السريع باستخدام واجهة CompiledModel API
أضِف حزمة LiteRT Maven إلى مشروع Android الخاص بك:
dependencies {
...
implementation `com.google.ai.edge.litert:litert:2.1.0`
}
يمكنك دمج نموذج .tflite مع واجهة برمجة التطبيقات CompiledModel. يوضّح مقتطف الرمز التالي عملية التنفيذ الأساسية في Kotlin وC++.
Kotlin
// Load model and initialize runtime
val compiledModel = CompiledModel.create(
"/path/to/mymodel.tflite",
CompiledModel.Options(Accelerator.CPU))
// Preallocate input/output buffers
val inputBuffers = compiledModel.createInputBuffers()
val outputBuffers = compiledModel.createOutputBuffers()
// Fill the input buffer
inputBuffers.get(0).writeFloat(input0)
inputBuffers.get(1).writeFloat(input1)
// Invoke
compiledModel.run(inputBuffers, outputBuffers)
// Read the output
val output = outputBuffers.get(0).readFloat()
C++
// Load model and initialize runtime
LITERT_ASSIGN_OR_RETURN(auto env, GetEnvironment());
LITERT_ASSIGN_OR_RETURN(auto options, GetOptions());
LITERT_ASSIGN_OR_RETURN(
auto compiled_model,
CompiledModel::Create(env, "/path/to/mymodel.tflite", options));
// Preallocate input/output buffers
LITERT_ASSIGN_OR_RETURN(auto input_buffers,compiled_model.CreateInputBuffers(signature_index));
LITERT_ASSIGN_OR_RETURN(auto output_buffers,compiled_model.CreateOutputBuffers(signature_index));
// Fill the input buffer
LITERT_ABORT_IF_ERROR(input_buffers[0].Write(input0));
LITERT_ABORT_IF_ERROR(input_buffers[1].Write(input1));
// Invoke
LITERT_ABORT_IF_ERROR(compiled_model.Run(signature_index, input_buffers, output_buffers));
// Read the output
LITERT_ABORT_IF_ERROR(output_buffers[0].Read(output0));