Spiega le tue eccezioni Python con OpenAI
La prefect-openairaccolta semplifica l'integrazione di OpenAI nel tuo flusso di lavoro, combinando la registrazione di Prefect con le capacità interpretative di OpenAI.
Applicazione
Quando il tuo codice si arresta in modo anomalo, sarebbe bello avere un aiuto per la risoluzione dei problemi, ad esempio da OpenAI!
Se non hai familiarità con i codici di stato HTTP, OpenAI può aiutarti a fornire un contesto aggiuntivo. Questo potrebbe aiutarti a capire meglio il problema e trovare una soluzione più velocemente!
Ad esempio, con la seguente eccezione come input:
HTTPStatusError: Errore client '403 FORBIDDEN' per l'url 'https://httpbin.org/status/403' Per ulteriori informazioni controllare:https://httpstatuses.com/403
OpenAI ha restituito la seguente interpretazione:
L'errore 403 proibito significa che l'utente che tenta di visitare l'URL non è autorizzato a farlo. Ciò potrebbe significare che l'utente non è loggato o che il contenuto richiesto non è disponibile. Controllare l'URL per ulteriori informazioni può aiutare a risolvere il problema.
Sembra essere molto più digeribile!
Utilizzo
Per ottenere questa funzionalità, puoi aggiungere le seguenti due righe al tuo codice esistente:
from prefect_openai.completion import interpret_exception@interpret_exception("COMPLETION_MODEL_BLOCK_NAME")
import httpx
from prefect import flow
from prefect_openai.completion import interpret_exception
@flow
@interpret_exception("curie")
def example_func():
resp = httpx.get("https://httpbin.org/status/403")
resp.raise_for_status()
example_func()
Impostare
Prima di poter utilizzare interpret_exceptionil decoratore, è necessario creare prima i blocchi OpenAICredentialse .CompletionModel
Ma non preoccuparti: è semplice.
Innanzitutto, crea la tua chiave API OpenAI dalla pagina del tuo account OpenAI .
Quindi copia, incolla e sostituisci i segnaposto di seguito.
from prefect_openai import OpenAICredentials, CompletionModel
openai_credentials = OpenAICredentials(api_key="API_KEY_PLACEHOLDER")
completion_model = CompletionModel(
openai_credentials=openai_credentials,
model="text-curie-001",
max_tokens=1000,
temperature=0.5
)
openai_credentials.save("CREDENTIALS_BLOCK_NAME_PLACEHOLDER")
completion_model.save("COMPLETION_MODEL_BLOCK_NAME_PLACEHOLDER")
In alternativa, puoi anche creare i blocchi direttamente dall'interfaccia utente di Prefect:
Personalizzazione
Modificare l'output del modello è in parte arte, in parte scienza.
Se sei interessato a utilizzare un prefisso diverso per il prompt o includere parte del traceback per un contesto aggiuntivo al modello, puoi utilizzare i seguenti argomenti di parole chiave:
prompt_prefix: il prefisso da includere nel prompt prima del traceback e del messaggio di eccezione.traceback_tail: il numero di righe del traceback originale da includere nel prompt di OpenAI, a partire dalla coda. Se 0, includi solo il messaggio di eccezione nel prompt. Nota che questa configurazione può essere costosa in termini di token, quindi assicurati di impostare this e themax_tokensinCompletionModelin modo appropriato.
@interpret_exception(
"COMPLETION_MODEL_BLOCK_NAME_PLACEHOLDER",
prompt_prefix="Offer a solution:",
traceback_tail=1,
)
- acquisisce il messaggio di eccezione
- aggiunge un prefisso, "Spiega:"
- lo invia come prompt a un modello di completamento del testo
- solleva nuovamente l'eccezione con la risposta
Risorse
Oltre a interpretare le eccezioni, prefect-openaisupporta il completamento del testo arbitrario, nonché la generazione di immagini: ecco come è stata generata l'immagine di copertina!
Se hai trovato questi casi d'uso interessanti, assicurati di controllare i prefect-openai documenti e inserire il repository della raccolta su GitHub !

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































