The Agent component is a core building block for building AI agents. It manages
threads and messages, around which you Agents can cooperate in static or dynamic
workflows.
Agents provide an abstraction for using LLMs to
represent units of use-case-specific prompting with associated models,
prompts, Tool Calls, and behavior in relation to other
Agents, functions, APIs, and more.
Streaming text and objects using deltas over websockets so all clients stay in
sync efficiently, without http streaming. Enables streaming from async
functions.
Conversation context is automatically included in each
LLM call, including built-in hybrid vector/text search for messages in the
thread and opt-in search for messages from other threads (for the same
specified user).
RAG techniques are supported for prompt augmentation from
other sources, either up front in the prompt or as tool calls. Integrates with
the RAG Component, or DIY.
Workflows allow building multi-step operations that
can span agents, users, durably and reliably.
Files are supported in thread history with automatic
saving to file storage and
ref-counting.
Debugging is enabled by callbacks, the
agent playground where you can inspect all metadata
and iterate on prompts and context settings, and inspection in the dashboard.
Usage tracking is easy to set up, enabling usage
attribution per-provider, per-model, per-user, per-agent, for billing & more.
Rate limiting, powered by the
Rate Limiter Component,
helps control the rate at which users can interact with agents and keep you
from exceeding your LLM provider's limits.