إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تمكنك حزمة تطوير البرمجيات المحلية من تقديم ميزات الذكاء الاصطناعي في تطبيقاتك القادرة على استخدام نماذج الذكاء الاصطناعي المحلية من خلال واجهة برمجة تطبيقات بسيطة وبديهية. تجريد مجموعة تطوير البرمجيات تعقيدات إدارة نماذج الذكاء الاصطناعي وتوفر تجربة سلسة لدمج قدرات الذكاء الاصطناعي المحلية في تطبيقاتك. يوثق هذا المرجع تطبيقات SDK لأنظمة C# وJavaScript وPython وRust.
لا تتطلب حزمة تطوير البرمجيات تثبيت واجهة Foundry Local CLI على جهاز المستخدم النهائي، مما يتيح لك شحن تطبيقاتك دون خطوات إعداد إضافية للمستخدمين - تطبيقاتك مكتفية ذاتيا. تشمل المزايا الإضافية لمجموعة تطوير الموارد المحلية للمسبح:
- اكتشاف الأجهزة وتحسينها: تقييم تلقائي للقدرات لوحدة معالجة الرسوميات، وحدة معالجة النقل، والمعالج.
- إدارة مزودي التنفيذ (Windows): تحميل وتسجيل تلقائي لمزودي تنفيذ ONNX المناسبين (CUDA، Vitis، QNN، OpenVINO، TensorRT) بناء على قدرات الجهاز.
- دعم Metal عبر WebGpu (macOS): دعم أصلي لتشغيل النماذج على Apple Silicon مع أداء محسن.
- الحصول على النماذج: تحميل سلس من كتالوج نماذج Foundry مع الإصدارات، والتحديثات، واختيار النماذج المحسن تلقائيا مع دعم احتياطي.
- وقت تشغيل فعال: يضيف حوالي 20 ميجابايت إلى حجم التطبيق، ويعمل على الأجهزة من الهواتف المحمولة إلى أجهزة سطح المكتب.
- توافق OpenAI مع واجهة برمجة التطبيقات (API): تكامل سهل مع نماذج وأدوات OpenAI.
- خادم REST اختياري: شغل Foundry Local كخدمة محلية يمكن الوصول إليها من قبل تطبيقات أخرى.
مرجع C# SDK
تثبيت الحزم
إذا كنت تطور أو تشحن على Windows، اختر تبويب Windows. تتكامل حزمة Windows مع وقت التشغيل Windows ML — حيث توفر نفس مساحة واجهة برمجة التطبيقات مع تسريع أوسع في الأجهزة.
dotnet add package Microsoft.AI.Foundry.Local.WinML
dotnet add package OpenAI
عينات C# في مستودع GitHub هي مشاريع مهيأة مسبقا. إذا كنت تبني من الصفر، يجب عليك قراءة مرجع Foundry Local SDK لمزيد من التفاصيل حول كيفية إعداد مشروع C# الخاص بك مع Foundry Local.
تكوين Project
تتضمن مستودعات العينات ملفا .csproj يتولى اكتشاف المنصة تلقائيا. إذا كنت تبني مشروعا من الصفر، استخدم هذا التكوين كمرجع:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<!-- Windows: target Windows SDK for WinML hardware acceleration -->
<PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
<TargetFramework>net9.0-windows10.0.18362.0</TargetFramework>
<Platforms>ARM64;x64</Platforms>
<WindowsPackageType>None</WindowsPackageType>
<EnableCoreMrtTooling>false</EnableCoreMrtTooling>
</PropertyGroup>
<!-- Non-Windows: standard .NET -->
<PropertyGroup Condition="!$([MSBuild]::IsOSPlatform('Windows'))">
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(RuntimeIdentifier)'==''">
<RuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier>
</PropertyGroup>
<!-- Windows: WinML for hardware acceleration -->
<ItemGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))">
<PackageReference Include="Microsoft.AI.Foundry.Local.WinML" />
</ItemGroup>
<!-- Non-Windows: standard SDK -->
<ItemGroup Condition="!$([MSBuild]::IsOSPlatform('Windows'))">
<PackageReference Include="Microsoft.AI.Foundry.Local" />
</ItemGroup>
<!-- Linux GPU support -->
<ItemGroup Condition="'$(RuntimeIdentifier)' == 'linux-x64'">
<PackageReference Include="Microsoft.ML.OnnxRuntime.Gpu" />
<PackageReference Include="Microsoft.ML.OnnxRuntimeGenAI.Cuda" />
</ItemGroup>
<!-- Shared utilities -->
<ItemGroup>
<Compile Include="../Shared/*.cs" />
</ItemGroup>
</Project>
الجدول التالي يشرح إعدادات المشروع الرئيسية:
| الإعدادات | الوصف |
|---|---|
TargetFramework |
على Windows، الأهداف net9.0-windows10.0.26100 لتسريع عتاد WinML. على منصات أخرى، الأهداف net9.0. |
WindowsAppSDKSelfContained |
ضبطه على false لاستخدام مجموعة تطوير تطبيقات Windows المثبت في النظام بدلا من تجميعه. |
WindowsPackageType |
تم ضبطه ليتم None بناؤه كتطبيق سطح مكتب غير مغلف (بدون تغليف MSIX). |
EnableCoreMrtTooling |
ضبطت على false تعطيل أدوات الموارد الأساسية لMRT، وهي ليست ضرورية لتطبيقات الكونسول. |
RuntimeIdentifier |
يقيم افتراضيا معرف وقت التشغيل في مجموعة تطوير البرمجيات الحالية، مما يضمن اختيار الثنائية الصحيحة للمنصة. |
Microsoft.AI.Foundry.Local.WinML |
حزمة Windows فقط تستخدم WinML لتسريع الأجهزة وإدارة مزودي التنفيذ التلقائي. |
Microsoft.AI.Foundry.Local |
حزمة متعددة المنصات لأنظمة macOS وLinux و Windows بدون WinML. |
Microsoft.ML.OnnxRuntime.Gpu / OnnxRuntimeGenAI.Cuda |
حزم دعم وحدات معالجة رسومات لينكس للأجهزة المدعومة ب CUDA. |
تشغيل سريع
استخدم هذا المقتطف للتحقق من أن مجموعة تطوير البرمجيات يمكنها تهيئة و access كتالوج النماذج المحلي.
using Microsoft.AI.Foundry.Local;
using Microsoft.Extensions.Logging;
using System.Linq;
var config = new Configuration
{
AppName = "app-name",
LogLevel = Microsoft.AI.Foundry.Local.LogLevel.Information,
};
using var loggerFactory = LoggerFactory.Create(builder =>
{
builder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Information);
});
var logger = loggerFactory.CreateLogger<Program>();
await FoundryLocalManager.CreateAsync(config, logger);
var manager = FoundryLocalManager.Instance;
var catalog = await manager.GetCatalogAsync();
var models = await catalog.ListModelsAsync();
Console.WriteLine($"Models available: {models.Count()}");
يطبع هذا المثال عدد النماذج المتاحة لأجهزتك.
العينات
- للحصول على تطبيقات نموذجية توضح كيفية استخدام SDK الخاص ب Foundry Local C# SDK، راجع ><عينات SDK المحلية C# GitHub المستودع.
مرجع واجهة برمجة التطبيقات
- لمزيد من التفاصيل حول مجموعة تطوير Foundry Local C# SDK، اقرأ Foundry Local C# SDK API المرجعي.
واجهة برمجة التطبيقات الأصلية لنسخ الصوت
تتضمن مجموعة تطوير تطوير C# عميل صوتي أصلي لنسخ ملفات الصوت على الجهاز باستخدام نماذج Whisper. يقوم هذا بتشغيل الاستدلال أثناء العملية دون الحاجة إلى خادم ويب REST.
احصل على عميل صوتي
بعد تحميل نموذج Whisper، احصل على عميل صوتي:
var audioClient = await model.GetAudioClientAsync();
طرق النسخ الصوتي
| الطريقة | التوقيع | الوصف |
|---|---|---|
TranscribeAudioStreamingAsync() |
(string audioFilePath, CancellationToken ct) => IAsyncEnumerable<TranscriptionChunk> |
نتائج النسخ في التدفقات قطعة قطعة. لكل قطعة خاصية معينة Text . |
إعدادات AudioClient
| الخاصية | النوع | الوصف |
|---|---|---|
Language |
string |
رمز لغة ISO 639-1 (على سبيل المثال، "en"). يحسن الدقة. |
Temperature |
float |
درجة حرارة العينة (0.0–1.0). القيم الأدنى أكثر حتمية. |
مثال
var audioClient = await model.GetAudioClientAsync();
audioClient.Settings.Language = "en";
audioClient.Settings.Temperature = 0.0f;
await foreach (var chunk in audioClient.TranscribeAudioStreamingAsync(
"recording.mp3", CancellationToken.None))
{
Console.Write(chunk.Text);
}
مراجع:
مرجع JavaScript SDK
تثبيت الحزم
إذا كنت تطور أو تشحن على Windows، اختر تبويب Windows. تتكامل حزمة Windows مع وقت التشغيل Windows ML — حيث توفر نفس مساحة واجهة برمجة التطبيقات مع تسريع أوسع في الأجهزة.
npm install foundry-local-sdk-winml openai
تشغيل سريع
استخدم هذا المقتطف للتحقق من أن مجموعة تطوير البرمجيات يمكنها تهيئة و access كتالوج النماذج المحلي.
import { FoundryLocalManager } from 'foundry-local-sdk';
console.log('Initializing Foundry Local SDK...');
const manager = FoundryLocalManager.create({
appName: 'foundry_local_samples',
logLevel: 'info'
});
console.log('✓ SDK initialized successfully');
// Explore available models
console.log('\nFetching available models...');
const catalog = manager.catalog;
const models = await catalog.getModels();
console.log(`Found ${models.length} models:`);
for (const model of models) {
console.log(` - ${model.alias}`);
}
هذا المثال يخرج قائمة النماذج المتاحة لأجهزتك.
العينات
- للتطبيقات النموذجية التي توضح كيفية استخدام مجموعة تطوير تطوير جافاسكريبت المحلية للمسبح، راجع <عينات GitHub مستودع c0>Foundry Local SDK.
مرجع واجهة برمجة التطبيقات
- لمزيد من التفاصيل حول مجموعة تطوير جافاسكريبت المحلية للمفاوندري، اقرأ مرجع واجهة برمجة التطبيقات الخاصة ب Foundry Local JavaScript SDK.
المرَاجِع
مرجع Python SDK
تثبيت الحزم
إذا كنت تطور أو تشحن على Windows، اختر تبويب Windows. تتكامل حزمة Windows مع وقت التشغيل Windows ML — حيث توفر نفس مساحة واجهة برمجة التطبيقات مع تسريع أوسع في الأجهزة.
pip install foundry-local-sdk-winml openai
تشغيل سريع
استخدم هذا المقتطف للتحقق من أن مجموعة تطوير البرمجيات يمكنها تهيئة و access كتالوج النماذج المحلي.
import asyncio
from foundry_local_sdk import Configuration, FoundryLocalManager
async def main():
config = Configuration(app_name="app-name")
FoundryLocalManager.initialize(config)
manager = FoundryLocalManager.instance
models = manager.catalog.list_models()
print(f"Models available: {len(models)}")
if __name__ == "__main__":
asyncio.run(main())
يطبع هذا المثال عدد النماذج المتاحة لأجهزتك.
العينات
- للحصول على تطبيقات نموذجية توضح كيفية استخدام مجموعة تطوير SDK المحلية Python Foundry، راجع Foundry Local SDK عينات GitHub المستودع.
الإعداد
تسمح لك الفئة Configuration بتخصيص سلوك SDK:
from foundry_local_sdk import Configuration
config = Configuration(
app_name="app-name",
log_level="info",
model_cache_dir="./foundry_local_data/model_cache",
web={"urls": "http://127.0.0.1:55588"},
)
| المعلمة | النوع | الوصف |
|---|---|---|
app_name |
str |
اسم طلبك. |
log_level |
str |
مستوى التسجيل (على سبيل المثال، "info"، "debug"). |
model_cache_dir |
str |
دليل للنماذج المخزنة مؤقتا. |
web |
dict |
تكوين خدمة الويب باستخدام urls المفتاح. |
واجهة برمجة التطبيقات الأساسية
| الطريقة | الوصف |
|---|---|
FoundryLocalManager.initialize(config) |
قم بتهيئة مدير الشخص الفردي باستخدام .Configuration |
FoundryLocalManager.instance |
الوصول إلى نسخة المدير المهيأة. |
manager.catalog.list_models() |
قم بإدراج جميع النماذج المتاحة في الكتالوج. |
manager.catalog.get_model(alias) |
احصل على عارض أزياء باسم مستعار. |
manager.catalog.get_cached_models() |
قائمة النماذج في ذاكرة التخزين المؤقت المحلية. |
manager.catalog.get_loaded_models() |
قائمة النماذج التي يتم تحميلها حاليا. |
model.download(progress_callback) |
قم بتحميل النموذج (يتخطى إذا تم تخزينه مؤقتا). |
model.load() |
قم بتحميل النموذج للاستنتاج. |
model.unload() |
قم بفرغ النموذج. |
model.is_cached |
تحقق مما إذا كان النموذج مخبأ محليا. |
model.is_loaded |
تحقق مما إذا كان النموذج محملا. |
واجهة برمجة تطبيقات إكمال المحادثات الأصلية
بعد تحميل نموذج، احصل على عميل دردشة:
client = model.get_chat_client()
| الطريقة | الوصف |
|---|---|
client.complete_chat(messages) |
أنشئ ردا كاملا على الدردشة. |
client.complete_streaming_chat(messages) |
استخدموا مقاطع الرد على الدردشة. |
واجهة برمجة التطبيقات الأصلية لنسخ الصوت
بعد تحميل نموذج Whisper، احصل على عميل صوتي:
audio_client = model.get_audio_client()
| الطريقة | الوصف |
|---|---|
audio_client.transcribe(file_path) |
قم بنسخ ملف صوتي. يعيد كائنا له text خاصية. |
مراجع:
مرجع Rust SDK
تثبيت الحزم
إذا كنت تطور أو تشحن على Windows، اختر تبويب Windows. تتكامل حزمة Windows مع وقت التشغيل Windows ML — حيث توفر نفس مساحة واجهة برمجة التطبيقات مع تسريع أوسع في الأجهزة.
cargo add foundry-local-sdk --features winml
cargo add tokio --features full
cargo add tokio-stream anyhow
تشغيل سريع
استخدم هذا المقتطف للتحقق من أن مجموعة تطوير البرمجيات يمكنها تهيئة و access كتالوج النماذج المحلي.
use foundry_local_sdk::{FoundryLocalConfig, FoundryLocalManager};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let manager = FoundryLocalManager::create(FoundryLocalConfig::new("app-name"))?;
let models = manager.catalog().get_models().await?;
println!("Models available: {}", models.len());
Ok(())
}
يطبع هذا المثال عدد النماذج المتاحة لأجهزتك.
العينات
- للحصول على نماذج تطبيقات توضح كيفية استخدام حزمة تطوير SDK المحلية للصدأ في Foundry، راجع ><عينات SDK المحلية GitHub المستودع.
الإعداد
يتيح لك الهيكل FoundryLocalConfig تخصيص سلوك SDK:
use foundry_local_sdk::FoundryLocalConfig;
let config = FoundryLocalConfig::new("app-name")
.with_log_level("info")
.with_model_cache_dir("./foundry_local_data/model_cache")
.with_web_urls("http://127.0.0.1:55588");
واجهة برمجة التطبيقات الأساسية
| الطريقة | الوصف |
|---|---|
FoundryLocalManager::create(config) |
أنشئ مديرا جديدا ب .FoundryLocalConfig |
manager.catalog().get_models().await |
اذكر جميع النماذج المتاحة. |
manager.catalog().get_model(alias).await |
احصل على عارض أزياء باسم مستعار. |
manager.catalog().get_cached_models().await |
قائمة النماذج في ذاكرة التخزين المؤقت المحلية. |
manager.catalog().get_loaded_models().await |
قائمة النماذج التي يتم تحميلها حاليا. |
model.download(callback).await |
قم بتحميل النموذج (يتخطى إذا تم تخزينه مؤقتا). |
model.load().await |
قم بتحميل النموذج للاستنتاج. |
model.unload().await |
قم بفرغ النموذج. |
واجهة برمجة تطبيقات إكمال المحادثات الأصلية
بعد تحميل نموذج، أنشئ عميل دردشة مع إعدادات اختيارية:
let client = model.create_chat_client()
.temperature(0.7)
.max_tokens(256);
| الطريقة | الوصف |
|---|---|
client.complete_chat(&messages, tools).await |
أنشئ ردا كاملا على الدردشة. |
client.complete_streaming_chat(&messages, tools).await |
استخدموا مقاطع الرد على الدردشة. |
أنواع الرسائل: ChatCompletionRequestSystemMessage, ChatCompletionRequestUserMessage, . ChatCompletionRequestMessage
واجهة برمجة التطبيقات الأصلية لنسخ الصوت
بعد تحميل نموذج Whisper، أنشئ عميل صوتي:
let audio_client = model.create_audio_client();
| الطريقة | الوصف |
|---|---|
audio_client.transcribe(file_path).await |
قم بنسخ ملف صوتي. يرجع كائنا بحقل text . |
مراجع: