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.

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:

Servizio vettoriale Connettore del kernel semantico .NET SDK
Azure AI Search Microsoft.SemanticKernel.Connectors.AzureAISearch Azure.Search.Documents
Azure Cosmos DB for NoSQL Microsoft.SemanticKernel.Connectors.AzureCosmosDBNoSQL Microsoft.Azure.Cosmos
Azure Cosmos DB for MongoDB Microsoft.SemanticKernel.Connectors.AzureCosmosDBMongoDB MongoDb.Driver
Server PostgreSQL di Azure Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Database SQL di Azure Microsoft.SemanticKernel.Connectors.SqlServer Microsoft.Data.SqlClient
Chroma Microsoft.SemanticKernel.Connectors.Chroma ND
DuckDB Microsoft.SemanticKernel.Connectors.DuckDB DuckDB.NET.Data.Full
Milvus Microsoft.SemanticKernel.Connectors.Milvus Milvus.Client
Ricerca vettoriale di MongoDB Atlas Microsoft.SemanticKernel.Connectors.MongoDB MongoDb.Driver
Pinecone Microsoft.SemanticKernel.Connectors.Pinecone REST API
Postgres Microsoft.SemanticKernel.Connectors.Postgres Npgsql
Qdrant Microsoft.SemanticKernel.Connectors.Qdrant Qdrant.Client
Redis Microsoft.SemanticKernel.Connectors.Redis StackExchange.Redis
Weaviate Microsoft.SemanticKernel.Connectors.Weaviate REST API

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