일반 소개
Instructor는 대규모 언어 모델(LLM)의 구조화된 출력을 처리하기 위해 설계된 인기 있는 Python 라이브러리입니다. Pydantic을 기반으로 구축된 이 라이브러리는 데이터 유효성 검사, 재시도 및 스트리밍 응답을 관리하기 위한 간단하고 투명하며 사용자 친화적인 API를 제공하며, 매월 백만 건 이상의 다운로드 수를 기록하고 있으며 다양한 LLM 워크플로에서 널리 사용되고 있습니다. 이 라이브러리는 파이썬, 타입스크립트, 루비, 고, 엘릭서 등 여러 프로그래밍 언어를 지원하며, OpenAI 지원을 넘어 광범위한 LLM 제공업체와 원활하게 통합됩니다.
추천 읽기:대규모 모델 구조화 데이터 출력 방법: 엄선된 LLM JSON 리소스 목록및개요: 정규식, JSON 또는 Pydantic 모델을 통해 구조화된 텍스트 출력 생성및AI 함수: 입력 콘텐츠를 구조화된 출력으로 변환하는 (API) 서비스.

기능 목록
- 응답 모델: 피단틱 모델을 사용하여 LLM 출력의 구조를 정의합니다.
- 재시험 관리요청에 대한 재시도 횟수를 쉽게 구성할 수 있습니다.
- 데이터 유효성 검사: LLM 응답이 예상과 일치하는지 확인합니다.
- 스트리밍 지원목록 및 부분 응답을 쉽게 처리할 수 있습니다.
- 유연한 백엔드여러 LLM 제공업체와의 원활한 통합.
- 다국어 지원파이썬, 타입스크립트, 루비, 고, 엘릭서 등 여러 프로그래밍 언어를 지원합니다.
도움말 사용
설치 프로세스
Instructor를 설치하려면 다음 명령을 실행하면 됩니다:
pip install -U instructor
기본 사용
다음은 Instructor를 사용하여 자연어에서 구조화된 데이터를 추출하는 방법을 보여주는 간단한 예제입니다:
import instructor
from pydantic import BaseModel
from openai import OpenAI
# 定义所需的输出结构
class UserInfo(BaseModel):
name: str
age: int
# 初始化 OpenAI 客户端并与 Instructor 集成
client = instructor.from_openai(OpenAI())
# 从自然语言中提取结构化数据
user_info = client.chat.completions.create(
model="gpt-4o-mini",
response_model=UserInfo,
messages=[{"role": "user", "content": "John Doe is 30 years old."}]
)
print(user_info.name) # 输出: John Doe
print(user_info.age) # 输出: 30
후크 사용
인스트럭터는 LLM 상호작용 프로세스의 다양한 단계에서 가로채고 기록할 수 있는 강력한 후크 시스템을 제공합니다. 다음은 훅을 사용하는 방법을 보여주는 간단한 예시입니다:
import instructor
from openai import OpenAI
from pydantic import BaseModel
class UserInfo(BaseModel):
name: str
age: int
# 初始化 OpenAI 客户端并与 Instructor 集成
client = instructor.from_openai(OpenAI())
# 使用钩子记录交互过程
client.add_hook("before_request", lambda request: print(f"Request: {request}"))
client.add_hook("after_response", lambda response: print(f"Response: {response}"))
# 从自然语言中提取结构化数据
user_info = client.chat.completions.create(
model="gpt-4o-mini",
response_model=UserInfo,
messages=[{"role": "user", "content": "Jane Doe is 25 years old."}]
)
print(user_info.name) # 输出: Jane Doe
print(user_info.age) # 输出: 25
고급 사용법
또한 Instructor는 다른 LLM 제공업체와의 통합을 지원하며 유연한 구성 옵션을 제공합니다. 필요에 따라 요청 재시도 횟수, 데이터 유효성 검사 규칙 및 스트리밍 응답 처리를 사용자 지정할 수 있습니다.
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...