API Assistants di Azure OpenAI (anteprima)

Assistants, una nuova funzionalità del Servizio OpenAI di Azure, è ora disponibile in anteprima pubblica. L'API Assistants semplifica la creazione di applicazioni con esperienze di copilota sofisticate che possono analizzare i dati, suggerire soluzioni e automatizzare le attività.

  • Gli assistenti possono chiamare i modelli di Azure OpenAI con istruzioni specifiche per ottimizzare la personalità e le funzionalità.
  • Gli assistenti possono accedere a più strumenti in parallelo. Possono essere strumenti ospitati in Azure OpenAI, ad esempio interprete di codice e ricerca di file o strumenti compilati, ospitati e accessibili tramite chiamata di funzione.
  • Gli assistenti possono accedere a thread permanenti. I thread semplificano lo sviluppo di applicazioni di intelligenza artificiale archiviando la cronologia messaggi e troncandola quando la conversazione diventa troppo lunga per la lunghezza del contesto del modello. Si crea un thread una sola volta e si aggiungono semplicemente messaggi al thread quando gli utenti rispondono.
  • Gli assistenti possono accedere a file in diversi formati. Come parte della creazione o come parte di thread tra assistenti e utenti. Quando si usano strumenti, gli assistenti possono anche creare file, ad esempio immagini o fogli di calcolo, e citare i file a cui fanno riferimento nei messaggi creati.

Panoramica

In precedenza la creazione di assistenti di intelligenza artificiale personalizzati richiedeva un elevato carico di lavoro anche per gli sviluppatori esperti. Anche se l'API di completamento della chat è leggera e potente, è intrinsecamente senza stato, il che significa che gli sviluppatori dovevano gestire lo stato della conversazione e i thread di chat, le integrazioni degli strumenti, il recupero di documenti e indici e l'esecuzione manuale del codice.

L'API Assistants, come evoluzione con stato dell'API di completamento della chat, offre una soluzione per queste sfide. L'API Assistants supporta thread permanenti gestiti automaticamente. Ciò significa che non è più necessario che gli sviluppatori sviluppino sistemi di gestione dello stato della conversazione e trovino soluzioni alternative per superare i vincoli di finestra di contesto di un modello. L'API Assistants gestirà automaticamente le ottimizzazioni per mantenere il thread sotto la finestra di contesto massima del modello scelto. Dopo aver creato un thread, è sufficiente accodarvi nuovi messaggi quando gli utenti rispondono. Gli assistenti possono anche accedere a più strumenti in parallelo, se necessario. Questi strumenti includono:

Suggerimento

Non sono previsti incrementi di prezzi o quota per l'uso di Assistants, a meno che non si usino gli strumenti interprete di codice o ricerca di file.

L'API Assistants si basa sulle stesse funzionalità che supportano il prodotto GPT di OpenAI. Alcuni possibili casi d'uso includono uno strumento di raccomandazione di prodotto basato su intelligenza artificiale, app analista delle vendite, assistente alla codifica, chatbot per Domande e risposte dei dipendenti e altro ancora. Iniziare a creare il playground degli assistenti senza codice in Azure AI Studio o iniziare a creare con l'API.

Importante

Il recupero di dati non attendibili tramite la chiamata di funzioni, l'interprete di codice o la ricerca di file con input di file e le funzionalità di thread assistente potrebbero compromettere la sicurezza dell'assistente o l'applicazione che usa l'assistente. Per informazioni sugli approcci di mitigazione, vedere qui.

Playground degli assistenti

Viene descritta una procedura dettagliata del playground degli assistenti nell’avvio rapido. In questo modo è disponibile un ambiente senza codice per testare le funzionalità degli assistenti.

Componenti degli assistenti

Diagramma che mostra i componenti di un assistente.

Componente Descrizione
Assistente Intelligenza artificiale personalizzata che usa i modelli Azure OpenAI insieme agli strumenti.
Thread Sessione di conversazione tra un assistente e un utente. I thread archiviano messaggi e gestiscono automaticamente il troncamento per adattare il contenuto al contesto di un modello.
Messaggio Messaggio creato da un assistente o da un utente. I messaggi possono includere testo, immagini e altri file. I messaggi vengono archiviati come elenco nel thread.
Run Attivazione di un assistente per iniziare l’esecuzione in base al contenuto del thread. L’assistente usa la configurazione e i messaggi del thread per eseguire attività chiamando modelli e strumenti. Nell’ambito di un’esecuzione, l’assistente aggiunge messaggi al thread.
Eseguire il passaggio Elenco dettagliato dei passaggi eseguiti dall’assistente come parte di un’esecuzione. Un assistente può chiamare strumenti o creare messaggi durante l’esecuzione. L’analisi dei passaggi di esecuzione consente di comprendere come l’assistente ottiene i risultati finali.

Accesso ai dati degli assistenti

Gli assistenti, i thread, i messaggi e i file creati per assistenti hanno attualmente come ambito il livello di risorsa di Azure OpenAI. Di conseguenza, chiunque abbia accesso alla risorsa di Azure OpenAI o accesso con chiave API è in grado di leggere/scrivere assistenti, thread, messaggi e file.

È consigliabile usare i controlli di accesso ai dati seguenti:

  • Implementare l'autorizzazione. Prima di eseguire operazioni di lettura o scrittura su assistenti, thread, messaggi e file, assicurarsi che l'utente finale sia autorizzato a farlo.
  • Limitare l'accesso alle risorse di Azure OpenAI e alle chiavi API. Valutare attentamente chi può accedere alle risorse di Azure OpenAI in cui vengono usati gli assistenti e le chiavi API associate.
  • Controllare regolarmente quali account/utenti hanno accesso alla risorsa di Azure OpenAI. L'accesso a livello di chiavi API e di risorsa consente un'ampia gamma di operazioni, tra cui la lettura e la modifica di messaggi e file.
  • Abilitare impostazioni di diagnostica per consentire il rilevamento a lungo termine di alcuni aspetti del log attività della risorsa di Azure OpenAI.

Parametri

L'API Assistants supporta diversi parametri che consentono di personalizzare l'output di Assistants. Il parametro tool_choice consente di imporre all'assistente l'uso di uno strumento specificato. È anche possibile creare messaggi con il ruolo assistant per creare cronologie di conversazioni personalizzate nei thread. temperature, top_p, response_format consentono di ottimizzare ulteriormente le risposte. Per altre informazioni, vedere la documentazione di riferimento.

Gestione delle finestre di contesto

Gli assistenti troncano automaticamente il testo per assicurarsi che rimanga entro la lunghezza massima del contesto del modello. È possibile personalizzare questo comportamento specificando il numero massimo di token che si vuole che vengano utilizzati da un'esecuzione e/o il numero massimo di messaggi recenti da includere in un'esecuzione.

Numero massimo di token di completamento e di richiesta

Per controllare l'utilizzo del token in una singola esecuzione, impostare max_prompt_tokens e max_completion_tokens quando si crea l'esecuzione. Questi limiti si applicano al numero totale di token usati in tutti i completamenti durante il ciclo di vita dell'esecuzione.

Ad esempio, l'avvio di un'esecuzione con max_prompt_tokens impostato su 500 e max_completion_tokens impostato su 1000 indica che il primo completamento troncherà il thread a 500 token e limiterà l'output a 1.000 token. Se al primo completamento vengono usati solo 200 token di richiesta e 300 token di completamento, il secondo completamento avrà a disposizione limiti di 300 token di richiesta e 700 token di completamento.

Se un completamento raggiunge il limite max_completion_tokens, l'esecuzione terminerà con lo stato incompleto e i dettagli verranno forniti nel campo incomplete_details dell'esecuzione.

Quando si usa lo strumento File Search, è consigliabile impostare max_prompt_tokens su un valore non inferiore a 20.000. Per conversazioni più lunghe o più interazioni con File Search, prendere in considerazione l'aumento di questo limite a 50.000 o, idealmente, la rimozione completa dei limiti max_prompt_tokens per ottenere i risultati di qualità più elevata.

Strategia di troncamento

È anche possibile specificare una strategia di troncamento per controllare la modalità di rendering del thread nella finestra di contesto del modello. L'uso di una strategia di troncamento di tipo auto applicherà la strategia di troncamento predefinita di OpenAI. L'uso di una strategia di troncamento di tipo last_messages consentirà di specificare il numero dei messaggi più recenti da includere nella finestra di contesto.

Vedi anche