Semantic Kernel Γ¨ un SDK open-source che consente di combinare facilmente prompt di intelligenza artificiale con linguaggi di programmazione convenzionali come C# e Python al fine di semplificare lo sviluppo di applicazioni di intelligenza artificiale.
Semantic Kernel Γ¨ un progetto open source (codice qui).
Semantic Kernel Γ¨ stato progettato per consentire agli sviluppatori di integrare in modo flessibile l'intelligenza artificiale nelle loro applicazioni esistenti. A tal scopo, Semantic Kernel fornisce un insieme di astrazioni che facilitano la creazione e la gestione di prompt, funzioni native, memorie e connettori. Γ quindi possibile orchestrare questi componenti utilizzando le pipeline di Semantic Kernel per completare le richieste degli utenti o automatizzare azioni.
Grazie alle astrazioni fornite da Semantic Kernel, Γ¨ possibile utilizzarlo per orchestrare l'intelligenza artificiale da qualsiasi fornitore. Ad esempio, Γ¨ possibile utilizzare Semantic Kernel per orchestrare l'intelligenza artificiale da OpenAI, Azure o persino Hugging Face.
Gestione dellβAI con Semantic Kernel
Il vero potere di Semantic Kernel, tuttavia, deriva dalla sua capacitΓ di combinare insieme queste componenti. Utilizzando modelli di intelligenza artificiale multipli, funzioni native e memoria allβinterno di Semantic Kernel (vedi plugin), Γ¨ possibile creare pipeline sofisticate che utilizzano l'intelligenza artificiale per automatizzare compiti complessi.
Ad esempio, con Semantic Kernel, potresti creare una pipeline che aiuta un utente a inviare una email al proprio team di marketing. Utilizzando la memoria, potresti recuperare informazioni sul progetto e quindi utilizzare il planner per generare automaticamente i passaggi rimanenti (ad esempio, collegare la richiesta dellβutente con i dati di Microsoft Graph, generare una risposta con GPT-4 e inviare lβemail). Infine, Γ¨ possibile visualizzare un messaggio di successo allβutente nella propria applicazione personalizzata.
Step
Vediamo tutti gli step, dalla richieste del cliente (Ask) fino alla risposta da SK (Response) per un caso complesso.
- Passaggio 1: Ask: Richiesta da parte dellβutente o dello sviluppatore.
- Passaggio 2: Kernel: Il Kernel orchestra la richiesta dellβutente. Esegue una chain definita dallo sviluppatore, fornendo un
context
comune per la condivisione dei dati tra le funzioni. - Passaggio 2.1: Memories: Un plugin specializzato permette di richiamare e memorizzare il
context
in database vettoriali, simulando la memoria nelle applicazioni AI. - Passaggio 2.2: Planners: Semantic Kernel puΓ² creare automaticamente
chains
per nuove esigenze dellβutente usando il planner, che utilizza i plugin giΓ caricati nel kernel. - Passaggio 2.3: Connectors: I Connectors out-of-the-box, come Microsoft Graph, o quelli personalizzati, sono usati per ottenere dati aggiuntivi o eseguire azioni autonome.
- Passaggio 2.4: Custom functions: Funzioni personalizzate eseguite allβinterno del Semantic Kernel, includono sia prompt LLM (semantic functions) che codice nativo C# o Python (native functions).
- Passaggio 3: Risposta: Dopo il completamento del processo da parte del kernel, la risposta viene inviata allβutente per informarlo.