L'ecosistema .NET offre molti potenti strumenti, librerie e servizi per sviluppare applicazioni di intelligenza artificiale. .NET supporta connessioni a modelli di intelligenza artificiale sia locali che cloud, molti SDK diversi per vari servizi di database di intelligenza artificiale e vettoriali e altri strumenti che consentono di creare app intelligenti di vari ambiti e complessità.
Importante
Non tutti gli SDK e i servizi presentati in questo documento sono gestiti da Microsoft. Quando si prende in considerazione un SDK, assicurarsi di valutarne la qualità, la licenza, il supporto e la compatibilità per verificare che soddisfi i requisiti.
libreria Microsoft.Extensions.AI per .NET
Microsoft.Extensions.AI è un set di librerie .NET di base create in collaborazione con gli sviluppatori nell'ecosistema .NET, incluso il kernel semantico. Queste librerie forniscono un livello unificato di astrazioni C# per interagire con i servizi di intelligenza artificiale, ad esempio modelli di linguaggio di piccole e grandi dimensioni (SMS e LLMS), incorporamenti e middleware.
Microsoft.Extensions.AI fornisce astrazioni che possono essere implementate da vari servizi, rispettando tutti gli stessi concetti di base. Questa libreria non è progettata per fornire API personalizzate per i servizi di un provider specifico. L'obiettivo di è quello di Microsoft.Extensions.AI fungere da livello unificante all'interno dell'ecosistema .NET, consentendo agli sviluppatori di scegliere i propri framework e librerie preferiti garantendo al tempo stesso un'integrazione e una collaborazione senza problemi nell'ecosistema.
Kernel semantico per .NET
Kernel semantico è un SDK open source che consente l'integrazione dell'intelligenza artificiale e le funzionalità di orchestrazione nelle app .NET. Questo SDK è in genere lo strumento di orchestrazione dell'intelligenza artificiale consigliato per le app .NET che usano uno o più servizi di intelligenza artificiale in combinazione con altre API o servizi Web, archivi dati e codice personalizzato. Kernel semantico offre agli sviluppatori aziendali i vantaggi seguenti:
Semplifica l'integrazione delle funzionalità di intelligenza artificiale in applicazioni esistenti per abilitare una soluzione coesiva per i prodotti aziendali.
Riduce al minimo la curva di apprendimento dell'uso di diversi modelli o servizi di intelligenza artificiale, fornendo astrazioni che riducono la complessità.
Migliora l'affidabilità riducendo il comportamento imprevedibile di richieste e risposte dai modelli di intelligenza artificiale. È possibile ottimizzare le richieste e pianificare le attività per creare un'esperienza utente controllata e prevedibile.
SDK .NET per la creazione di app di intelligenza artificiale
Sono disponibili molti SDK diversi per .NET per creare app con funzionalità di intelligenza artificiale a seconda della piattaforma di destinazione o del modello di intelligenza artificiale. I modelli OpenAI offrono potenti funzionalità di intelligenza artificiale generativa, mentre altri Servizi di Azure AI forniscono soluzioni intelligenti per diversi scenari specifici.
Azure offre molti altri servizi di intelligenza artificiale per creare funzionalità e flussi di lavoro specifici per le applicazioni. La maggior parte di questi servizi offre un SDK .NET per integrare le proprie funzionalità in app personalizzate. Nella tabella seguente sono riportati alcuni dei servizi usati più di frequente. Per un elenco completo dei servizi disponibili e delle risorse di apprendimento, vedere la documentazione di Servizi di Azure AI.
Consente di analizzare il contenuto in immagini e video.
Sviluppare con modelli di intelligenza artificiale locale
Le app .NET possono anche connettersi a modelli di intelligenza artificiale locali per molti scenari di sviluppo diversi. Kernel semantico è lo strumento consigliato per connettersi ai modelli locali tramite .NET. Il kernel semantico può connettersi a molti modelli diversi ospitati su diverse piattaforme e astrae i dettagli di implementazione di livello inferiore.
Modelli di ricerca in attività quali ragionamento su dati forniti dall'utente, la comprensione di lettura, la risoluzione di problemi matematici e il riepilogo del testo.
Nota
I contratti di servizio precedenti possono anche essere ospitati in altri servizi, ad esempio Azure.
Connettersi a database e servizi vettoriali
Le applicazioni di intelligenza artificiale usano spesso database e servizi vettoriali di dati per migliorare la pertinenza e fornire funzionalità personalizzate. Molti di questi servizi forniscono un SDK nativo per .NET, mentre altri offrono un servizio REST a cui è possibile connettersi tramite codice personalizzato. Il kernel semantico fornisce un modello di componente estendibile che consente di usare archivi vettoriali diversi senza dover apprendere ogni SDK.
Il kernel semantico fornisce connettori per i seguenti servizi e database vettoriali:
Vedere la documentazione di ogni servizio per individuare il supporto API e SDK .NET.
Altre opzioni
Questo articolo riepiloga gli strumenti e gli SDK nell'ecosistema .NET, con particolare attenzione ai servizi che forniscono supporto ufficiale per .NET. A seconda delle esigenze e della fase di sviluppo dell’app, è anche possibile esaminare le opzioni open source per l'ecosistema nell’elenco non ufficiale delle risorse .NET + IA. Microsoft non gestisce molti di questi progetti, quindi verificare di rivedere la qualità, le licenze e il supporto.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Informazioni su come usare Semantic Kernel SDK per creare applicazioni intelligenti che automatizzano le attività ed eseguono l'elaborazione del linguaggio naturale. (AZ-2005)