Impostare LangChain per l'intelligenza artificiale generativa

Impostare i package LangChain, inclusi i package per l'integrazione con OCI Generative AI. Quindi, prova l'installazione chattando con un modello ospitato sull'AI generativa OCI.

1. Installa LangChain

  1. Installare il pacchetto langchain utilizzando pip:
    pip install -U langchain

    Questo comando installa o aggiorna il pacchetto langchain all'ultima versione disponibile. Se è già installata una versione meno recente, pip sostituisce il pacchetto con quello più recente.

  2. Verificare che il pacchetto langchain sia installato. Immettere il seguente comando.
    pip show langchain

    Il comando visualizza informazioni dettagliate sul pacchetto langchain, inclusi i pacchetti richiesti per l'utilizzo del pacchetto. Ad esempio:

    Requires: langchain-core, langchain-text-splitters, 
    langsmith, pydantic, PyYAML, requests, SQLAlchemy
  3. Verificare che i pacchetti richiesti siano installati. Immettere il seguente comando:
    pip list

    Installare eventuali pacchetti mancanti.

  4. Verificare che l'installazione funzioni.
    python3 -c "import langchain; 
    print(langchain.__version__)"

    Questo comando stampa la versione del pacchetto langchain.

2. Installare il package OCI LangChain

  1. Installare il pacchetto langchain-oci utilizzando pip:
    pip install -U langchain-oci
    Importante

    Le funzioni di integrazione OCI disponibili nel pacchetto langchain-community sono ora obsolete. Verificare di aver installato il pacchetto langchain-oci usando il comando precedente.
  2. Verificare che il pacchetto langchain-oci sia installato. Immettere il seguente comando.
    pip show langchain-oci

    Trovare i pacchetti richiesti per lavorare con il pacchetto langchain-oci. Ad esempio:

    Requires: aiohttp, langchain, langchain-core, oci, pydantic
  3. Verificare che i pacchetti richiesti siano installati. Immettere il seguente comando:
    pip list

    Installare eventuali pacchetti mancanti.

3. Raccolta delle informazioni richieste

Raccogliere tutte le informazioni necessarie per completare questa esercitazione. Copiare le informazioni richieste in un file di testo sicuro.

Trova il costo per la chat (facoltativo)

Questa esercitazione invia un messaggio di chat al modello Meta Llama 4 Scout ospitato sull'AI generativa OCI e riceve una risposta. Il costo di un messaggio di chat su richiesta è vicino a zero dollari, ma non è gratuito. Con questa sezione, vogliamo che tu impari a calcolare i costi e a decidere quale modello utilizzare quando hai migliaia di transazioni.

  1. Andare alla pagina Determinazione prezzi e selezionare un modello in base al prezzo di 10.000 transazioni (10.000 caratteri). Invece di 10.000 transazioni, alcuni prezzi sono elencati per 1.000.000 di token. Stima da 3 a 4 caratteri per token.

    Questo tutorial utilizza circa 200 caratteri o 53 token per l'input e circa la stessa quantità per il suo output che aggiunge fino a circa 400 caratteri o 106 token, quindi arrotondiamo fino a circa 500 caratteri.

  2. Se la tua organizzazione approva il costo di Oracle Cloud Infrastructure Generative AI - Meta Llama 4 Scout per 500 caratteri, utilizza le informazioni fornite in questa esercitazione. In caso contrario, nei passaggi dell'esercitazione sostituire il modello Meta Llama 4 Scout con un modello approvato.
  3. Per transazioni più grandi, puoi anche andare allo strumento di stima dei costi selezionando la categoria AI e Machine Learning e caricando lo stimatore dei costi per OCI Generative AI. Di seguito sono riportati alcuni valori di esempio per questa esercitazione.
    • Metrica del servizio: on-demand
    • Provider di modelli: Meta
    • Modello: Llama 4 Scout
    • Numero previsto di richieste al mese: 5 (Supponiamo di eseguire il file Python 5 volte)
    • Lunghezza prompt (in caratteri): 200 (per questo tutorial)
    • Lunghezza risposta (in caratteri): 200 (per questo tutorial)

3.2 Ottieni informazioni compartimento

Per ottenere l'OCID compartimento di un compartimento:

  1. Aprire il menu di navigazione e selezionare Identità e sicurezza. In Identità, selezionare Compartimenti.
  2. Selezionare il compartimento creato per l'esercitazione Crea un utente sandbox per le esercitazioni.
  3. Selezionare il collegamento Copia per il campo OCID.

    Salvare l'OCID del compartimento.

    Esempio: ocid1.compartment.oc1..xxx

3.3 Recupera percorso al file di configurazione

Nell'esercitazione Imposta autenticazione API per OCI copiare le informazioni riportate di seguito.

  • Percorso del file di configurazione come <your-home-directory>/.oci/config
  • Nome del profilo di autenticazione da utilizzare nel file di configurazione. Ad esempio, Predefinito.

3.4 Ottieni endpoint API di inferenza

  1. Vai a API di inferenza AI generativa.
  2. Negli endpoint API elencati, copiare l'endpoint per l'area di Chicago:
    https://inference.generativeai.us-chicago-1.oci.oraclecloud.com

3.5 Informazioni raccolte

Assicurati di avere le seguenti informazioni scritte per l'esercitazione.

  • ID compartimento: <sandbox-compartment>

    Esempio: ocid1.compartment.oc1.aaaaaaa...

  • ID modello: meta.llama-4-scout-17b-16e-instruct
  • Endpoint API: https://inference.generativeai.us-chicago-1.oci.oraclecloud.com
  • Percorso file di configurazione: <path-to-config-file

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

  • Nome profilo di autenticazione nel file di configurazione: <auth-profile-name-in-config-file>

    Esempio: Default

4. Chat

Chatta utilizzando un modello ospitato in OCI Generative AI. Raggiungere questo modello con il pacchetto langchain-oci.

Importante

Assicurarsi di eseguire i passi all'interno di <sandbox-compartment>. È possibile che non si disponga dell'autorizzazione per visualizzare o creare risorse nella tenancy o in altri compartimenti.
  1. Creare un file denominato langchain-1-translate.py.
  2. Aggiungere il codice seguente 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. Eseguire il file Python langchain-1-translate.py con il comando seguente.
    python3 langchain-1-translate.py

    Risposta di esempio:

    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.