FAQ¶
General¶
What is ABI-Core? A Python framework for building AI agents that run as Docker containers, discover each other semantically, communicate via A2A protocol, and operate under policy-driven security.
Is it production-ready? The pipeline works end-to-end. APIs may change between minor versions. Use it, but pin your version.
What license? Apache 2.0.
Setup¶
Do I need a GPU? No. Works on CPU. GPU makes inference faster but isn’t required.
How much RAM?
4 GB minimum for qwen2.5:3b. 8 GB recommended if running multiple agents + Weaviate.
Can I use cloud LLMs instead of Ollama?
Yes. Set LLM_CONFIG to {"provider": "openai", "model": "gpt-4o", "api_key": "..."}. Supports OpenAI, Gemini, Grok, Anthropic, Bedrock, Azure, Vertex.
Models¶
Why qwen2.5:3b as default? Good tool-calling support, small size (~2 GB), fast inference. Best balance for agent workloads.
Can different agents use different models?
Yes. Each agent has its own LLM_CONFIG in config/config.py. One can use Ollama, another OpenAI.
Which models support tool calling?
qwen2.5:3b ✅ (excellent)
mistral:7b ✅
llama3.1:8b ✅
qwen3:8b ✅
Architecture¶
How do agents find each other? Via the Semantic Layer. Agent cards are stored as embeddings in Weaviate. Agents search by describing what they need.
How do agents talk to each other?
A2A protocol — JSON-RPC over HTTP with streaming. Use agent_connection() from abi_core.common.abi_a2a.
What’s the difference between step, task, and tool?
@agent.step— deterministic DAG node, runs in fixed order@agent.task— orchestrates steps programmatically, supports streaming@agent.tool— like a step, but the LLM can also invoke it
Troubleshooting¶
“Model not found”
docker exec <ollama-container> ollama pull qwen2.5:3b
“Port already in use”
Change the port in compose.yaml or stop the conflicting process.
Agent not responding
docker compose logs <agent-name>
Check if Ollama is running and the model is pulled.
Semantic Layer not finding agents
Verify agent card JSON files exist in services/semantic_layer/agent_cards/ and restart the semantic layer.
Community¶
Bugs: GitHub Issues
Questions: GitHub Discussions
Examples: abi-core-examples