# campusx-official/agno-building-ai-agents architecture

> Architecture diagram of the GitHub repository campusx-official/agno-building-ai-agents, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/campusx-official/agno-building-ai-agents
- Repository: https://github.com/campusx-official/agno-building-ai-agents

## Overview

This repository is a collection of Agno learning examples and two applied agent systems, rather than one integrated runtime. The principal product workflow is the Medium article generator: a user submits a topic through the agent service, a team delegates research across sources, drafts an article, and saves it after user approval. A second workflow coordinates data-science agents around a machine-learning task. README-described basics, RAG, teams, and workflow patterns are included as curriculum branches; their detailed runtime wiring is not established by the sampled source.

Main entry points: [`medium-article-generator/app.py`](https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py) (Article Team), [`agno-data-science-team/src/preprocesssing.py`](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/src/preprocesssing.py) (Preprocessing), [`agno-data-science-team/app.py`](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py) (Data Science Team), [`agno-data-science-team/data/car_details.csv`](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/data/car_details.csv) (Car Dataset)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learning["Agent Fundamentals"]
  node_basics["Agent Basics"]
  node_memory[("Memory and State")]
  node_tools["Agent Tools"]
end

subgraph group_knowledge["Knowledge and RAG"]
  node_rag["Knowledge and RAG"]
  node_knowledgebase["Knowledge Base<br/>[knowledge_base.py]"]
end

subgraph group_orchestration["Teams and Workflows"]
  node_teams["Team Orchestration"]
  node_teamstate[("Team State<br/>[team_state.py]")]
  node_workflows["Workflow Patterns"]
  node_workflowtypes["Sequential, Parallel, Branching"]
end

subgraph group_articles["Article Generator"]
  node_articleapp["Agent Service<br/>[app.py]"]
  node_articleteam["Article Team<br/>[app.py]"]
  node_researchers["Research Agents<br/>[app.py]"]
  node_researchsources["Research Sources"]
  node_gmail["Gmail"]
  node_articlefiles["Article Files"]
end

subgraph group_datascience["Data Science Team"]
  node_datascienceapp["Agent Service<br/>[app.py]"]
  node_dstteam["Data Science Team<br/>[app.py]"]
  node_dsmembers["Data Science Agents<br/>[app.py]"]
  node_dsdb[("Session Database<br/>[app.py]")]
  node_carcsv["Car Dataset<br/>[car_details.csv]"]
  node_preprocess["Preprocessing<br/>[preprocesssing.py]"]
  node_features["Feature Splits"]
  node_modelartifact["Preprocessor Artifact"]
end

node_user(("User"))
node_openai["OpenAI Models"]

node_user -->|"submits topic"| node_articleapp
node_articleapp -->|"serves team"| node_articleteam
node_articleteam -->|"delegates research"| node_researchers
node_researchers -->|"searches and retrieves"| node_researchsources
node_articleteam -->|"saves approved draft"| node_articlefiles
node_articleteam -.->|"uses mail tools"| node_gmail
node_researchers -->|"uses model"| node_openai
node_articleteam -->|"uses model"| node_openai
node_user -->|"submits task"| node_datascienceapp
node_datascienceapp -->|"serves team"| node_dstteam
node_dstteam -->|"delegates tasks"| node_dsmembers
node_dstteam -->|"persists session history"| node_dsdb
node_dsmembers -->|"loads data"| node_carcsv
node_dsmembers -->|"uses model"| node_openai
node_preprocess -->|"writes train and test"| node_features
node_preprocess -->|"saves transformer"| node_modelartifact
node_preprocess -.->|"not connected"| node_carcsv
node_rag -->|"uses knowledge"| node_knowledgebase
node_teams -->|"demonstrates state"| node_teamstate
node_workflows -->|"covers patterns"| node_workflowtypes

click node_basics "https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-basics"
click node_memory "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-basics/agent_with_memory_1.py"
click node_tools "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-basics/agent_with_tools.py"
click node_rag "https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-knowledge"
click node_knowledgebase "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-knowledge/knowledge_base.py"
click node_teams "https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-teams"
click node_teamstate "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-teams/team_state.py"
click node_workflows "https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-workflows"
click node_workflowtypes "https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-workflows"
click node_articleapp "https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py"
click node_articleteam "https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py"
click node_researchers "https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py"
click node_articlefiles "https://github.com/campusx-official/agno-building-ai-agents/tree/main/medium-article-generator/medium_articles"
click node_datascienceapp "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py"
click node_dstteam "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py"
click node_dsmembers "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py"
click node_dsdb "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py"
click node_carcsv "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/data/car_details.csv"
click node_preprocess "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/src/preprocesssing.py"
click node_features "https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-data-science-team/data/features"
click node_modelartifact "https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/models/preprocessor.joblib"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_basics,node_memory,node_tools,node_user toneBlue
class node_rag,node_knowledgebase toneAmber
class node_teams,node_teamstate,node_workflows,node_workflowtypes toneMint
class node_articleapp,node_articleteam,node_researchers,node_researchsources,node_gmail,node_articlefiles toneRose
class node_datascienceapp,node_dstteam,node_dsmembers,node_dsdb,node_carcsv,node_preprocess,node_features,node_modelartifact,node_openai toneIndigo
```

## Components

### Agent Fundamentals

- [Agent Basics](https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-basics): `agno-basics`
- [Memory and State](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-basics/agent_with_memory_1.py): `agno-basics/agent_with_memory_1.py`
- [Agent Tools](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-basics/agent_with_tools.py): `agno-basics/agent_with_tools.py`

### Knowledge and RAG

- [Knowledge and RAG](https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-knowledge): `agno-knowledge`
- [Knowledge Base](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-knowledge/knowledge_base.py): `agno-knowledge/knowledge_base.py`

### Teams and Workflows

- [Team Orchestration](https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-teams): `agno-teams`
- [Team State](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-teams/team_state.py): `agno-teams/team_state.py`
- [Workflow Patterns](https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-workflows): `agno-workflows`
- [Sequential, Parallel, Branching](https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-workflows): `agno-workflows`

### Article Generator

- [Agent Service](https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py): `medium-article-generator/app.py`
- [Article Team](https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py): `medium-article-generator/app.py`
- [Research Agents](https://github.com/campusx-official/agno-building-ai-agents/blob/main/medium-article-generator/app.py): `medium-article-generator/app.py`
- **Research Sources**
- **Gmail**
- [Article Files](https://github.com/campusx-official/agno-building-ai-agents/tree/main/medium-article-generator/medium_articles): `medium-article-generator/medium_articles`

### Data Science Team

- [Agent Service](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py): `agno-data-science-team/app.py`
- [Data Science Team](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py): `agno-data-science-team/app.py`
- [Data Science Agents](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py): `agno-data-science-team/app.py`
- [Session Database](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/app.py): `agno-data-science-team/app.py`
- [Car Dataset](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/data/car_details.csv): `agno-data-science-team/data/car_details.csv`
- [Preprocessing](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/src/preprocesssing.py): `agno-data-science-team/src/preprocesssing.py`
- [Feature Splits](https://github.com/campusx-official/agno-building-ai-agents/tree/main/agno-data-science-team/data/features): `agno-data-science-team/data/features`
- [Preprocessor Artifact](https://github.com/campusx-official/agno-building-ai-agents/blob/main/agno-data-science-team/models/preprocessor.joblib): `agno-data-science-team/models/preprocessor.joblib`

### Other components

- **User**
- **OpenAI Models**

## Connections

- User → Agent Service: submits topic
- Agent Service → Article Team: serves team
- Article Team → Research Agents: delegates research
- Research Agents → Research Sources: searches and retrieves
- Article Team → Article Files: saves approved draft
- Article Team → Gmail: uses mail tools
- Research Agents → OpenAI Models: uses model
- Article Team → OpenAI Models: uses model
- User → Agent Service: submits task
- Agent Service → Data Science Team: serves team
- Data Science Team → Data Science Agents: delegates tasks
- Data Science Team → Session Database: persists session history
- Data Science Agents → Car Dataset: loads data
- Data Science Agents → OpenAI Models: uses model
- Preprocessing → Feature Splits: writes train and test
- Preprocessing → Preprocessor Artifact: saves transformer
- Preprocessing → Car Dataset: not connected
- Knowledge and RAG → Knowledge Base: uses knowledge
- Team Orchestration → Team State: demonstrates state
- Workflow Patterns → Sequential, Parallel, Branching: covers patterns
