AutoGen con Modelli Personalizzati: Potenziare l’Inferenza Personalizzata
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 ilModelClientResponseProtocol.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 daRESPONSE_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:
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
ModelCliente il protocollo di risposta. - Il metodo
create()deve restituire una risposta di inferenza che aderisca alModelClientResponseProtocol. - Il metodo
message_retrieval()deve restituire un elenco di stringhe o oggetti di messaggio compatibili con il formato dell’oggetto di messaggioChatCompletiondi 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_LISTcon 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:
agent.register_model_client(model_client_cls=<class-of-custom-model>, [other optional args])
- Verifica che tutti i modelli personalizzati definiti nella
OAI_CONFIG_LISTsiano 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!

