Athrun Data Intelligence


Desbloquee el poder de la procedencia de datos estructurados con Langchain y el soneto Claude 3.7, transformando el texto sin procesar en ideas procesables. Este tutorial se centra en el rastreo de la aparejo LLM que usa Langsmith, lo que permite la depuración en tiempo efectivo y el monitoreo del rendimiento de su sistema de procedencia. Utilizamos esquemas pydánticos para el formato de datos preciso y la solicitud flexible de Langchain para gobernar a Claude. Experimenta un refinamiento impulsado por el ejemplo, eliminando la aprieto de capacitación compleja. Esto es un vistazo a las capacidades de Langsmith, que muestra cómo crear tuberías de procedencia robustas para diversas aplicaciones, desde el procesamiento de documentos hasta la entrada de datos automatizado.

Primero, necesitamos instalar los paquetes necesarios. Usaremos langchain-core y langchain_anthropic para interactuar con el maniquí Claude.

!pip install --upgrade langchain-core
!pip install langchain_anthropic

Si está utilizando Langsmith para rastrear y depurar, puede configurar variables de entorno:

LANGSMITH_TRACING=True
LANGSMITH_ENDPOINT="https://api.smith.langchain.com"
LANGSMITH_API_KEY="Your API KEY"
LANGSMITH_PROJECT="extraction_api"

A continuación, debemos precisar el esquema de la información que queremos extraer. Usaremos modelos Pydantic para crear una representación estructurada de una persona.

from typing import Optional
from pydantic import BaseModel, Field


class Person(BaseModel):
    """Information about a person."""


    name: Optional(str) = Field(default=None, description="The name of the person")
    hair_color: Optional(str) = Field(
        default=None, description="The color of the person's hair if known"
    )
    height_in_meters: Optional(str) = Field(
        default=None, description="Height measured in meters"
    )

Ahora, definiremos una plantilla rápida que instruya a Claude sobre cómo realizar la tarea de procedencia:

from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder




prompt_template = ChatPromptTemplate.from_messages(
    (
        (
            "system",
            "You are an expert extraction algorithm. "
            "Only extract relevant information from the text. "
            "If you do not know the value of an attribute asked to extract, "
            "return null for the attribute's value.",
        ),


        ("human", "{text}"),
    )
)

Esta plantilla proporciona instrucciones claras al maniquí sobre su tarea y cómo manejar la información faltante.

A continuación, inicializaremos el maniquí Claude que realizará nuestra procedencia de información:

import getpass
import os


if not os.environ.get("ANTHROPIC_API_KEY"):
    os.environ("ANTHROPIC_API_KEY") = getpass.getpass("Enter API key for Anthropic: ")


from langchain.chat_models import init_chat_model


llm = init_chat_model("claude-3-7-sonnet-20250219", model_provider="anthropic")

Ahora, configuraremos nuestro LLM para devolver la salida estructurada de acuerdo con nuestro esquema:

structured_llm = llm.with_structured_output(schema=Person)

Este paso esencia le dice al maniquí que formatea sus respuestas según el esquema de nuestra persona.

Probemos nuestro sistema de procedencia con un ejemplo simple:

text = "Alan Smith is 6 feet tall and has blond hair."
prompt = prompt_template.invoke({"text": text})
result = structured_llm.invoke(prompt)
print(result)

Ahora, intentemos un ejemplo más engorroso:

from typing import List


class Data(BaseModel):
    """Container for extracted information about people."""
    people: List(Person) = Field(default_factory=list, description="List of people mentioned in the text")


structured_llm = llm.with_structured_output(schema=Data)


text = "My name is Jeff, my hair is black and I am 6 feet tall. Anna has the same color hair as me."
prompt = prompt_template.invoke({"text": text})
result = structured_llm.invoke(prompt)
print(result)




# Next example
text = "The solar system is large, (it was discovered by Nicolaus Copernicus), but earth has only 1 moon."
prompt = prompt_template.invoke({"text": text})
result = structured_llm.invoke(prompt)
print(result)

En conclusión, este tutorial demuestra construir un sistema de procedencia de información estructurado con Langchain y Claude que transforma el texto no estructurado en datos organizados sobre las personas. El enfoque utiliza esquemas pydánticos, indicaciones personalizadas y una perfeccionamiento impulsada por el ejemplo sin requerir tuberías de capacitación especializadas. La potencia del sistema proviene de su flexibilidad, adaptabilidad del dominio y utilización de capacidades de razonamiento avanzadas de LLM.


Aquí está el Cuaderno de colab. Adicionalmente, no olvides seguirnos Gorjeo y únete a nuestro Canal de telegrama y LinkedIn GRrepartir. No olvides unirte a nuestro 85k+ ml de subreddit.


Asif Razzaq es el CEO de MarktechPost Media Inc .. Como patrón e ingeniero quimérico, ASIF se compromete a emplear el potencial de la inteligencia fabricado para el adecuadamente social. Su esfuerzo más fresco es el dispersión de una plataforma de medios de inteligencia fabricado, MarktechPost, que se destaca por su cobertura profunda de noticiero de educación inconsciente y de educación profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el sabido.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *