Введение
Откройте возможности извлечения структурированных данных с помощью LangChain и Claude 3.7 Sonnet, преобразуя сырые текстовые данные в полезные инсайты. Этот учебник сосредоточен на отслеживании вызовов инструментов LLM с использованием LangSmith, что позволяет осуществлять отладку и мониторинг производительности вашей системы извлечения в реальном времени.
Установка необходимых пакетов
Сначала необходимо установить необходимые пакеты для работы с моделью Claude:
pip install --upgrade langchain-core
pip install langchain_anthropic
Настройка переменных окружения
Если вы используете LangSmith для отслеживания и отладки, настройте переменные окружения:
LANGSMITH_TRACING=True
LANGSMITH_ENDPOINT="ваш_конечный_адрес"
LANGSMITH_API_KEY="Ваш_API_Ключ"
LANGSMITH_PROJECT="extraction_api"
Определение схемы данных
Затем необходимо определить схему для извлекаемой информации. Мы используем модели Pydantic для создания структурированного представления данных о человеке:
from typing import Optional
from pydantic import BaseModel, Field
class Person(BaseModel):
name: Optional[str] = Field(default=None, description="Имя человека")
hair_color: Optional[str] = Field(default=None, description="Цвет волос человека")
height_in_meters: Optional[str] = Field(default=None, description="Рост в метрах")
Создание шаблона запроса
Теперь мы определим шаблон запроса, который будет направлять Claude в процессе извлечения:
from langchain_ts import ChatPromptTemplate, MessagesPlaceholder
prompt_template = ChatPromptTemplate(
[
("system", "Вы - эксперт по извлечению данных."),
("system", "Извлекайте только релевантную информацию из текста."),
("system", "Если не знаете значение атрибута, верните null."),
("human", "text"),
]
)
Инициализация модели Claude
Теперь инициализируем модель Claude для выполнения извлечения информации:
import getpass
import os
if not ("ANTHROPIC_API_KEY"):
os.environ["ANTHROPIC_API_KEY"] = getpass.getpass("Введите API ключ для Anthropic: ")
from _models import init_chat_model
llm = init_chat_model("claude-3-7-sonnet-20250219", model_provider="anthropic")
Настройка структурированного вывода
Настраиваем LLM для возврата структурированного вывода в соответствии с нашей схемой:
structured_llm = _structured_output(schema=Person)
Тестирование системы извлечения
Давайте протестируем нашу систему извлечения на простом примере:
text = "Alan Smith рост 6 футов и у него светлые волосы."
prompt = prompt_template.format(text=text)
result = structured_llm(prompt)
print(result)
Сложный пример
Теперь попробуем более сложный пример:
from typing import List
class Data(BaseModel):
people: List[Person] = Field(default_factory=list, description="Список упомянутых людей")
structured_llm = _structured_output(schema=Data)
text = "Меня зовут Джефф, у меня черные волосы и рост 6 футов. У Анны такие же волосы."
prompt = prompt_template.format(text=text)
result = structured_llm(prompt)
print(result)
Заключение
В этом учебнике показано, как создать систему извлечения структурированной информации с помощью LangChain и Claude, которая преобразует неструктурированный текст в организованные данные о людях. Подход использует схемы Pydantic, кастомные запросы и примеры для улучшения без необходимости в специализированных обучающих процессах.
Практические рекомендации
Изучите, как технологии искусственного интеллекта могут преобразовать ваш подход к работе:
- Определите процессы, которые можно автоматизировать.
- Выявите ключевые показатели эффективности для оценки влияния AI на бизнес.
- Выберите инструменты, соответствующие вашим целям.
- Начните с небольшого проекта и постепенно расширяйте использование AI.
Если вам нужна помощь в управлении AI в бизнесе, свяжитесь с нами по адресу hello@itinai.ru.
Не забудьте подписаться на наш Telegram, чтобы быть в курсе последних новостей AI: https://t.me/itinai.





















