إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
مهم
- يتوفر Foundry Local في المعاينة. توفر إصدارات المعاينة العامة access مبكرا إلى الميزات التي يتم نشرها بنشاط.
- يمكن أن تتغير الميزات والنهج والعمليات أو لديها قدرات محدودة، قبل التوفر العام (GA).
تمكنك حزمة تطوير Foundry Local من تقديم ميزات الذكاء الاصطناعي في تطبيقاتك قادرة على الاستفادة من نماذج الذكاء الاصطناعي المحلية من خلال واجهة برمجة تطبيقات بسيطة وبديهية. تجريد مجموعة تطوير البرمجيات تعقيدات إدارة نماذج الذكاء الاصطناعي وتوفر تجربة سلسة لدمج قدرات الذكاء الاصطناعي المحلية في تطبيقاتك. يوثق هذا المرجع تطبيقات SDK لجافاسكريبت وC#. سيتم إضافة المزيد من اللغات في المستقبل.
لا يتطلب SDK تثبيت واجهة سطر Foundry Local على جهاز المستخدم النهائي، مما يتيح لك شحن تطبيقاتك دون خطوات إعداد إضافية للمستخدمين - تطبيقاتك مكتفية ذاتيا. تشمل المزايا الإضافية لمجموعة تطوير الموارد المحلية للمسبح:
- اكتشاف الأجهزة وتحسينها: تقييم تلقائي للقدرات لوحدة معالجة الرسوميات، وحدة معالجة النقل، والمعالج.
- إدارة مزود التنفيذ (ويندوز): تحميل وتسجيل تلقائي لمزودي تنفيذ ONNX المناسبين (CUDA، Vitis، QNN، OpenVINO، TensorRT) بناء على قدرات الجهاز.
- دعم Metal عبر WebGpu (macOS): دعم أصلي لتشغيل النماذج على Apple Silicon مع أداء محسن.
- الحصول على النماذج: تحميل سلس من كتالوج نماذج Foundry مع الإصدارات، والتحديثات، واختيار النماذج المحسنة تلقائيا مع دعم احتياطي.
- وقت تشغيل فعال: يضيف <20 ميجابايت إلى حجم التطبيق، ويعمل على الأجهزة من الهواتف المحمولة إلى أجهزة الكمبيوتر المكتبية.
- توافق OpenAI مع واجهة برمجة التطبيقات (API): تكامل سهل مع نماذج وأدوات OpenAI.
- خادم REST اختياري: شغل Foundry Local كخدمة محلية يمكن الوصول إليها من قبل تطبيقات أخرى.
مرجع JavaScript SDK
إعداد المشروع
الهيكلية عالية المستوى لمجموعة تطوير تطوير الصندوق المحلية للفاوندري هي كما يلي:
تعد مجموعة تطوير البرمجيات (SDK) غلاف خفيف الوزن حول واجهة برمجة تطبيقات Foundry Local Core C (.dll/.so/.dylib) توفر واجهة أكثر سهولة للمستخدمين لمطوري جافاسكريبت. تتولى مجموعة تطوير البرمجيات تحميل المكتبة الأصلية، وإدارة الذاكرة، وتحويل أنواع البيانات بين جافاسكريبت وC. واجهة برمجة تطبيقات Foundry Local Core C لها نوعان لكن نفس واجهة الواجهة:
- ويندوز إل إل (WinML) - مخصص لويندوز يستخدم ويندوز إم إل للحصول على التعريفات ومزودي التنفيذ المطلوبين للأجهزة المتاحة. هذا هو الخيار الموصى به لمستخدمي ويندوز لأنه يوفر أداء أفضل وتوافقا مع مجموعة واسعة من الأجهزة.
- المنصات متعددة - يمكن استخدامها على ويندوز، ماك أو إس، ولينكس. يجدر بالذكر أنه على أجهزة macOS المزودة بنظام Apple Silicon، سيستخدم SDK متعدد المنصات إطار عمل Metal من آبل لتسريع الأجهزة عبر مزود تنفيذ WebGPU في ONNX أثناء التشغيل (ONNX).
عند تثبيت حزمة Foundry Local SDK في مشروعك، يمكنك اختيار تثبيت WinML أو النسخة متعددة المنصات.
استخدم Foundry Local في مشروع JavaScript الخاص بك باتباع هذه التعليمات الخاصة بويندوز أو عبر المنصات (macOS/Linux/Windows):
- أنشئ مشروع جافاسكريبت جديد:
mkdir app-name cd app-name npm init -y npm pkg set type=module - تثبيت حزمة SDK المحلية لصاهر:
npm install --winml foundry-local-sdk npm install 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 الخاص ب Foundry Local JavaScript SDK.
مرجع واجهة برمجة التطبيقات
- لمزيد من التفاصيل حول مجموعة تطوير جافاسكريبت المحلية للمفاوندري، اقرأ مرجع واجهة برمجة التطبيقات الخاصة ب Foundry Local JavaScript SDK.
المرَاجِع
مرجع C# SDK
دليل إعداد Project
هناك حزمتان من NuGet لحزمة تطوير تطوير Foundry المحلية - WinML وحزمة متعددة المنصات - تحتويان على نفس surface واجهة برمجة التطبيقات لكنهما محسنتان لمنصات مختلفة:
-
Windows: يستخدم حزمة
Microsoft.AI.Foundry.Local.WinMLالخاصة بتطبيقات ويندوز، والتي تستخدم إطار عمل Windows Machine Learning (WinML). -
المنصات المتعددة: تستخدم الحزمة
Microsoft.AI.Foundry.Localالتي يمكن استخدامها للتطبيقات متعددة المنصات (ويندوز، لينكس، ماك أو إس).
اعتمادا على منصتك المستهدفة، اتبع هذه التعليمات لإنشاء تطبيق C# جديد وإضافة التبعيات اللازمة:
استخدم Foundry Local في project C# الخاص بك باتباع هذه التعليمات الخاصة بويندوز أو عبر المنصات (macOS/Linux/Windows):
- أنشئ project جديد ب C# وانتقل إليه:
dotnet new console -n app-name cd app-name - افتح وعدل
app-name.csprojالملف إلى:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net9.0-windows10.0.26100</TargetFramework> <RootNamespace>app-name</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <WindowsAppSDKSelfContained>false</WindowsAppSDKSelfContained> <WindowsPackageType>None</WindowsPackageType> <EnableCoreMrtTooling>false</EnableCoreMrtTooling> </PropertyGroup> <PropertyGroup Condition="'$(RuntimeIdentifier)'==''"> <RuntimeIdentifier>$(NETCoreSdkRuntimeIdentifier)</RuntimeIdentifier> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AI.Foundry.Local.WinML" Version="0.9.0" /> <PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.10" /> <PackageReference Include="OpenAI" Version="2.5.0" /> </ItemGroup> </Project> - أنشئ ملف
nuget.configفي جذر project يحتوي على المحتوى التالي بحيث تستعيد الحزم بشكل صحيح:<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <clear /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> <add key="ORT" value="https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT/nuget/v3/index.json" /> </packageSources> <packageSourceMapping> <packageSource key="nuget.org"> <package pattern="*" /> </packageSource> <packageSource key="ORT"> <package pattern="*Foundry*" /> </packageSource> </packageSourceMapping> </configuration>
ملحوظة
تستهدف حزمة Microsoft.AI.Foundry.Local NuGet شبكة net8.0. مع . توافق NET للأمام، يعمل بسلاسة في المشاريع التي تستهدف .NET 9 و.NET 10 وما بعده—دون الحاجة إلى إعدادات أخرى. تستخدم مجموعة تطوير البرمجيات فقط واجهات برمجة التطبيقات .NET 8 ولا تحتوي على مسارات كود خاصة بإطار العمل، لذا فإن السلوك متطابق بغض النظر عن وقت التشغيل الذي يستهدفه تطبيقك. نستهدف .NET 8 لأنه إصدار دعم طويل الأمد (LTS) الحالي بقاعدة تثبيت أوسع.
تشغيل سريع
استخدم هذا المقتطف للتحقق من أن مجموعة تطوير البرمجيات يمكنها تهيئة و 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);
}
مراجع: