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/compoundsaugroq/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
-specdecpentru viteză. Aceste ID-uri au fost retrase în 2025.