อธิบายข้อยกเว้น Python ของคุณด้วย OpenAI

Jan 27 2023
วิธีสร้างผู้ช่วย AI เพื่อช่วยคุณแก้ไขปัญหาแอปพลิเคชัน Python
Prefect-openaicollection ทำให้การรวม OpenAI เข้ากับเวิร์กโฟลว์ของคุณง่ายขึ้น — รวมการบันทึกของ Prefect เข้ากับความสามารถในการตีความของ OpenAI แอปพลิเคชัน เมื่อโค้ดของคุณขัดข้อง คงจะดีหากได้รับความช่วยเหลือในการแก้ปัญหา เช่น จาก OpenAI! หากคุณไม่คุ้นเคยกับรหัสสถานะ HTTP OpenAI สามารถช่วยให้บริบทเพิ่มเติมได้
อ่านต่อเพื่อค้นพบวิธีสร้างภาพแบบนี้โดยใช้พรีเฟ็ค-โอเพนไน!

คอลเลกชัน นี้prefect-openaiทำให้การรวม OpenAI เข้ากับเวิร์กโฟลว์ของคุณง่ายขึ้น — รวมการบันทึกของ Prefect เข้ากับความสามารถในการตีความของ OpenAI

แอปพลิเคชัน

เมื่อรหัสของคุณขัดข้อง คุณควรได้รับความช่วยเหลือในการแก้ปัญหา เช่น จาก OpenAI!

หากคุณไม่คุ้นเคยกับรหัสสถานะ HTTP OpenAI สามารถช่วยให้บริบทเพิ่มเติมได้ วิธีนี้อาจช่วยให้คุณเข้าใจปัญหาได้ดีขึ้นและหาทางออกได้เร็วขึ้น!

ตัวอย่างเช่น โดยมีข้อยกเว้นต่อไปนี้เป็นอินพุต:

HTTPStatusError: ข้อผิดพลาดของไคลเอนต์ '403 FORBIDDEN' สำหรับ url 'https://bin.org/status/403' สำหรับข้อมูลเพิ่มเติม ตรวจสอบ:https://httpstatuses.com/403

OpenAI ส่งคืนการตีความต่อไปนี้:

ข้อผิดพลาดต้องห้าม 403 หมายความว่าผู้ใช้ที่พยายามเยี่ยมชม URL นั้นไม่ได้รับอนุญาตให้ทำเช่นนั้น ซึ่งอาจหมายความว่าผู้ใช้ไม่ได้เข้าสู่ระบบ หรือเนื้อหาที่ขอไม่พร้อมใช้งาน การตรวจสอบ URL เพื่อดูข้อมูลเพิ่มเติมสามารถช่วยแก้ไขปัญหาได้

ดูเหมือนว่าจะเป็นวิธีที่ย่อยได้มากขึ้น!

การใช้งาน

เพื่อให้ได้ฟังก์ชันนี้ คุณสามารถเพิ่มสองบรรทัดต่อไปนี้ในรหัสที่มีอยู่ของคุณ:

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

บันทึกการเรียกใช้โฟลว์ของ Cloud UI ของนายอำเภอ

ติดตั้ง

ก่อนจะใช้interpret_exceptionมัณฑนากร ได้ ต้องสร้างบล็อกOpenAICredentialsและ ก่อนCompletionModel

แต่ไม่ต้องกังวล มันตรงไปตรงมา

ขั้น แรกสร้างคีย์ OpenAI API จากหน้าบัญชี OpenAI

จากนั้นคัดลอก วาง และแทนที่ตัวยึดด้านล่าง

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

หรือคุณสามารถสร้างบล็อกโดยตรงจาก UI ของนายอำเภอได้เช่นกัน:

UI นายอำเภอสร้างบล็อก CompleteModel

การปรับแต่ง

การปรับแต่งผลลัพธ์ของโมเดลเป็นศิลปะส่วนหนึ่ง วิทยาศาสตร์ส่วนหนึ่ง

หากคุณสนใจที่จะใช้คำนำหน้าอื่นสำหรับพรอมต์หรือรวมส่วนหนึ่งของการย้อนกลับสำหรับบริบทเพิ่มเติมของโมเดล คุณสามารถใช้อาร์กิวเมนต์คำหลักต่อไปนี้:

  • prompt_prefix: คำนำหน้าที่จะรวมไว้ในพรอมต์ก่อนการย้อนกลับและข้อความแสดงข้อยกเว้น
  • traceback_tail: จำนวนบรรทัดของการย้อนกลับดั้งเดิมที่จะรวมไว้ในพรอมต์ไปยัง OpenAI โดยเริ่มจากส่วนท้าย หากเป็น 0 ให้ใส่เฉพาะข้อความแสดงข้อยกเว้นในพรอมต์ โปรดทราบว่าการกำหนดค่านี้อาจมีค่าใช้จ่ายสูงในแง่ของโทเค็น ดังนั้นโปรดแน่ใจว่าได้ตั้งค่านี้และในmax_tokensอย่างCompletionModelเหมาะสม
  • @interpret_exception(
        "COMPLETION_MODEL_BLOCK_NAME_PLACEHOLDER",
        prompt_prefix="Offer a solution:",
        traceback_tail=1,
    )
    

  • จับข้อความข้อยกเว้น
  • เพิ่มคำนำหน้า "อธิบาย:"
  • ส่งเป็นพรอมต์ไปยังรูปแบบการเติมข้อความ
  • เพิ่มข้อยกเว้นอีกครั้งด้วยการตอบกลับ

ทรัพยากร

นอกจากการตีความข้อยกเว้นแล้วprefect-openaiยังรองรับการเติมข้อความตามอำเภอใจ ตลอดจนการสร้างภาพ — นั่นคือวิธีสร้างภาพหน้าปก!

หากคุณพบว่ากรณีการใช้งานเหล่านี้น่าสนใจ อย่าลืมตรวจดูprefect-openai เอกสารและติดดาวที่เก็บคอลเลกชันบนGitHub !