Skip to content

Cum să folosești un LLM (ChatGPT, Claude) în aplicații

DodaTech Updated 2025-01-15 2 min read

In this tutorial, you'll learn how to integrate LLMs like ChatGPT and Claude into your applications using API calls and prompt engineering techniques for reliable, production-ready results.

Problema

Vrei să adaugi puterea unui LLM (Large Language Model) în aplicația ta, dar apelurile API simple dau răspunsuri imprevizibile, greu de controlat și costisitoare. Fără un prompt bine structurat și tratarea corectă a erorilor, integrarea eun instrument inutil.

Soluția Greșită

import openai

openai.api_key = "sk-..."

# Prompt vag, fara instructiuni clare
raspuns = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Analizeaza acest text"}]
)
print(raspuns["choices"][0]["message"]["content"])

Problema: Prompt-ul e prea vag. LLM-ul nu știe ce format să folosească, ce să analizeze, sau cum să structureze răspunsul. Fiecare apel poate da un rezultat diferit.

Soluția Corectă

import openai
import json

openai.api_key = "sk-..."

def analizeaza_sentiment(text):
    prompt = f"""Analizeaza sentimentul textului de mai jos.
Raspunde DOAR cu un JSON cu urmatoarele campuri:
- "sentiment": "pozitiv", "negativ" sau "neutru"
- "scor": un numar intre -1 (foarte negativ) si 1 (foarte pozitiv)
- "cuvinte_cheie": lista de cuvinte relevante

Text: "{text}"
"""
    raspuns = openai.ChatCompletion.create(
        model="gpt-4",
        messages=[{"role": "user", "content": prompt}],
        temperature=0.1
    )
    continut = raspuns["choices"][0]["message"]["content"]
    return json.loads(continut)

rezultat = analizeaza_sentiment("Produsul e excelent, dar livrarea a durat prea mult.")
print(rezultat)

Output:

{
  "sentiment": "neutru",
  "scor": 0.2,
  "cuvinte_cheie": ["excelent", "livrare", "prea mult"]
}

Implementare Pas cu Pas

1. System prompt — setează contextul

raspuns = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "Esti un asistent care raspunde DOAR pe baza documentelor furnizate. Daca nu gasesti raspunsul, spune 'Nu stiu'."},
        {"role": "user", "content": "Care este politica de retur?"}
    ]
)

2. Prompt engineering — tehnici de bază

# Few-shot prompting: ofera exemple
prompt = """Clasifica email-urile in "prioritar" sau "normal".

Exemple:
Email: "Factura pe luna aceasta" -> normal
Email: "Problema critica in productie" -> prioritar
Email: "Salut, cum merge proiectul?" -> normal

Email: "{email}" -> """

3. Tratează erorile și costurile

import time
import openai

def apel_llm(prompt, max_retry=3):
    for i in range(max_retry):
        try:
            return openai.ChatCompletion.create(
                model="gpt-4",
                messages=[{"role": "user", "content": prompt}],
                max_tokens=500,
                temperature=0
            )
        except openai.error.RateLimitError:
            time.sleep(2 ** i)
        except openai.error.APIError:
            time.sleep(5)

    raise Exception("LLM indisponibil dupa 3 incercari")

Sfaturi pentru Prevenire

  • Folosește temperature=0 pentru sarcini deterministe (clasificare, extragere)
  • Structurează output-ul ca JSON pentru a putea fi procesat programatic
  • Folosește system prompt pentru a stabili reguli clare
  • Implementează fallback pentru când API-ul e indisponibil
  • Monitorizează costurile — fiecare token contează

Greșeli Comune

  1. Prompt-uri vagi — LLM-ul produce răspunsuri imprevizibile
  2. Nu structurezi output-ul — parsarea răspunsului e fragilă
  3. Ignori Rate Limiting — API-ul blochează cererile dese
  4. Nu tratezi erorile — o eroare API oprește întreaga aplicație
  5. Folosești LLM-ul pentru sarcini simple — o regex poate fi mai ieftină și mai precisă

Întrebări Frecvente

### Ce este temperature în LLM-uri?

Temperature controlează aleatoritatea răspunsului. 0 = determinist (același răspuns pentru același prompt), 1 = creativ, variat.

Care e diferența dintre system și user prompt?

System prompt stabilește contextul și regulile generale. User prompt e întrebarea sau comanda specifică de la utilizator.

Cum reduc costurile cu LLM-urile?

Folosește modele mai mici (gpt-3.5-turbo în loc de gpt-4), setează max_tokens, implementează caching pentru întrebări similare.

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. DodaTech tools integrate seamlessly with AI APIs for enhanced productivity and security.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro