Введение
Откройте возможности извлечения структурированных данных с помощью 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.