Skip to content

v1.10.0 — Groq built-in tools

Choose a tag to compare

@stackbilt-admin stackbilt-admin released this 29 May 09:15
· 40 commits to main since this release
96e96aa

Groq server-side built-in tools (issue #69). Additive only — no breaking changes.

Added

  • LLMRequest.builtInTools — request server-side tools (web_search, visit_website, browser_automation, code_interpreter, wolfram_alpha). Ignored by models that don't advertise support.
  • BuiltInTool / BuiltInToolType / BuiltInToolResult types; ModelCapabilities.supportsBuiltInTools; modelSupportsBuiltInTools(model, provider, tool?) accessor.
  • groq/compound + groq/compound-mini catalog entries (all five built-in tools), RESEARCH-only tagged; MODELS.GROQ_COMPOUND / MODELS.GROQ_COMPOUND_MINI.
  • RESEARCH ModelRecommendationUseCase (weights + recommendation list + metadata.useCase passthrough; not inferred from request shape).
  • Capability-aware routingopenai/gpt-oss-120b builtInTools requests steer to Groq (the capable host of the Cerebras/Groq collision); plain requests keep prior defaults.
  • Request fork + gating — compound uses compound_custom.tools.enabled_tools; gpt-oss uses tools:[{type}] with web_searchbrowser_search. Unsupported (model, tool) pairs throw ConfigurationError.
  • Result parsingmessage.executed_tools[]metadata.builtInToolResults (Array<{ type, name?, arguments?, results: [{ title, url, content, score }] }>); metadata.reasoning when present. Iterate all executions (the model may run several searches per call).

Notes

  • Built-in tool surcharges are billed by the provider and are not token-tracked in TokenUsage.
  • Streaming sends builtInTools but emits content only — structured results require non-streaming generateResponse.

Verified end-to-end against live Groq via LLMProviders.fromEnvgenerateResponse.