Configurar LangChain para IA generativa

Configura paquetes LangChain, incluidos paquetes para la integración con OCI Generative AI. A continuación, prueba la instalación chateando con un modelo alojado en OCI Generative AI.

1. Instalar LangChain

  1. Instale el paquete langchain mediante pip:
    pip install -U langchain

    Este comando instala o actualiza el paquete langchain a la última versión disponible. Si ya tiene instalada una versión anterior, pip sustituye el paquete por el más reciente.

  2. Verifique que el paquete langchain esté instalado. Introduzca el siguiente comando.
    pip show langchain

    El comando muestra los detalles del paquete langchain, incluidos los paquetes necesarios para trabajar con este paquete. Por ejemplo,

    Requires: langchain-core, langchain-text-splitters, 
    langsmith, pydantic, PyYAML, requests, SQLAlchemy
  3. Verifique que los paquetes necesarios estén instalados. Introduzca el siguiente comando:
    pip list

    Instale los paquetes que falten.

  4. Verifique que la instalación funcione.
    python3 -c "import langchain; 
    print(langchain.__version__)"

    Este comando imprime la versión del paquete langchain.

2. Instalar el paquete OCI LangChain

  1. Instale el paquete langchain-oci mediante pip:
    pip install -U langchain-oci
    Importante

    Las funciones de integración de OCI disponibles en el paquete langchain-community ahora están en desuso. Asegúrese de instalar el paquete langchain-oci mediante el comando anterior.
  2. Verifique que el paquete langchain-oci esté instalado. Introduzca el siguiente comando.
    pip show langchain-oci

    Busque los paquetes necesarios para trabajar con el paquete langchain-oci. Por ejemplo,

    Requires: aiohttp, langchain, langchain-core, oci, pydantic
  3. Verifique que los paquetes necesarios estén instalados. Introduzca el siguiente comando:
    pip list

    Instale los paquetes que falten.

3. Recopilación de la información necesaria

Recopile toda la información que necesita para completar este tutorial. Copie la información necesaria en un archivo de texto seguro.

Buscar el costo del chat (opcional)

Este tutorial envía un mensaje de chat al modelo Meta Llama 4 Scout alojado en OCI Generative AI y recibe una respuesta. El costo de un mensaje de chat bajo demanda es cercano a cero dólares, pero no es gratuito. Con esta sección, queremos que aprendas a calcular el coste y decidir qué modelo utilizar cuando tengas miles de transacciones.

  1. Vaya a la página de precios y seleccione un modelo en función de su precio para 10 000 transacciones (10 000 caracteres). En lugar de 10,000 transacciones, algunos precios se enumeran para 1,000,000 tokens. Estimar de 3 a 4 caracteres por token.

    Este tutorial utiliza aproximadamente 200 caracteres o 53 tokens para la entrada y aproximadamente la misma cantidad para su salida, lo que suma aproximadamente 400 caracteres o 106 tokens, así que redondeémoslo hasta aproximadamente 500 caracteres.

  2. Si su organización aprueba el costo de Oracle Cloud Infrastructure Generative AI - Meta Llama 4 Scout para 500 caracteres, utilice la información proporcionada en este tutorial. De lo contrario, en los pasos del tutorial, sustituya el modelo Meta Llama 4 Scout por un modelo aprobado.
  3. Para transacciones más grandes, también puede ir a la herramienta estimador de costos seleccionando la categoría IA y Machine Learning y cargando el estimador de costos para OCI Generative AI. A continuación, se muestran valores de ejemplo para este tutorial:
    • Métrica de servicio: bajo demanda
    • Proveedor de modelo: Meta
    • Modelo: Llama 4 Scout
    • Número esperado de solicitudes al mes: 5 (Supongamos que ejecuta el archivo Python 5 veces)
    • Longitud de petición de datos (en caracteres): 200 (para este tutorial)
    • Longitud de respuesta (en caracteres): 200 (para este tutorial)

3.2 Obtención de la información de compartimento

Para obtener el OCID de compartimento de un compartimento:

  1. Abra el menú de navegación y seleccione Identidad y seguridad. En Identidad, seleccione Compartimentos.
  2. Seleccione el compartimento que ha creado para el tutorial Creación de un usuario de sandbox para tutoriales.
  3. Seleccione el enlace Copiar para el campo OCID.

    Guarde el OCID del compartimento.

    Ejemplo: ocid1.compartment.oc1..xxx

3.3 Obtener ruta al archivo de configuración

En el tutorial Configuración de autenticación de API para OCI, copie la siguiente información:

  • Ruta al archivo de configuración, como <your-home-directory>/.oci/config
  • Nombre de perfil de autenticación que se utilizará en el archivo de configuración. Por ejemplo, Default.

3.4 Obtener punto final de API de inferencia

  1. Vaya a API de inferencia de IA generativa.
  2. En los puntos finales de API mostrados, copie el punto final para la región de Chicago:
    https://inference.generativeai.us-chicago-1.oci.oraclecloud.com

3.5 Información recopilada

Asegúrese de escribir la siguiente información para el tutorial.

  • ID de compartimento: <sandbox-compartment>

    Ejemplo: ocid1.compartment.oc1.aaaaaaa...

  • ID de modelo: meta.llama-4-scout-17b-16e-instruct
  • Punto final de API: https://inference.generativeai.us-chicago-1.oci.oraclecloud.com
  • Ruta de archivo de configuración: <path-to-config-file

    Ejemplo: <your-home-directory>/.oci/config

  • Nombre de perfil de autenticación en el archivo de configuración: <auth-profile-name-in-config-file>

    Ejemplo: Default

4. Chat

Chatea con un modelo alojado en OCI Generative AI. Llegue a este modelo con el paquete langchain-oci.

Importante

Asegúrese de realizar los pasos de <sandbox-compartment>. Puede que no tenga permiso para ver o crear recursos en el arrendamiento o en otros compartimentos.
  1. Cree un archivo denominado langchain-1-translate.py.
  2. Agregue el siguiente código a langchain-1-translate.py.
    from langchain.prompts import ChatPromptTemplate
    from langchain_oci.chat_models import ChatOCIGenAI
    from langchain.schema.output_parser import StrOutputParser
    
    prompt = ChatPromptTemplate.from_template("""Translate the following text into French. 
    If the text is a question, first translate the question 
    and then answer the question in French.: {text}""")
    
    llm = ChatOCIGenAI(
        model_id="meta.llama-4-scout-17b-16e-instruct",
        service_endpoint="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com",
        compartment_id="<sandbox-compartment>",
        model_kwargs={"temperature": 0, "max_tokens": 500},
        auth_profile="<auth-profile-name-in-config-file>",  
        auth_file_location="<path-to-config-file>",
        )
    
    output_parser = StrOutputParser()
    
    chain = prompt | llm | output_parser
    input_data = {"text": "What are the four seasons in a year?"}
    
    result = chain.invoke(input_data)
    print(result)
    
  3. Ejecute el archivo Python langchain-1-translate.py con el siguiente comando.
    python3 langchain-1-translate.py

    Respuesta de ejemplo:

    The translation of the question is:
    
    Quelles sont les quatre saisons dans une année ?
    
    And the answer is:
    
    Les quatre saisons dans une année sont : le printemps, l'été, l'automne et l'hiver.