تتوفّر واجهات برمجة التطبيقات التالية لوقت التشغيل LiteRT لتطوير تطبيقات Android:
CompiledModelواجهة برمجة التطبيقات: المعيار الحديث للاستنتاج عالي الأداء، ما يؤدي إلى تبسيط عملية تسريع الأجهزة على مستوى وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU) ووحدة المعالجة العصبية (NPU). مزيد من المعلومات حول أسباب اختيار CompiledModel APIInterpreterAPI: هي واجهة برمجة التطبيقات الأساسية للاستدلال، ويتم صيانتها لضمان التوافق مع الإصدارات القديمة.
بدء استخدام واجهة برمجة التطبيقات CompiledModel
بالنسبة إلى نماذج تعلُّم الآلة الكلاسيكية، يمكنك الاطّلاع على التطبيقات التجريبية التالية.
- تطبيق تقسيم الصور بلغة Kotlin: استنتاج وحدة المعالجة المركزية/وحدة معالجة الرسومات/وحدة المعالجة العصبية
- تطبيق C++ لتقسيم الصور: استنتاج وحدة المعالجة المركزية/وحدة معالجة الرسومات/وحدة المعالجة العصبية مع تنفيذ غير متزامن
بالنسبة إلى نماذج الذكاء الاصطناعي التوليدي، يمكنك الاطّلاع على التطبيقات التجريبية التالية:
- تطبيق C++ للتشابه الدلالي EmbeddingGemma: الاستدلال على وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU) أو وحدة المعالجة العصبية (NPU)
إصدارات Android وواجهات برمجة التطبيقات المتوافقة
| إصدار LiteRT | الحالة | واجهة برمجة التطبيقات المتوافقة | الحد الأدنى لمستوى حزمة تطوير البرامج (SDK) | الحد الأدنى لإصدار NDK (في حال استخدامه) | تاريخ الإصدار |
|---|---|---|---|---|---|
v2.1.4 |
✅ الأحدث | CompiledModel Interpreter(وحدة المعالجة المركزية فقط) |
23 (الإصدار 6 من نظام التشغيل Android المعروف باسم Marshmallow) |
r26a |
2026-04-10 |
v2.1.3 |
⚠️ قديم | CompiledModel Interpreter(وحدة المعالجة المركزية فقط) |
23 (الإصدار 6 من نظام التشغيل Android المعروف باسم Marshmallow) |
r26a |
2026-03-16 |
v2.1.1 |
⚠️ قديم | CompiledModel Interpreter(وحدة المعالجة المركزية فقط) |
23 (الإصدار 6 من نظام التشغيل Android المعروف باسم Marshmallow) |
r26a |
2026-01-27 |
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.2 |
✅ الأحدث | Interpreter |
21 (الإصدار 5 من نظام التشغيل Android Lollipop) |
r26a |
2026-03-16 |
v1.4.1 |
⚠️ قديم | Interpreter |
21 (الإصدار 5 من نظام التشغيل Android Lollipop) |
r26a |
2025-11-07 |
v1.4.0 |
⚠️ قديم | Interpreter |
26 (Android 8 Oreo) |
r26a |
2025-06-25 |
v1.3.0 |
⚠️ قديم | Interpreter |
21 (الإصدار 5 من نظام التشغيل Android Lollipop) |
r26a |
2025-05-19 |
v1.2.0 |
⚠️ قديم | Interpreter |
21 (الإصدار 5 من نظام التشغيل Android Lollipop) |
r26a |
2025-03-13 |
ملاحظة مهمة: احرص على تحديث التبعيات لضمان التوافق مع أحدث الميزات وتحديثات الأمان.
البدء السريع باستخدام واجهة برمجة التطبيقات CompiledModel
أضِف حزمة 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));