OpenAI로 Python 예외 설명

Jan 27 2023
Python 애플리케이션 문제를 해결하는 데 도움이 되는 AI 도우미를 빌드하는 방법
prefect-openaicollection은 Prefect의 로깅과 OpenAI의 해석 기능을 결합하여 OpenAI를 작업 흐름에 통합하는 것을 단순화합니다. 애플리케이션 코드가 충돌할 때 OpenAI와 같은 문제 해결 지원을 받는 것이 좋습니다! HTTP 상태 코드에 익숙하지 않은 경우 OpenAI가 추가 컨텍스트를 제공하는 데 도움이 될 수 있습니다.
prefect-openai를 사용하여 이와 같은 이미지를 생성하는 방법을 알아 보려면 계속 읽으십시오!

이 prefect-openai컬렉션은 Prefect의 로깅과 OpenAI의 해석 기능을 결합하여 OpenAI를 작업 흐름에 통합하는 것을 단순화합니다.

애플리케이션

코드가 충돌할 때 OpenAI와 같은 문제 해결 도움이 있으면 좋을 것입니다!

HTTP 상태 코드에 익숙하지 않은 경우 OpenAI가 추가 컨텍스트를 제공하는 데 도움이 될 수 있습니다. 이렇게 하면 문제를 더 잘 이해하고 해결책을 더 빨리 찾는 데 도움이 될 수 있습니다!

예를 들어 다음 예외를 입력으로 사용합니다.

HTTPStatusError: URL 'https://httpbin.org/status/403'에 대한 클라이언트 오류 '403 FORBIDDEN' 자세한 내용 확인:https://httpstatuses.com/403

OpenAI는 다음 해석을 반환했습니다.

403 금지 오류는 URL을 방문하려는 사용자가 해당 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()
    

흐름 실행의 Prefect Cloud UI 로그

설정

interpret_exception데코레이터를 사용하려면 먼저 OpenAICredentials및 CompletionModel블록을 만들어야 합니다.

그러나 걱정하지 마십시오. 간단합니다.

먼저 OpenAI 계정 페이지 에서 OpenAI API 키를 만듭니다 .

그런 다음 아래 자리 표시자를 복사, 붙여넣기 및 바꿉니다.

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

또는 Prefect UI에서 직접 블록을 생성할 수도 있습니다.

CompletionModel 블록을 생성하는 Prefect UI

커스터마이징

모델의 결과물을 조정하는 것은 일부는 예술이고 일부는 과학입니다.

프롬프트에 다른 접두사를 사용하거나 모델에 대한 추가 컨텍스트에 대한 역추적의 일부를 포함하는 데 관심이 있는 경우 다음 키워드 인수를 사용할 수 있습니다.

  • prompt_prefix: 역추적 및 예외 메시지 앞의 프롬프트에 포함할 접두사입니다.
  • traceback_tail: 꼬리부터 시작하여 OpenAI에 대한 프롬프트에 포함할 원래 역추적의 행 수입니다. 0이면 프롬프트에 예외 메시지만 포함합니다. 이 구성은 토큰 측면에서 비용이 많이 들 수 있으므로 this 및 max_tokensin을 CompletionModel적절하게 설정해야 합니다.
  • @interpret_exception(
        "COMPLETION_MODEL_BLOCK_NAME_PLACEHOLDER",
        prompt_prefix="Offer a solution:",
        traceback_tail=1,
    )
    

  • 예외 메시지 캡처
  • 접두사 "설명:"을 추가합니다.
  • 텍스트 완성 모델에 프롬프트로 제출
  • 응답으로 예외를 다시 발생시킵니다.

자원

예외를 해석하는 것 외에도 prefect-openai임의의 텍스트 완성과 이미지 생성을 지원합니다. 이것이 표지 이미지가 생성된 방식입니다!

prefect-openai 이러한 사용 사례가 흥미롭다면 문서를 확인 하고 GitHub 의 컬렉션 저장소에 별표를 표시 하십시오 !