LangChain — framework do budowy aplikacji AI w Pythonie

Chcesz budować własne aplikacje AI, które naprawdę robią robotę? Poznaj LangChain — framework, który pozwoli ci zautomatyzować nawet najbardziej zaawansowane zadania z użyciem modeli językowych.

Czym jest LangChain?

LangChain to framework open-source do budowy aplikacji AI, które korzystają z dużych modeli językowych (LLM) — takich jak GPT-4. Jego główną siłą jest łączenie LLM z różnymi źródłami danych, narzędziami oraz automatyzacja wieloetapowych workflow. Jeśli chcesz pójść o krok dalej niż chat z AI i tworzyć własne narzędzia, asystentów, bota do obsługi dokumentów czy automatyczne workflow — LangChain jest dla ciebie.

Po co ci LangChain?

  • Łatwe łączenie LLM z bazami danych, wyszukiwarkami, plikami czy API
  • Automatyzacja złożonych zadań przez tworzenie tzw. „chainów” — sekwencji kroków, które wykonuje AI
  • Szybkie prototypowanie własnych aplikacji AI w Pythonie
  • Obsługa wielu providerów LLM: OpenAI, Google, lokalne modele

Instalacja LangChain — szybki start

Zacznij od zainstalowania LangChain i wybranego API do LLM (np. OpenAI):

pip install langchain openai

Ustaw klucz API do OpenAI (przykład dla systemu Linux/Mac):

export OPENAI_API_KEY="TWÓJ_KLUCZ_API"

Podstawy: twój pierwszy prompt z LangChain

Prosty chain z LLM

Korzystanie z LLM przez LangChain jest proste. Przykład: generowanie podsumowania tekstu.

from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

llm = OpenAI(temperature=0)
prompt = PromptTemplate(
    input_variables=["tekst"],
    template="Streszcz poniższy tekst w 3 zdaniach:\n{tekst}"
)
chain = LLMChain(llm=llm, prompt=prompt)

txt = "LangChain to framework do budowy aplikacji AI..."
wynik = chain.run(tekst=txt)
print(wynik)

Kiedy użyć? Gdy chcesz zautomatyzować powtarzalne zadania z AI, np. podsumowania, tłumaczenia, ekstrakcja informacji.

TIP: PromptTemplate pozwala dynamicznie podstawiać dane do prompta. Świetne do generowania dużej liczby podobnych zapytań!

Prompt z parametrami — gotowiec

Chcesz używać promptów z parametrami? Skorzystaj z PromptTemplate:

prompt = PromptTemplate(
    input_variables=["temat", "długość"],
    template="Napisz artykuł o {temat} o długości {długość} słów."
)
print(prompt.format(temat="LangChain", długość=300))

Kiedy użyć? Gdy masz wiele podobnych zadań i chcesz dynamicznie zmieniać parametry w promptach.

Łączenie wielu kroków — chain of thought (łańcuch rozumowania)

LangChain pozwala budować wieloetapowe chainy. Przykład: najpierw generujesz pytania do tekstu, potem na nie odpowiadasz.

from langchain.prompts import PromptTemplate
from langchain.chains import SequentialChain

prompt1 = PromptTemplate(
    input_variables=["tekst"],
    template="Podaj 3 pytania do tekstu:\n{tekst}"
)
prompt2 = PromptTemplate(
    input_variables=["pytania", "tekst"],
    template="Odpowiedz na każde pytanie na podstawie tekstu:\nPytania: {pytania}\nTekst: {tekst}"
)

chain1 = LLMChain(llm=llm, prompt=prompt1, output_key="pytania")
chain2 = LLMChain(llm=llm, prompt=prompt2, output_key="odpowiedzi")

chain = SequentialChain(
    chains=[chain1, chain2],
    input_variables=["tekst"],
    output_variables=["odpowiedzi"]
)

wynik = chain({"tekst": txt})
print(wynik["odpowiedzi"])

Kiedy użyć? Gdy zadanie wymaga kilku kroków i chcesz, by AI „myślała” etapami (chain of thought).

TIP: SequentialChain pozwala przekazywać wyniki między krokami. To podstawa zaawansowanych automatyzacji!

Integracje — co jeszcze może LangChain?

  • Przeszukiwanie własnych dokumentów (np. PDF, Word) i odpowiadanie na pytania
  • Łączenie z bazami danych (SQL, NoSQL)
  • Tworzenie własnych agentów AI, którzy korzystają z narzędzi (np. kalkulator, wyszukiwarka)
  • Automatyzacja interakcji z API i usługami zewnętrznymi

LangChain + twoje dokumenty (tzw. RAG — Retrieval Augmented Generation)

Chcesz, by AI odpowiadała na pytania na podstawie własnych plików? To tzw. RAG. Szybki przykład:

from langchain.document_loaders import TextLoader
from langchain.vectorstores import FAISS
from langchain.embeddings import OpenAIEmbeddings
from langchain.chains import RetrievalQA

# Wczytaj dokument
loader = TextLoader("twoj_plik.txt")
documents = loader.load()

# Stwórz wektorową bazę
embeddings = OpenAIEmbeddings()
db = FAISS.from_documents(documents, embeddings)

# Zbuduj chain do QA
qa_chain = RetrievalQA.from_chain_type(
    llm=llm,
    chain_type="stuff",
    retriever=db.as_retriever()
)

odp = qa_chain.run("O co pytasz?")
print(odp)

Kiedy użyć? Gdy twoja AI musi znać kontekst z własnych plików, np. regulaminy, instrukcje, dokumenty firmowe.

TIP: To świetna baza do budowy własnego „ChatGPT na twoje dane”!

LangChain tutorial — praktyczne wskazówki

  • Testuj prompty najpierw „na sucho” w chatcie, potem przenoś je do PromptTemplate
  • Stosuj chain of thought do zadań wymagających rozumowania — rozbij problem na etapy
  • Loguj wyniki każdego kroku chaina — łatwiej debugować
  • Nie musisz pisać wszystkiego od zera — korzystaj z gotowych chainów i integracji z repo LangChain

Podsumowanie

LangChain to potężne narzędzie dla każdego, kto chce pójść dalej niż chat z AI. Dzięki niemu zbudujesz własne automatyzacje, asystentów i workflow AI w Pythonie. Zacznij od prostych chainów, eksperymentuj z promptami i krok po kroku buduj własne AI, które naprawdę robi robotę!