ChatModels: ChatOpenAI & ChatAnthropic (.invoke & .stream) în LangChain & LangGraph

Fundamente & Limbajul LCEL Nivel: începător

Interfața standardizată LangChain pentru comunicarea cu orice model de chat: permite schimbarea furnizorului (OpenAI, Claude, Ollama) fără a rescrie logica aplicației.

Sintaxă & invocare Python
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model='gpt-4o', temperature=0)
raspuns = llm.invoke('Explică pe scurt ce este un API')

Descriere & Utilizare

În LangChain, toate modelele de limbaj moderne sunt încapsulate în clase de tip ChatModel (cum ar fi ChatOpenAI, ChatAnthropic, ChatGoogleGenerativeAI sau ChatOllama). Toate implementează protocolul standard Runnable.

Această standardizare oferă un avantaj major de arhitectură: poți dezvolta aplicația folosind gpt-4o și poți comuta în câteva secunde pe claude-3-5-sonnet sau pe un model local llama3 schimbând o singură linie de inițializare.

Fiecare model expune metodele fundamentale: .invoke() (pentru un răspuns complet sincron), .stream() (pentru afișarea răspunsului token cu token în timp real), .batch() (pentru procesarea mai multor cereri în paralel) și variantele lor asincrone (.ainvoke(), .astream()).

Cum să o reții ușor

💡 Ca o priză electrică universală: indiferent dacă curentul vine de la panouri solare, hidrocentrală sau un generator local, ștecherul aparatului tău se conectează identic.

Opțiuni și parametri tehnici

  • Primește la intrare un șir de caractere (string) sau o listă de obiecte de tip mesaj (SystemMessage, HumanMessage, AIMessage).
  • Formatează cererea HTTP conform specificațiilor API ale furnizorului ales.
  • Returnează un obiect standardizat AIMessage care conține textul în atributul .content și statisticile de consum de tokeni în .usage_metadata.

Exemple practice și cazuri de utilizare

  • Apel simplu: msg = llm.invoke('Care este capitala României?'); print(msg.content)
  • Streaming în consolă: for chunk in llm.stream('Scrie un poem scurt'): print(chunk.content, end='', flush=True)
  • Procesare în lot (Batch): raspunsuri = llm.batch(['Salut', 'Cât face 2+2?', 'Ce este Python?'])

Sfaturi de configurare & capcane

Instalează întotdeauna pachetul dedicat furnizorului (ex: pip install langchain-openai sau pip install langchain-anthropic) în locul importurilor vechi din langchain_community.

Comenzi și ghiduri înrudite