> ## Documentation Index
> Fetch the complete documentation index at: https://docs.redpill.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Frameworks

> Choose a Python agent framework and connect it to RedPill

These frameworks can use RedPill through the OpenAI-compatible Chat Completions API. Choose based
on the execution model and type system your application needs.

| Framework                                                              | Best fit                                            | RedPill adapter                   |
| ---------------------------------------------------------------------- | --------------------------------------------------- | --------------------------------- |
| [CrewAI](/guides/integrations/frameworks/crewai)                       | Role-based teams and sequential tasks               | LiteLLM OpenAI-compatible adapter |
| [PydanticAI](/guides/integrations/frameworks/pydanticai)               | Typed Python agents and structured application code | `OpenAIProvider`                  |
| [OpenAI Agents SDK](/guides/integrations/frameworks/openai-agents-sdk) | Tool loops built on OpenAI agent primitives         | `OpenAIChatCompletionsModel`      |

<CardGroup cols={3}>
  <Card title="CrewAI" icon="users" href="/guides/integrations/frameworks/crewai">
    Configure a RedPill-backed crew and bounded task.
  </Card>

  <Card title="PydanticAI" icon="code" href="/guides/integrations/frameworks/pydanticai">
    Build a typed agent with explicit usage limits.
  </Card>

  <Card title="OpenAI Agents SDK" icon="diagram-project" href="/guides/integrations/frameworks/openai-agents-sdk">
    Use a custom OpenAI client and Chat Completions model.
  </Card>
</CardGroup>

## Shared production checks

Before deploying any agent:

1. Confirm the selected model declares `tools` in [`GET /v1/models`](/api-reference/models).
2. Add timeouts, bounded retries, request limits, and tool-call limits.
3. Treat model output and tool arguments as untrusted input.
4. Use `tee.redpill.ai` with an `is_tee: true` model when calls must reject standard upstreams.

For a general-purpose stack that also covers streaming and retrieval, see
[LangChain](/guides/integrations/langchain).
