Condividi tramite


API Assistenti OpenAI di Azure (anteprima)

Assistants, una nuova funzionalità del servizio Azure OpenAI, è ora disponibile in anteprima pubblica. L'API Assistenti 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. Questi strumenti possono essere entrambi ospitati in Azure OpenAI, come l'interprete del codice e la ricerca di file, oppure gli strumenti che si compilano, ospitano e accedono tramite chiamate di funzione.
  • Gli assistenti possono accedere a thread permanenti. I thread semplificano lo sviluppo di applicazioni di intelligenza artificiale archiviando la cronologia dei 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 ai 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 citarne 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 hanno dovuto 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 gestiti automaticamente persistenti. Ciò significa che come sviluppatore non è più necessario sviluppare sistemi di gestione dello stato della conversazione e aggirare 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 accodare 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 prezzi o quote aggiuntivi per l'uso di Assistenti, a meno che non si usi l'interprete di codice o gli strumenti di ricerca di file.

L'API Assistants si basa sulle stesse funzionalità che alimentano il prodotto GPT di OpenAI. Alcuni possibili casi d'uso variano da strumento di raccomandazione del prodotto basato su intelligenza artificiale, app analista delle vendite, assistente alla codifica, chatbot Q&A dipendente e altro ancora. Iniziare a creare il playground degli assistenti senza codice in Azure OpenAI Studio, AI Studio o iniziare a creare con l'API.

Importante

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

Playground degli assistenti

È disponibile una procedura dettagliata del playground Assistants nella guida introduttiva. 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 OpenAI di Azure insieme agli strumenti.
Thread Sessione di conversazione tra un Assistente e un utente. I thread archivia messaggi e gestiscono automaticamente il troncamento per adattare il contenuto nel 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.
Esegui 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

Attualmente, gli assistenti, i thread, i messaggi e i file creati per assistenti hanno come ambito il livello di risorsa OpenAI di Azure. Di conseguenza, chiunque abbia accesso alla risorsa OpenAI di Azure o all'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 e alle chiavi API di Azure OpenAI. Valutare attentamente chi può accedere alle risorse OpenAI di Azure in cui vengono usati gli assistenti e le chiavi API associate.
  • Controllare regolarmente quali account/utenti hanno accesso alla risorsa OpenAI di Azure. Le chiavi API e l'accesso a livello di risorsa consentono un'ampia gamma di operazioni, tra cui la lettura e la modifica di messaggi e file.
  • Abilitare le impostazioni di diagnostica per consentire il rilevamento a lungo termine di alcuni aspetti del log attività della risorsa OpenAI di Azure.

Parametri

L'API Assistants supporta diversi parametri che consentono di personalizzare l'output degli Assistenti. Il tool_choice parametro consente di forzare l'assistente a usare uno strumento specificato. È anche possibile creare messaggi con il assistant ruolo per creare cronologie di conversazioni personalizzate in Thread. temperature, top_p, response_format consente 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 i token massimi che si vuole eseguire per utilizzare e/o il numero massimo di messaggi recenti da includere in un'esecuzione.

Numero massimo di token di completamento e richiesta massima

Per controllare l'utilizzo del token in un'unica esecuzione, impostare max_prompt_tokens e max_completion_tokens quando si crea l'istruzione Esegui. 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'istruzione Run con max_prompt_tokens impostato su 500 e max_completion_tokens impostato su 1000 indica che il primo completamento tronca il thread a 500 token e limiterà l'output a 1000 token. Se al primo completamento vengono usati solo 200 token di richiesta e 300 token di completamento, il secondo completamento avrà limiti di 300 token di richiesta e 700 token di completamento.

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

Quando si usa lo strumento Ricerca file, è consigliabile impostare su max_prompt_tokens non meno di 20.000. Per conversazioni più lunghe o più interazioni con Ricerca file, prendere in considerazione l'aumento di questo limite a 50.000 o, idealmente, rimuovendo i max_prompt_tokens limiti del tutto per ottenere i risultati di qualità più elevati.

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 userà 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