Frequently Asked Questions
How many LLM providers does Buddy AI support?
30+ providers ship under buddy.models.*, including OpenAI, Anthropic, Google
Gemini, AWS Bedrock, Azure OpenAI, Cohere, Ollama, Groq, Mistral, HuggingFace,
DeepSeek, xAI, Perplexity, Together AI, and many more. See
Model Providers.
Do I need API keys?
For hosted providers, yes — each reads its key from an environment variable
(e.g. OPENAI_API_KEY). For local inference with Ollama or a self-hosted vLLM
server, no key is required.
Can I run models locally / offline?
Yes. Use Ollama (from buddy.models.ollama import Ollama) or another local
provider. No internet connection or API key is needed once the model is pulled.
Buddy also includes optional training extras (pip install "buddy-ai[training]")
for fine-tuning workflows.
Can I use multiple providers in one application?
Yes. Each Agent has its own model, so you can mix providers freely — for
example within a Team:
from buddy import Agent, Team
from buddy.models.openai import OpenAIChat
from buddy.models.anthropic import Claude
team = Team(
members=[
Agent(model=OpenAIChat(id="gpt-4o")),
Agent(model=Claude(id="claude-3-5-sonnet-20241022")),
],
)
Team uses members=
The team's participants are passed via the required members parameter.
What is iRAG?
iRAG (buddy.knowledge.irag) is Buddy's built-in retrieval engine that combines
spaCy NLP, TF-IDF, and cosine similarity. It needs no external vector database.
If you prefer a vector store, use a knowledge base with a vector_db such as
ChromaDb — see the Knowledge API.
Does memory persist between runs?
In-process memory persists for the life of the agent object. For durability
across restarts, attach storage: storage=SqliteStorage(...) persists sessions,
and memory=Memory(db=SqliteMemoryDb(...)) with enable_user_memories=True
persists user memories. Pass a stable session_id/user_id to resume. See the
memory example.
How is Buddy AI different from using a provider SDK directly?
A raw SDK (e.g. the openai package) gives you one model call. Buddy adds the
agent layer on top: tool calling, memory and sessions, knowledge/RAG, multi-agent
teams, workflows, structured (Pydantic) outputs, streaming, and deployment via
FastAPIApp — all behind a consistent API that works across 30+ providers.
Can I define my own tools?
Yes — any Python function with type hints and a docstring can be passed in
tools=[...], or you can use the @tool decorator / build a Toolkit. See
Custom Tools.
What license is Buddy AI under?
MIT.
How do I report a bug or get help?
Open a GitHub Issue with a
minimal reproducible example (include get_version_info() output), or ask in
GitHub Discussions.