Instructor: библиотека Python для упрощения структурированного вывода для больших языковых моделей
Общее введение
Instructor - это популярная библиотека Python, предназначенная для обработки структурированного вывода больших языковых моделей (LLM). Построенная на основе Pydantic, она предоставляет простой, прозрачный и удобный API для управления проверкой данных, повторными попытками и потоковыми ответами.Instructor имеет более миллиона загрузок в месяц и широко используется в различных рабочих процессах LLM. Библиотека поддерживает множество языков программирования, включая Python, TypeScript, Ruby, Go и Elixir, и легко интегрируется с широким спектром LLM-провайдеров, не ограничиваясь поддержкой OpenAI.
Рекомендуемое чтение:Методы вывода структурированных данных большой модели: избранный список ресурсов LLM JSON, иOutlines: генерирует структурированный текст с помощью регулярных выражений, JSON или моделей Pydantic., иAI Functions: (API) сервис для преобразования входного контента в структурированные выходные данные..

Список функций
- модель отклика: Используйте модель Pydantic для определения структуры вывода LLM.
- Управление повторными испытаниями: Простая настройка количества повторных попыток для запроса.
- Проверка достоверности данных: Убедитесь, что ответ LLM соответствует ожиданиям.
- Поддержка потокового вещания: Удобная работа со списками и частичными ответами.
- Гибкая внутренняя часть: Бесшовная интеграция с несколькими провайдерами LLM.
- Поддержка нескольких языков: Поддержка множества языков программирования, таких как Python, TypeScript, Ruby, Go и Elixir.
Использование помощи
Процесс установки
Чтобы установить 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
Использование крючков
Instructor предоставляет мощную систему хуков, которая позволяет перехватывать и регистрировать различные этапы процесса взаимодействия с 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 и предлагает гибкие возможности настройки. Вы можете настроить количество повторных запросов, правила проверки данных и обработку потоковых ответов по своему усмотрению.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...