Skip to main content

ABI API Integration

The Agentic Brain Infrastructure (ABI) API provides direct access to the AI operating system from the ABI repository.

Overview

ABI is an organizational multi-agent system that uses ontologies to unify data, AI models, and workflows. The API provides access to:

  • Multi-AI Agents: ChatGPT, Claude, Gemini, Grok, Llama, Mistral, DeepSeek agents
  • Ontology Management: SPARQL queries and semantic data operations
  • Workflows: Complex business process automation
  • Pipelines: Data processing and transformation

Setup & Authentication

Local Installation:

git clone https://github.com/jupyter-naas/abi.git
cd abi

# Setup environment variables
cp .env.example .env
# Add your API keys: OPENAI_API_KEY, ANTHROPIC_API_KEY, etc.

# Run API server
make api

Authentication:

# Set your ABI API key
export ABI_API_KEY="your_api_key"

# Test connection (default port 9879)
curl -H "Authorization: Bearer $ABI_API_KEY" \
http://localhost:9879/docs

Available Agents

ABI provides multiple AI agents, each specialized for different use cases:

Core Agents

  • ABI Agent: Smart routing across all AI models with ontology integration
  • ChatGPT Agent: GPT-4o powered agent with web search capabilities
  • Claude Agent: Claude 3.5 Sonnet for complex reasoning
  • Gemini Agent: Google's Gemini 2.0/2.5 Flash models
  • Grok Agent: X.AI's Grok-4 for real-time insights
  • Llama Agent: Meta's Llama 3.3 70B model
  • Mistral Agent: Mistral Large 2 for European compliance
  • DeepSeek Agent: DeepSeek R1 for reasoning tasks

Agent Execution

Chat with ABI Agent (smart routing):

curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Analyze customer data and recommend next actions"
}' \
http://localhost:9879/agents/abi/chat

Chat with Specific Agent:

# Claude for complex analysis
curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "Explain quantum computing concepts"
}' \
http://localhost:9879/agents/claude/chat

# ChatGPT with web search
curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "What are the latest developments in AI?"
}' \
http://localhost:9879/agents/chatgpt/chat

Workflows & Pipelines

ABI supports complex workflow automation and data pipelines:

Available Workflows

  • Agent Recommendation: Intelligently route requests to optimal AI models
  • Artificial Analysis: Multi-step analytical workflows
  • Image Generation & Storage: AI image creation with ontology storage
  • Pull Request Description: Automated code documentation

Workflow Execution

# Execute agent recommendation workflow
curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow": "agent_recommendation",
"input": {
"query": "I need to analyze financial data",
"context": "quarterly_reports"
}
}' \
http://localhost:9879/workflows/execute

# Image generation workflow
curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow": "image_generation_storage",
"input": {
"prompt": "Create a data visualization chart",
"style": "professional"
}
}' \
http://localhost:9879/workflows/execute

Available Pipelines

  • AI Agent Ontology Generation: Automatically create semantic models
  • Image URL to Asset: Process and store image resources
  • Ontology Entity Processing: Handle semantic data transformations

Pipeline Execution

# Execute ontology generation pipeline
curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pipeline": "ai_agent_ontology_generation",
"input": {
"domain": "sales_analytics",
"entities": ["Customer", "Product", "Transaction"]
}
}' \
http://localhost:9879/pipelines/execute

# Image processing pipeline
curl -X POST \
-H "Authorization: Bearer $ABI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pipeline": "image_url_to_asset",
"input": {
"image_url": "https://example.com/chart.png",
"metadata": {"type": "visualization", "category": "analytics"}
}
}' \
http://localhost:9879/pipelines/execute

Python Integration

Based on the actual ABI repository structure:

import requests
import json

class ABIClient:
def __init__(self, api_key, base_url="http://localhost:9879"):
self.api_key = api_key
self.base_url = base_url
self.headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}

def chat_with_agent(self, agent_name, message):
"""Chat with a specific ABI agent"""
response = requests.post(
f"{self.base_url}/agents/{agent_name}/chat",
headers=self.headers,
json={"message": message}
)
return response.json()

def execute_workflow(self, workflow_name, input_data):
"""Execute an ABI workflow"""
response = requests.post(
f"{self.base_url}/workflows/{workflow_name}/execute",
headers=self.headers,
json={"input": input_data}
)
return response.json()

def run_pipeline(self, pipeline_name, input_data):
"""Run an ABI pipeline"""
response = requests.post(
f"{self.base_url}/pipelines/{pipeline_name}/execute",
headers=self.headers,
json={"input": input_data}
)
return response.json()

# Usage examples
client = ABIClient("your_abi_api_key")

# Smart agent routing
abi_response = client.chat_with_agent("abi",
"Analyze this sales data and recommend actions")

# Specific AI model
claude_response = client.chat_with_agent("claude",
"Explain machine learning concepts for beginners")

# Complex workflow
workflow_result = client.execute_workflow("agent_recommendation", {
"query": "I need financial analysis",
"context": "quarterly_earnings"
})

# Data pipeline
pipeline_result = client.run_pipeline("ai_agent_ontology_generation", {
"domain": "customer_analytics",
"entities": ["Customer", "Purchase", "Product"]
})

JavaScript Integration

class ABIClient {
constructor(apiKey, baseURL = 'http://localhost:9879') {
this.apiKey = apiKey;
this.baseURL = baseURL;
}

async chatWithAgent(agentName, message) {
const response = await fetch(`${this.baseURL}/agents/${agentName}/chat`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ message })
});
return response.json();
}

async executeWorkflow(workflowName, inputData) {
const response = await fetch(`${this.baseURL}/workflows/${workflowName}/execute`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${this.apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ input: inputData })
});
return response.json();
}
}

// Usage
const client = new ABIClient('your_abi_api_key');

// Chat with different agents
const abiResult = await client.chatWithAgent('abi',
'What AI model should I use for financial analysis?');

const chatgptResult = await client.chatWithAgent('chatgpt',
'Research the latest trends in renewable energy');

// Execute workflows
const workflowResult = await client.executeWorkflow('image_generation_storage', {
prompt: 'Create a professional business chart',
style: 'corporate'
});

Local Development

Installation Requirements

  1. Clone Repository: git clone https://github.com/jupyter-naas/abi.git
  2. Python 3.11+: Required for ABI framework
  3. AI Model API Keys: Add to .env file
    • OPENAI_API_KEY: For ChatGPT agents
    • ANTHROPIC_API_KEY: For Claude agents
    • GOOGLE_API_KEY: For Gemini agents
    • XAI_API_KEY: For Grok agents
    • MISTRAL_API_KEY: For Mistral agents

Running Different Agents

# Smart routing agent (recommended)
make chat-abi-agent

# Specific AI models
make chat-chatgpt-agent # GPT-4o
make chat-claude-agent # Claude 3.5 Sonnet
make chat-gemini-agent # Gemini 2.0/2.5
make chat-grok-agent # Grok-4
make chat-llama-agent # Llama 3.3 70B
make chat-mistral-agent # Mistral Large 2

# Start API server
make api # Runs on port 9879

API Documentation

When running locally, access the interactive API documentation:

  • Swagger UI: http://localhost:9879/docs
  • ReDoc: http://localhost:9879/redoc
  • OpenAPI Schema: http://localhost:9879/openapi.json

Ontology Integration

ABI uses Basic Formal Ontology (BFO) standards for semantic data management:

  • Entity Management: Automatic ontology generation for business entities
  • SPARQL Queries: Semantic data retrieval and analysis
  • Relationship Mapping: Connect data across different domains
  • Standards Compliance: ISO/IEC 21838-2:2021 (BFO) and ISO/IEC 42001:2023 (AI Management)

Repository & Development

Core Repository: jupyter-naas/abi

  • License: MIT
  • Version: ABI-OS1 Beta
  • Status: 62⭐ on GitHub
  • Language: Python 96.7%

Research Collaboration:

  • University at Buffalo
  • National Center for Ontological Research (NCOR)
  • Forvis Mazars (governance & risk management)

For local development and self-hosted deployment, see the ABI installation guide.