Configurar o LangChain para IA Generativa

Configure pacotes LangChain, incluindo pacotes para integração com o OCI Generative AI. Em seguida, teste a instalação conversando com um modelo hospedado no OCI Generative AI.

1. Instalar LangChain

  1. Instale o pacote langchain usando pip:
    pip install -U langchain

    Esse comando instala ou faz upgrade do pacote langchain para a versão mais recente disponível. Se você já tiver uma versão mais antiga instalada, o pip substituirá o pacote pela mais recente.

  2. Verifique se o pacote langchain está instalado. Digite o seguinte comando.
    pip show langchain

    O comando exibe detalhes do pacote langchain, incluindo os pacotes necessários para trabalhar com esse pacote. Por exemplo,

    Requires: langchain-core, langchain-text-splitters, 
    langsmith, pydantic, PyYAML, requests, SQLAlchemy
  3. Verifique se os pacotes necessários estão instalados. Digite o seguinte comando:
    pip list

    Instale todos os pacotes ausentes.

  4. Verifique se a instalação funciona.
    python3 -c "import langchain; 
    print(langchain.__version__)"

    Esse comando imprime a versão do pacote langchain.

2. Instalar o Pacote do OCI LangChain

  1. Instale o pacote langchain-oci usando pip:
    pip install -U langchain-oci
    Importante

    Os recursos de integração do OCI disponíveis no pacote langchain-community agora estão obsoletos. Certifique-se de instalar o pacote langchain-oci usando o comando anterior.
  2. Verifique se o pacote langchain-oci está instalado. Digite o seguinte comando.
    pip show langchain-oci

    Localize os pacotes necessários para trabalhar com o pacote langchain-oci. Por exemplo,

    Requires: aiohttp, langchain, langchain-core, oci, pydantic
  3. Verifique se os pacotes necessários estão instalados. Digite o seguinte comando:
    pip list

    Instale todos os pacotes ausentes.

3. Reunir as Informações Necessárias

Colete todas as informações que você precisa para completar este tutorial. Copie as informações necessárias em um arquivo de texto seguro.

Encontre o Custo para Bate-papo (Opcional)

Este tutorial envia uma mensagem de chat ao modelo Meta Llama 4 Scout hospedado no OCI Generative AI e recebe uma resposta. O custo de uma mensagem de chat sob demanda é quase zero, mas não é gratuito. Nesta seção, queremos que você aprenda a calcular o custo e decida qual modelo usar quando tiver milhares de transações.

  1. Navegue até a Página de Preços e selecione um modelo com base em seu preço para 10.000 transações (10.000 caracteres). Em vez de 10.000 transações, alguns preços são listados para 1.000.000 de tokens. Estime de 3 a 4 caracteres por token.

    Este tutorial usa cerca de 200 caracteres ou 53 tokens para entrada e aproximadamente a mesma quantidade para sua saída, o que adiciona cerca de 400 caracteres ou 106 tokens, então vamos arredondá-lo para cerca de 500 caracteres.

  2. Se sua organização aprovar o custo da Oracle Cloud Infrastructure Generative AI - Meta Llama 4 Scout por 500 caracteres, use as informações fornecidas neste tutorial. Caso contrário, nas etapas do tutorial, substitua o modelo Meta Llama 4 Scout por um modelo aprovado.
  3. Para transações maiores, você também pode acessar a ferramenta estimador de custos selecionando a categoria IA e Machine Learning e carregando o estimador de custos para a OCI Generative AI. Veja a seguir exemplos de valores para este tutorial:
    • Métrica de serviço: sob demanda
    • Provedor do modelo: Meta
    • Referência: Llama 4 Scout
    • Número esperado de solicitações por mês: 5 (Suponha que você execute o arquivo Python 5 vezes)
    • Tamanho do prompt (em caracteres): 200 (para este tutorial)
    • Tamanho da resposta (em caracteres): 200 (para este tutorial)

3.2 Obter Informações do Compartimento

Para obter o OCID do compartimento de um compartimento:

  1. Abra o menu de navegação e selecione Identidade e Segurança. Em Identidade, selecione Compartimentos.
  2. Selecione o compartimento criado para o tutorial Criar um Usuário de Sandbox para Tutoriais.
  3. Selecione o link Copiar do campo OCID.

    Salve o OCID do compartimento.

    Exemplo: ocid1.compartment.oc1..xxx

3.3 Obter Caminho para o Arquivo de Configuração

No tutorial Configurar Autenticação de API para o OCI, copie as seguintes informações:

  • Caminho para o arquivo de configuração, como <your-home-directory>/.oci/config
  • Nome do perfil de autenticação a ser usado no arquivo de configuração. Por exemplo, Padrão.

3.4 Obter Ponto Final da API de Inferência

  1. Vá para API de Inferência de IA Generativa.
  2. Nos pontos finais de API listados, copie o ponto final da região Chicago:
    https://inference.generativeai.us-chicago-1.oci.oraclecloud.com

3.5 Informações Coletadas

Verifique se você tem as seguintes informações anotadas para o tutorial.

  • ID do Compartimento: <sandbox-compartment>

    Exemplo: ocid1.compartment.oc1.aaaaaaa...

  • ID do Modelo: meta.llama-4-scout-17b-16e-instruct
  • Ponto Final da API: https://inference.generativeai.us-chicago-1.oci.oraclecloud.com
  • Caminho do Arquivo de Configuração: <path-to-config-file

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

  • Nome do Perfil de Autenticação no Arquivo de configuração: <auth-profile-name-in-config-file>

    Exemplo: Default

4. Chat

Converse usando um modelo hospedado na OCI Generative AI. Alcance esse modelo com o pacote langchain-oci.

Importante

Certifique-se de executar as etapas no <sandbox-compartment>. Talvez você não tenha permissão para exibir ou criar recursos na tenancy ou em outros compartimentos.
  1. Crie um arquivo chamado langchain-1-translate.py.
  2. Adicione o seguinte 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. Execute o arquivo Python langchain-1-translate.py com o comando a seguir.
    python3 langchain-1-translate.py

    Exemplo de resposta:

    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.