인스트럭터: 대규모 언어 모델을 위한 구조화된 출력 워크플로우를 간소화하는 Python 라이브러리

최신 AI 리소스6개월 전 업데이트 AI 공유 서클
2K 00

일반 소개

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

추천 읽기:대규모 모델 구조화 데이터 출력 방법: 엄선된 LLM JSON 리소스 목록개요: 정규식, JSON 또는 Pydantic 모델을 통해 구조화된 텍스트 출력 생성AI 함수: 입력 콘텐츠를 구조화된 출력으로 변환하는 (API) 서비스.

Instructor:简化大语言模型结构化输出工作流的Python库

 

기능 목록

  • 응답 모델: 피단틱 모델을 사용하여 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 제공업체와의 통합을 지원하며 유연한 구성 옵션을 제공합니다. 필요에 따라 요청 재시도 횟수, 데이터 유효성 검사 규칙 및 스트리밍 응답 처리를 사용자 지정할 수 있습니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...