Извлечение структурированных данных с LangChain и Claude 3.7: пошаговое руководство для бизнеса

Извлечение структурированных данных с LangChain и Claude 3.7: пошаговое руководство для бизнеса



Решения по Извлечению Структурированных Данных

Введение

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


Новости в сфере искусственного интеллекта