Sisteme compuse pe Groq: unelte server-side, Compound (retras) și speculative decoding în Groq: LPU și GroqCloud API

Arhitectură și Sisteme Compuse GroqCloud API (octombrie 2026)

Un sistem compus înlănțuie mai multe apeluri de model și unelte; pe Groq, uneltele built-in ale GPT-OSS rulează pe server, Compound a fost retras în septembrie 2026, iar modelele speculative decoding în aprilie 2025.

Sintaxă & invocare
tools=[{"type": "browser_search"}, {"type": "code_interpreter"}]   # openai/gpt-oss-20b, openai/gpt-oss-120b

Un sistem AI compus folosește mai multe apeluri de model și unelte pentru un singur răspuns: rescrierea întrebării, căutare, generare, verificare, sinteză. Latența totală este suma pașilor executați unul după altul, deci contează viteza fiecărui apel și paralelizarea pașilor independenți (de exemplu cu AsyncGroq și asyncio.gather). Un exemplu publicat este Mixture-of-Agents (Wang et al., 2024): mai multe modele răspund, iar un model agregator combină răspunsurile.

Pentru agenți fără orchestrare proprie, Groq oferă unelte built-in pe openai/gpt-oss-20b și openai/gpt-oss-120b: browser_search (căutare web prin Exa) și code_interpreter (doar Python, într-un sandbox E2B efemer, fără acces la rețea). Modelul le apelează pe serverele Groq, într-o singură cerere API, iar codul rulat apare în message.executed_tools. Documentația recomandă reasoning_effort="low" cu căutarea web, pentru a limita tokenii. Uneltele nu sunt acoperite de BAA-ul HIPAA și nu merg pe endpoint-urile regionale; browser_search nu se combină cu Structured Outputs. Unealta browser_automation a fost retrasă; pentru automatizare completă, Groq trimite la integrarea Anchor Browser.

Sistemele groq/compound și groq/compound-mini (disponibile general din 4 septembrie 2025, cu căutare web, execuție de cod, Wolfram Alpha și automatizare de browser într-un singur apel) au fost anunțate ca depreciate pe 24 august 2026 și retrase pe 21 septembrie 2026, fără înlocuitor; cererile către aceste ID-uri întorc erori.

Speculative decoding (Leviathan et al., 2022; Chen et al., 2023) folosește un model mic care propune mai mulți tokeni și modelul mare care îi verifică în paralel; algoritmul păstrează distribuția de ieșire a modelului mare, deci accelerează fără să schimbe calitatea. Groq a oferit modelele llama-3.1-70b-specdec, llama-3.3-70b-specdec și deepseek-r1-distill-llama-70b-specdec, toate retrase până pe 14 aprilie 2025. În octombrie 2026, API-ul nu are niciun parametru sau model separat pentru speculative decoding.

Concepte cheie și caracteristici

Concept / Parametru Descriere practică
{"type": "browser_search"} Căutare web server-side (Exa). GPT-OSS 20B / 120B și GPT-OSS-Safeguard 20B.
{"type": "code_interpreter"} Execuție de cod Python server-side (E2B). GPT-OSS 20B / 120B.
message.executed_tools Uneltele rulate de server, cu codul generat și rezultatul.
browser_automation Retrasă; folosește browser_search sau integrarea Anchor Browser.
groq/compound, groq/compound-mini Retrase pe 21 septembrie 2026, fără înlocuitor.
*-specdec Modele speculative decoding retrase până pe 14 aprilie 2025.
Mixture-of-Agents Mai multe modele propun, un agregator sintetizează (arXiv 2406.04692).
asyncio.gather Rulează în paralel pașii care nu depind unul de altul.

Exemple practice și scenarii reale

Exemplul 1: Căutare web și execuție de cod pe server, într-un singur apel

from groq import Groq

client = Groq()
r = client.chat.completions.create(
    model="openai/gpt-oss-120b",
    messages=[{"role": "user", "content": "Caută ultimele anunțuri despre NVIDIA Groq 3 LPX și rezumă-le."}],
    tools=[{"type": "browser_search"}, {"type": "code_interpreter"}],
    reasoning_effort="low",
)
print(r.choices[0].message.content)
for unealta in r.choices[0].message.executed_tools or []:
    print(unealta.name, unealta.arguments)

Exemplul 2: Flux compus: trei variante în paralel, apoi sinteză

Pașii independenți (variantele) rulează simultan; doar sinteza așteaptă după ei. Timpul se măsoară, nu se presupune.

import asyncio
import time
from groq import AsyncGroq

client = AsyncGroq()

async def intreaba(model, prompt):
    r = await client.chat.completions.create(model=model, messages=[{"role": "user", "content": prompt}])
    return r.choices[0].message.content

async def main():
    t0 = time.perf_counter()
    tema = "un slogan pentru o cafenea cu temă tech"
    variante = await asyncio.gather(*[
        intreaba("openai/gpt-oss-20b", f"Propune {tema}. Stil: {stil}.")
        for stil in ("amuzant", "minimalist", "nostalgic")
    ])
    final = await intreaba(
        "openai/gpt-oss-120b",
        "Alege cea mai bună variantă și îmbunătățește-o:\n" + "\n".join(variante),
    )
    print(final)
    print(f"{time.perf_counter() - t0:.2f} s în total")

asyncio.run(main())

Greșeli frecvente și capcane

  • Trimiți încă cereri către groq/compound sau groq/compound-mini. Au fost retrase pe 21 septembrie 2026; folosește uneltele built-in ale GPT-OSS sau Remote MCP.
  • Rulezi secvențial pași care nu depind unul de altul. Latența se adună; paralelizează-i.
  • Treci între pași contexte lungi, nemodificate. Plătești tokenii de fiecare dată; rezumă sau ține partea fixă la începutul promptului, pentru prompt caching.
  • Cauți un model -specdec pentru viteză. Aceste ID-uri au fost retrase în 2025.

Noțiuni și module înrudite