Jelaskan Pengecualian Python Anda dengan OpenAI

Jan 27 2023
Cara membangun asisten AI untuk membantu Anda memecahkan masalah aplikasi Python Anda
Prefect-openaicollection menyederhanakan integrasi OpenAI ke dalam alur kerja Anda — menggabungkan logging Prefek dengan kemampuan interpretatif OpenAI. Aplikasi Saat kode Anda mogok, alangkah baiknya jika ada bantuan pemecahan masalah, seperti dari OpenAI! Jika Anda tidak terbiasa dengan kode status HTTP, OpenAI dapat membantu menyediakan konteks tambahan.
Baca terus untuk mengetahui bagaimana Anda dapat menghasilkan gambar seperti ini menggunakan prefek-openai!

Koleksinya prefect-openaimenyederhanakan integrasi OpenAI ke dalam alur kerja Anda — menggabungkan logging Prefek dengan kemampuan interpretatif OpenAI.

Aplikasi

Saat kode Anda mogok, alangkah baiknya memiliki bantuan pemecahan masalah, seperti dari OpenAI!

Jika Anda tidak terbiasa dengan kode status HTTP, OpenAI dapat membantu menyediakan konteks tambahan. Ini mungkin membantu Anda memahami masalah dengan lebih baik dan menemukan solusi lebih cepat!

Misalnya, dengan pengecualian berikut sebagai input:

HTTPStatusError: Klien error '403 FORBIDDEN' untuk url 'https://httpbin.org/status/403' Untuk informasi lebih lanjut, periksa:https://httpstatuses.com/403

OpenAI mengembalikan interpretasi berikut:

Kesalahan terlarang 403 berarti bahwa pengguna yang mencoba mengunjungi URL tidak berwenang untuk melakukannya. Ini bisa berarti bahwa pengguna tidak masuk, atau konten yang diminta tidak tersedia. Memeriksa URL untuk informasi lebih lanjut dapat membantu mengatasi masalah tersebut.

Itu sepertinya jauh lebih mudah dicerna!

Penggunaan

Untuk mencapai fungsi ini, Anda dapat menambahkan dua baris berikut ke kode yang sudah ada:

  1. from prefect_openai.completion import interpret_exception
  2. @interpret_exception("COMPLETION_MODEL_BLOCK_NAME")
  3. 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()
    

Log UI Cloud prefek dari alur yang dijalankan

Mempersiapkan

Sebelum dapat menggunakan interpret_exceptiondekorator, blok OpenAICredentialsdan CompletionModelharus dibuat terlebih dahulu.

Tapi jangan khawatir — ini mudah.

Pertama, buat kunci API OpenAI Anda dari halaman akun OpenAI Anda .

Kemudian salin, tempel, dan ganti placeholder di bawah ini.

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")

Sebagai alternatif, Anda juga dapat membuat blok langsung dari UI Prefek:

UI prefek membuat blok CompletionModel

Kustomisasi

Tweak output model adalah bagian seni, bagian ilmu.

Jika Anda tertarik untuk menggunakan awalan yang berbeda untuk prompt atau menyertakan bagian dari traceback untuk konteks tambahan pada model, Anda dapat menggunakan argumen kata kunci berikut:

  • prompt_prefix: awalan yang akan disertakan dalam prompt sebelum pesan traceback dan pengecualian.
  • traceback_tail: jumlah baris dari traceback asli untuk disertakan dalam prompt ke OpenAI, mulai dari ekor. Jika 0, hanya sertakan pesan pengecualian di prompt. Catatan konfigurasi ini dapat mahal dalam hal token, jadi pastikan untuk mengatur this dan max_tokensin CompletionModeldengan tepat.
  • @interpret_exception(
        "COMPLETION_MODEL_BLOCK_NAME_PLACEHOLDER",
        prompt_prefix="Offer a solution:",
        traceback_tail=1,
    )
    

  • menangkap pesan pengecualian
  • menambahkan awalan, "Jelaskan:"
  • mengirimkannya sebagai permintaan untuk model penyelesaian teks
  • memunculkan kembali pengecualian dengan respons

Sumber daya

Selain menafsirkan pengecualian, prefect-openaimendukung penyelesaian teks arbitrer, serta pembuatan gambar — begitulah cara gambar sampul dibuat!

Jika Anda menemukan kasus penggunaan tersebut menarik, pastikan untuk memeriksa prefect-openai dokumen dan memberi bintang pada repositori koleksi di GitHub !