Features

Features

The following are the target features for this package:

  • Multi-Model Support
  • Create agents from model strings (e.g. openai:gpt-4o) or typed providers (e.g. GeminiProvider())
  • Automatically check environment for API key if none is provided (not web compatible)
  • Streaming string output via Agent.runStream
  • Multi-turn chat/message history support via the messages parameter and the Message class (with roles and content types)
  • Typed output via Agent.runFor
  • Define tools and their inputs/outputs
  • Automatically generate LLM-specific tool/output schemas
  • Bring your own provider
  • Execute tools with validated inputs
  • Multi-media input support via the attachments parameter for files, images, and web content
  • Embedding generation with Agent.createEmbedding and cosine similarity utilities
  • MCP (Model Context Protocol) server support for integrating external tools from local and remote servers
  • Logging support using the standard Dart logging package
  • Capabilities capture and reporting
  • Model discovery via Provider.listModels() to enumerate available models and their capabilities
  • Agentic workflows including multi-step and single-step tool calling
  • Firebase AI provider (no API keys!)
  • Multimedia output
  • Audio transcription
  • Tools + Typed Output (that's a little sticky right now)
  • More OpenAI-compat providers (local and remote, e.g. Ollama, Gemma, xAI, Groq, etc.)