Coursera Learner working on a presentation with Coursera logo and

AutoGen con Modelli Personalizzati: Potenziare l’Inferenza Personalizzata

Coursera Learner working on a presentation with Coursera logo and

AutoGen ora supporta i modelli personalizzati, permettendo agli utenti di definire e integrare i propri modelli per un meccanismo di inferenza più flessibile e personalizzato. Seguendo un protocollo specifico, è possibile incorporare il proprio modello personalizzato con AutoGen e rispondere ai prompt utilizzando qualsiasi modello, chiamata API o risposta hardcoded.

NOTA: A seconda del modello utilizzato, potrebbe essere necessario regolare i prompt predefiniti dell’Agente.

Guida Rapida

Per iniziare, segui il notebook interattivo che dimostra come caricare un modello locale da HuggingFace in AutoGen e apportare le modifiche necessarie alla classe.

Passaggio 1: Creare la Classe Client del Modello Personalizzato

Inizia creando una classe client del modello che aderisca al protocollo ModelClient definito in client.py. La nuova classe client del modello deve implementare i seguenti metodi:

  • create(): Restituisce un oggetto di risposta che segue il ModelClientResponseProtocol.
  • message_retrieval(): Processa l’oggetto di risposta e restituisce un elenco di stringhe o oggetti di messaggio.
  • cost(): Restituisce il costo della risposta.
  • get_usage(): Restituisce un dizionario con chiavi da RESPONSE_USAGE_KEYS (ad esempio, “prompt_tokens”, “completion_tokens”, “total_tokens”, “cost”, “model”).

Passaggio 2: Aggiungere la Configurazione alla OAI_CONFIG_LIST

Assicurati che il campo model_client_cls sia impostato con il nome della nuova classe (ad esempio, "model_client_cls":"CustomModelClient"). Gli altri campi saranno inoltrati al costruttore della classe, dando il controllo sui parametri da specificare e sul loro utilizzo.

Passaggio 3: Registrare il Nuovo Modello Personalizzato sull’Agente

Dopo aver aggiunto la configurazione con "model_client_cls":"<class name>" alla lista di configurazione di un Agente, registra il modello corrispondente prima di iniziare la conversazione:

python

model_client_cls=CustomModelClient

Questo deve corrispondere alla voce nella OAI_CONFIG_LIST. Se il client del modello non è registrato prima dell’inizializzazione della chat, si verificherà un errore.

Dettagli del Protocollo

La tua classe di modello personalizzato deve aderire al protocollo ModelClient e alla struttura di risposta definita in client.py. Questo protocollo si allinea con la struttura di risposta di OpenAI per garantire la resilienza ai cambiamenti futuri, iniziando con i requisiti minimi per facilitare l’adozione.

Passaggi di Risoluzione dei Problemi

Se si verificano problemi, segui questa lista di controllo:

  • Assicurati che la tua classe di modello personalizzato segua il protocollo ModelClient e il protocollo di risposta.
  • Il metodo create() deve restituire una risposta di inferenza che aderisca al ModelClientResponseProtocol.
  • Il metodo message_retrieval() deve restituire un elenco di stringhe o oggetti di messaggio compatibili con il formato dell’oggetto di messaggio ChatCompletion di OpenAI.
  • Il metodo cost() deve restituire un numero intero; restituisci 0 se non è necessario il tracciamento dei costi.
  • Il metodo get_usage() deve restituire un dizionario; restituisci un dizionario vuoto se non è necessario il tracciamento dell’utilizzo.
  • Conferma una voce nella OAI_CONFIG_LIST con il campo "model_client_cls":"<custom-model-class-name>".
  • Assicurati che il client sia registrato con la voce di configurazione corrispondente e la nuova classe:
python

agent.register_model_client(model_client_cls=<class-of-custom-model>, [other optional args])
  • Verifica che tutti i modelli personalizzati definiti nella OAI_CONFIG_LIST siano registrati.

Potrebbe essere necessaria una risoluzione dei problemi aggiuntiva nel tuo codice personalizzato.

Conclusione

Con il supporto per i modelli personalizzati, AutoGen offre maggiore flessibilità e potenza per le tue applicazioni di intelligenza artificiale. Che tu stia utilizzando un modello auto-addestrato o un modello pre-addestrato specifico, AutoGen può soddisfare le tue esigenze. Buona programmazione!

lingue

Weekly newsletter

No spam. Just the latest releases and tips, interesting articles, and exclusive interviews in your inbox every week.