Co to jest LLM?
Large Language Model (LLM) to model uczenia maszynowego trenowany na ogromnych zbiorach tekstu. Potrafi:
- generować tekst, kod, tłumaczenia
- odpowiadać na pytania w języku naturalnym
- analizować, podsumowywać i klasyfikować dokumenty
- pisać i debugować kod
Najpopularniejsze modele
| Model | Producent | Kontekst | Mocne strony |
|---|---|---|---|
| Claude Opus 4 | Anthropic | 200k tokenów | Rozumowanie, kod, bezpieczeństwo |
| Claude Sonnet 4 | Anthropic | 200k tokenów | Balans cena/jakość |
| GPT-4o | OpenAI | 128k tokenów | Multimodalność |
| Gemini 1.5 Pro | 1M tokenów | Długi kontekst | |
| Llama 3.1 | Meta | 128k tokenów | Open-source |
Wywołanie Claude przez API
Python
import anthropic
client = anthropic.Anthropic(api_key="sk-ant-...")
message = client.messages.create(
model="claude-opus-4-5",
max_tokens=1024,
system="Jesteś ekspertem PHP i Symfony.",
messages=[
{"role": "user", "content": "Wyjaśnij w 3 punktach czym jest Dependency Injection"}
]
)
print(message.content[0].text)
PHP (Guzzle)
use GuzzleHttp\Client;
$client = new Client(['base_uri' => 'https://api.anthropic.com']);
$response = $client->post('/v1/messages', [
'headers' => [
'x-api-key' => $_ENV['ANTHROPIC_API_KEY'],
'anthropic-version' => '2023-06-01',
'content-type' => 'application/json',
],
'json' => [
'model' => 'claude-opus-4-5',
'max_tokens' => 1024,
'messages' => [
['role' => 'user', 'content' => 'Napisz funkcję PHP do walidacji NIP']
],
],
]);
$data = json_decode($response->getBody(), true);
echo $data['content'][0]['text'];
Streaming odpowiedzi
Zamiast czekać na całą odpowiedź, możesz strumieniować token po tokenie:
with client.messages.stream(
model="claude-opus-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Napisz esej o PHP"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
Typowe zastosowania w projektach webowych
- Generowanie opisów SEO — wklejasz tytuł i treść, dostajesz meta description
- Asystent kodu — code review, wyjaśnianie błędów
- Chatbot wsparcia — odpowiada na pytania na podstawie FAQ
- Analiza sentymentu — klasyfikacja komentarzy
- Tłumaczenia — lepsze niż Google Translate dla tekstów technicznych
Koszty: Claude Sonnet to ~$3/1M tokenów wejściowych. Typowy artykuł blogowy to ok. 1500 tokenów. Rozsądne dla asystentów, drogie przy przetwarzaniu milionów dokumentów.
Dobre praktyki
- zawsze waliduj i sanitizuj dane wejściowe od użytkownika
- nigdy nie wklejaj wrażliwych danych (hasła, klucze API) do promptu
- ustal
max_tokens— bez limitu model może generować bardzo długie odpowiedzi - używaj
systempromptu do nadania roli i ograniczeń modelowi