Leggere in inglese

Condividi tramite


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.

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.

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

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.

Passaggi successivi