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 theMessage
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.)