Panoramica dell'ecosistema .NET + IA
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.
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.
Per altre informazioni, vedere la documentazione di Semantic Kernel.
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.
SDK .NET per modelli OpenAI
Pacchetto NuGet | Modelli supportati | Gestore o fornitore | Documentazione |
---|---|---|---|
Microsoft.SemanticKernel | Modelli OpenAI Modelli supportati da Azure OpenAI |
Kernel semantico (Microsoft) | Documentazione del kernel semantico |
SDK di Azure OpenAI | Modelli supportati da Azure OpenAI | SDK di Azure per .NET (Microsoft) | Documentazione dei servizi OpenAI di Azure |
OpenAI SDK | Modelli supportati da OpenAI | OpenAI SDK per .NET (OpenAI) | Documentazione dei servizi OpenAI |
SDK .NET per Servizi di Azure AI
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.
Servizio | Descrizione |
---|---|
Azure AI Search | Porta la ricerca sul cloud basata sull'intelligenza artificiale nelle app per dispositivi mobili e Web. |
Sicurezza del contenuto di IA di Azure | Rilevare contenuti indesiderati o offensivi. |
Informazioni sui documenti di Azure AI | Trasformare i documenti in soluzioni intelligenti basate sui dati. |
Lingua di Azure AI | Creare app con funzionalità di comprensione del linguaggio naturale leader del settore. |
Voce di Azure AI | Riconoscimento vocale, sintesi vocale, traduzione e riconoscimento del parlante. |
Traduttore per Azure AI | Tecnologia di traduzione basata sull'intelligenza artificiale con supporto per più di 100 lingue e dialetti. |
Visione 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.
Ad esempio, è possibile usare Ollama per connettersi a modelli di intelligenza artificiale locali con .NET, inclusi diversi modelli SLM (Small Language Model) sviluppati da Microsoft:
Modello | Descrizione |
---|---|
modelli phi3 | Una famiglia di potenti modelli SLM con prestazioni senza precedenti a basso costo e bassa latenza. |
modelli orca | 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.