General Concepts
What is Bindu?
What is Bindu?
What is the A2A Protocol and why does Bindu use it?
What is the A2A Protocol and why does Bindu use it?
When should I use a Workflow vs. a Team (multi-agent team)?
When should I use a Workflow vs. a Team (multi-agent team)?
Installation & Setup
What Python version does Bindu require?
What Python version does Bindu require?
How do I install Bindu and its dependencies?
How do I install Bindu and its dependencies?
uv package manager. You can install the core framework by running uv add bindu.How do I set up Bindu inside a virtual environment?
How do I set up Bindu inside a virtual environment?
uv venv --python 3.12.9. Then activate it using source .venv/bin/activate (macOS/Linux) or .venv\Scripts\activate (Windows) before installing dependencies.Does Bindu work with Conda environments?
Does Bindu work with Conda environments?
conda create -n bindu-env python=3.12), activate it, and then run pip install uv to manage your Bindu dependencies.How do I upgrade Bindu without breaking existing agents?
How do I upgrade Bindu without breaking existing agents?
uv add bindu --upgrade. Bindu follows semantic versioning, meaning minor and patch updates are backward-compatible.Can I use Bindu without an internet connection (air-gapped)?
Can I use Bindu without an internet connection (air-gapped)?
InMemoryStorage and local LLMs (like Ollama). However, initial setup (downloading the LLM weights and installing Python packages) requires an internet connection.Environment Variables
Can I use a .env file instead of shell variables?
Can I use a .env file instead of shell variables?
.env file in your project root.Which environment variables does Bindu require?
Which environment variables does Bindu require?
OPENROUTER_API_KEY, OPENAI_API_KEY, or MINIMAX_API_KEY).How do I set environment variables on macOS / Linux?
How do I set environment variables on macOS / Linux?
export command in your terminal (e.g., export BINDU_PORT=4000), or add them to your ~/.bashrc or ~/.zshrc file.How do I set environment variables on Windows?
How do I set environment variables on Windows?
$env: prefix (e.g., $env:BINDU_PORT="4000").How do I manage variables across staging and production?
How do I manage variables across staging and production?
.env.staging and .env.production) and load the specific file in your deployment environment, or inject the variables directly via your CI/CD pipeline.Can I inject environment variables inside a Docker container?
Can I inject environment variables inside a Docker container?
ENV instruction in your Dockerfile, pass them via docker run -e, or use the environment mapping in a docker-compose.yml file.How do I rotate API keys without restarting my agent?
How do I rotate API keys without restarting my agent?
Switching Models
How do I switch between different LLM providers?
How do I switch between different LLM providers?
OpenAIChat for Anthropic in Agno) and updating your .env API keys. Bindu’s A2A wrapper does not need to change.How do I use a local model like Ollama or LM Studio with Bindu?
How do I use a local model like Ollama or LM Studio with Bindu?
http://localhost:11434 for Ollama) and pass that agent to Bindu’s bindufy() function.Can I use different models for different agents inside the same workflow?
Can I use different models for different agents inside the same workflow?
How do I fall back to a cheaper model when my primary model fails?
How do I fall back to a cheaper model when my primary model fails?
try/except fallback loop or use a framework like Tenacity inside your handler function to catch API errors and retry the prompt with a secondary model instance.Agent Communication
How do I connect a Bindu agent to an external A2A-compatible agent?
How do I connect a Bindu agent to an external A2A-compatible agent?
httpx or requests) to send a formatted POST request to the external agent’s URL from inside your handler.How does Bindu handle agent discovery across a distributed system?
How does Bindu handle agent discovery across a distributed system?
.well-known/agent.json endpoint, allowing for cryptographically verifiable discovery.Can Bindu agents communicate with LangChain or LangGraph agents?
Can Bindu agents communicate with LangChain or LangGraph agents?
handler function that you pass to bindufy().How do I pass context and memory between agents in a workflow?
How do I pass context and memory between agents in a workflow?
context_id provided in the incoming A2A message payload. Passing this ID to subsequent agents ensures they all read and write to the same conversational memory thread.What happens if an agent in the workflow fails mid-task?
What happens if an agent in the workflow fails mid-task?
failed. If you are using Bindu’s built-in retry decorators, the framework will automatically attempt to recover using exponential backoff before permanently failing.Memory & State
What types of memory does Bindu support?
What types of memory does Bindu support?
InMemoryStorage for testing and PostgresStorage for production.How do I persist agent memory across sessions?
How do I persist agent memory across sessions?
STORAGE_TYPE=postgres and provide a DATABASE_URL in your environment variables. Bindu will automatically persist task histories and contexts.How do I give an agent access to a knowledge base or implement RAG?
How do I give an agent access to a knowledge base or implement RAG?
PDFKnowledgeBase or LangChain’s vector store retrievers inside your handler logic.How do I prevent the context window from overflowing on long tasks?
How do I prevent the context window from overflowing on long tasks?
Tools & Integrations
How do I give an agent access to custom tools or APIs?
How do I give an agent access to custom tools or APIs?
Can Bindu agents use skills and toolkits directly?
Can Bindu agents use skills and toolkits directly?
skills/ directory (using YAML or Markdown), which Bindu will advertise publicly. You then implement the actual tools in your handler.How do I connect a Bindu agent to a SQL or vector database?
How do I connect a Bindu agent to a SQL or vector database?
SQLDatabaseToolkit or Agno’s PgVector).How do I build a human-in-the-loop step inside a workflow?
How do I build a human-in-the-loop step inside a workflow?
"state": "input-required" and a "prompt" asking for clarification. Bindu will pause the task until the user responds.Does Bindu support web browsing or web scraping?
Does Bindu support web browsing or web scraping?
DuckDuckGoTools or ScrapeGraph to your agent logic.Structured Outputs
How do I get my agent to return structured JSON instead of plain text?
How do I get my agent to return structured JSON instead of plain text?
response_model passing) and ensure your client sends acceptedOutputModes: ["application/json"] in the A2A request configuration.Not all models support native structured outputs. What happens then?
Not all models support native structured outputs. What happens then?
How do I validate and retry if the agent returns an invalid schema?
How do I validate and retry if the agent returns an invalid schema?
Tenacity inside your handler to catch JSON parsing errors or Pydantic ValidationErrors, and feed the error back to the LLM as a retry prompt.Rate Limiting & Cost Management
I'm hitting token-per-minute (TPM) limits. How do I fix this?
I'm hitting token-per-minute (TPM) limits. How do I fix this?
How do I run multiple agents in parallel without hitting limits?
How do I run multiple agents in parallel without hitting limits?
SCHEDULER_TYPE=redis. This allows you to queue tasks and control worker concurrency across distributed instances.How do I implement request caching or token budgeting?
How do I implement request caching or token budgeting?
Debugging & Common Errors
How do I enable debug logging to trace what my agents are doing?
How do I enable debug logging to trace what my agents are doing?
LOGGING__DEFAULT_LEVEL=DEBUG before starting your agent.I'm getting 'AuthorizationError: JWT verification failed.' What does this mean?
I'm getting 'AuthorizationError: JWT verification failed.' What does this mean?
My agent gets stuck in a tool-calling loop. How do I prevent this?
My agent gets stuck in a tool-calling loop. How do I prevent this?
max_tool_iterations=5).Why is my agent hallucinating tool names that don't exist?
Why is my agent hallucinating tool names that don't exist?
How do I test my agents without making real LLM API calls?
How do I test my agents without making real LLM API calls?
unittest.mock.patch to mock the LLM provider’s response, or build a simple mock handler that returns hardcoded text if a TEST_MODE environment variable is true.How do I trace agent runs with OpenTelemetry?
How do I trace agent runs with OpenTelemetry?
TELEMETRY_ENABLED=true and configure the OLTP_ENDPOINT and OLTP_HEADERS in your environment. Bindu will automatically export traces to platforms like Langfuse or Arize.Deployment
What's the recommended way to deploy a Bindu agent to production?
What's the recommended way to deploy a Bindu agent to production?
launch=True (Tunneling) is disabled.How do I scale a multi-agent crew horizontally?
How do I scale a multi-agent crew horizontally?
REDIS_URL) and PostgreSQL database (DATABASE_URL) so they can share the task queue and memory state.