>기술 주변기기 >일체 포함 >OpenAI 기능 호출 자습서 : 구조화 된 출력을 생성합니다

OpenAI 기능 호출 자습서 : 구조화 된 출력을 생성합니다

Lisa Kudrow
Lisa Kudrow원래의
2025-03-10 12:02:12665검색
호출 기능없이 OpenAi 사용 이 섹션에서는 일관된 출력 여부를 확인하기 위해 기능을 호출하지 않고 GPT-3.5 터보 모델을 사용하여 응답을 생성합니다. OpenAi Python API를 설치하기 전에 API 키를 얻고 로컬 시스템에 설정해야합니다. Python 튜토리얼의 OpenAI API를 통해 GPT-3.5 및 GPT-4를 따라 API 키를 얻고 설정하는 방법을 배우십시오. 자습서에는 DataLab의 DataCamp의 AI 지원 데이터 노트북에서 환경 변수 설정의 예도 포함됩니다. 추가 지원을 원하시면 Datalab에서 OpenAi Function의 코드를 확인하십시오. OpenAi Python API를 v1로 업그레이드하십시오

그 후 API 키를 사용하여 OpenAi 클라이언트를 시작하십시오.

노트 : OpenAi는 더 이상 신규 사용자에게 무료 크레딧을 제공하지 않으므로 API를 사용하려면 구매해야합니다. 우리는 임의의 학생 설명을 쓸 것입니다. 자신의 텍스트를 생각해 내거나 chatgpt를 사용하여 하나를 생성 할 수 있습니다.

다음 부분에서는 텍스트에서 학생 정보를 추출하고 출력을 JSON 객체로 반환하라는 프롬프트를 작성합니다. 우리는 학생 설명에서 이름, 전공, 학교, 성적 및 클럽을 추출합니다.

OpenAI API 채팅 완료 모듈에 프롬프트를 추가하여 응답을 생성합니다.

응답은 꽤 좋습니다. 더 잘 이해하기 위해 JSON으로 변환합시다

우리는`json` 라이브러리를 사용하여 텍스트를 JSON 객체로 변환합니다.

최종 결과는 거의 완벽합니다. 그렇다면 왜 우리는 기능을 호출해야합니까?
pip install --upgrade openai -q

동일한 프롬프트를 시도해 보겠습니다.하지만 다른 학생 설명을 사용해 보겠습니다.

우리는 프롬프트에서 학생 설명 텍스트 만 변경합니다.
import os
from openai import OpenAI

client = OpenAI(
  api_key=os.environ['OPENAI_API_KEY'],
)
및 두 번째 프롬프트를 사용하여 채팅 완료 함수를 실행합니다.

보시다시피, 일관성이 없습니다. 하나의 클럽을 반환하는 대신 라비가 합류 한 클럽 목록을 반환했습니다. 첫 번째 학생과 다릅니다. OpenAi 함수 호출 예

이 문제를 해결하기 위해 최근에 소개 된 기능 호출이라는 기능을 사용합니다. OpenAI API가 기능을 이해할 수 있도록 사전 목록에 필요한 정보를 추가하기 위해 사용자 정의 기능을 작성하는 것이 필수적입니다.
    이름
  • : 최근에 만든 Python 함수 이름을 작성하십시오. 설명 : 함수의 기능 매개 변수 :“속성”내에 인수, 유형 및 설명의 이름을 씁니다. Openai API가 우리가 찾고있는 세상을 식별하는 데 도움이 될 것입니다.
  • 노트 : 올바른 패턴을 따르고 있는지 확인하십시오. 공식 문서를 읽음으로써 기능 호출에 대해 자세히 알아보십시오. 다음으로, 우리는 "함수"인수에 추가 된 사용자 정의 함수를 사용하여 두 학생 설명에 대한 응답을 생성합니다. 그 후, 우리는 텍스트 응답을 JSON 객체로 변환하여 인쇄합니다.
  • .
  • 우리가 볼 수 있듯이, 우리는 균일 한 출력을 얻었습니다. 우리는 심지어 문자열 대신 숫자로 등급을 받았습니다. 버그가없는 AI 응용 프로그램을 작성하려면 일관된 출력이 필수적입니다 다중 사용자 정의 함수 채팅 완료 함수에 여러 사용자 정의 함수를 추가 할 수 있습니다. 이 섹션에서는 OpenAI API의 마법 능력과 올바른 기능을 자동으로 선택하고 올바른 인수를 반환하는 방법을 볼 수 있습니다. 사전의 Python 목록에서“Extract_school_info”라는 다른 함수를 추가합니다.이 기능은 텍스트에서 대학 정보를 추출하는 데 도움이됩니다. 이를 달성하려면 이름, 설명 및 매개 변수가있는 함수의 다른 사전을 추가해야합니다.
  • 우리는 Chatgpt를 사용하여“Stanford University”설명을 생성하여 기능을 테스트 할 것입니다.
학생 및 학교 설명 목록을 작성하여 OpenAi 채팅 완료 기능을 통해 응답을 생성합니다. 업데이트 된 사용자 정의 기능을 제공했는지 확인하십시오

GPT-3.5-Turbo 모델은 다른 설명 유형에 대해 올바른 기능을 자동으로 선택했습니다. 우리는 학생과 학교를위한 완벽한 JSON 출력을 얻습니다. 우리는 "Extract_school_info"함수를 사용하여 리포지트가 생성 된 이름을 볼 수 있습니다.

pip install --upgrade openai -q

기능의 응용 프로그램 이 섹션에서는 학교와 학생 정보를 특정한 방식으로 요약 할 안정적인 텍스트 요약자를 구축 할 것입니다. 먼저, 우리는 두 개의 Python 함수 인 Extrac_Student_info와 Extract_school_info를 생성합니다.
pip install --upgrade openai -q
    학생 하나의 설명, 무작위 프롬프트 및 학교 하나의 설명으로 구성된 파이썬 목록을 만듭니다. 무작위 프롬프트가 추가되어 자동 기능 호출 메카닉을 검증합니다.
  1. 우리는`descriptions` 목록에서 각 텍스트를 사용하여 응답을 생성합니다. 함수 호출이 사용되면 함수 이름을 얻고 그에 따라 응답을 사용하여 관련 인수를 함수에 적용합니다. 그렇지 않으면 정상 응답을 반환하십시오.
  2. 세 샘플 모두의 출력을 인쇄하십시오
  3. 샘플#1 : GPT 모델은“Extrac_Student_Info”를 선택했으며 학생에 대한 짧은 요약을 받았습니다.
  4. .
  5. 샘플#2 : GPT 모델은 어떤 기능도 선택하지 않았으며 프롬프트를 정기적 인 질문으로 취급했으며, 결과적으로 우리는 아브라함 링컨의 전기를 얻었습니다. . 샘플#3 import os from openai import OpenAI client = OpenAI( api_key=os.environ['OPENAI_API_KEY'], ) : GPT 모델은 "Extrac_School_info"를 선택했으며 Stanford University에 대한 짧은 요약을 받았습니다.
    • 결론 이 튜토리얼에서는 OpenAi의 기능 호출에 대해 배웠습니다. 또한 일관된 출력을 생성하고 여러 기능을 작성하며 신뢰할 수있는 텍스트 요약자를 구축하는 방법을 배웠습니다. OpenAI API에 대해 더 많이 배우려면 OpenAI API 코스 작업을 수행하고 Python 치트 시트에서 OpenAI API를 사용하여 첫 번째 AI 전원 프로젝트를 작성하십시오. FAQS
    • OpenAI 기능 호출 복합체 중첩 출력을 호출하는 방법
    • 기능 스키마에서 중첩 된 JSON 구조를 정의하십시오. 매개 변수 속성 내에서 계층 적 관계를 지정함으로써 모델이 복잡한 데이터 요구 사항에 대해 올바르게 중첩되고 구조화 된 JSON 출력을 생성 할 수 있도록 할 수 있습니다. Openai 기능 호출을 외부 API 또는 데이터베이스와 함께 사용할 수 있습니까?
    • 🎜 예, OpenAI 기능은 Enter External Funcation과 통합 될 수 있습니다. API 호출 또는 데이터베이스 쿼리는 모델에서 전달 된 인수를 기반으로합니다. 이를 통해 외부 시스템과의 동적 상호 작용을 가능하게하면서 일관되고 구조화 된 응답을 유지합니다. 모델의 함수 호출이 정의 된 함수와 일치하지 않으면 어떻게됩니까?

      모델의 기능 호출이 정의 된 기능이나 제공된 스키마와 일치하지 않으면 기능 호출이 트리거되지 않으며 입력을 표준 텍스트 기반 프롬프트로 취급하여 일반 텍스트 기반 응답을 반환합니다. 이를 통해 다양한 입력 유형을 처리 할 때의 유연성을 보장합니다.

      최고 AI 인증

      ai.get 인증을 효과적으로 사용할 수 있고 고용 될 수 있습니다.

위 내용은 OpenAI 기능 호출 자습서 : 구조화 된 출력을 생성합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.