STRUKTURA 10 SLUŽEB - KAŽDÁ VLASTNÍ LANGGRAPH SWARM
Datum: 2026-01-17
📁 HLAVNÍ STRUKTURA
/opt/czechai-services/
├── 01_leady/
│ ├── README.md
│ ├── swarm.py # LangGraph multi-agent swarm
│ ├── agents/
│ │ ├── __init__.py
│ │ ├── extractor.py # Extrakce parametrů z URL/textu
│ │ ├── estimator.py # Odhad ceny nemovitosti
│ │ ├── scorer.py # Hodnocení podhodnocení (D10/D15/D20)
│ │ ├── risk_analyzer.py # Riziková analýza
│ │ └── reporter.py # Generování reportu
│ ├── api/
│ │ ├── __init__.py
│ │ ├── endpoints.py # FastAPI endpoints
│ │ └── models.py # Pydantic models
│ ├── database/
│ │ ├── schema.sql # PostgreSQL schema
│ │ └── migrations/
│ └── tests/
│ └── test_swarm.py
│
├── 02_zivnostnici/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── searcher.py # Vyhledávání živnostníků
│ │ ├── enricher.py # Obohacení dat (ARES, firmy...)
│ │ ├── scorer.py # Lead scoring
│ │ ├── segmenter.py # Segmentace (obor, velikost...)
│ │ └── exporter.py # Export do CRM/CSV
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── MASTER_CONTACTS.db # Symlink na /opt/contacts/db/
│ └── tests/
│
├── 03_pojisteni/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── calculator.py # Kalkulace pojistky
│ │ ├── comparator.py # Porovnání pojišťoven
│ │ ├── optimizer.py # Optimalizace (AI doporučení)
│ │ ├── risk_assessor.py # Hodnocení rizika klienta
│ │ └── lead_router.py # Routing k agentům
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── schema.sql
│ └── tests/
│
├── 04_obecne/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── requirement_analyzer.py # Analýza požadavku
│ │ ├── estimator.py # Odhad ceny & času
│ │ ├── team_matcher.py # Přiřazení týmu
│ │ ├── scheduler.py # Booking konzultací
│ │ └── proposal_generator.py # Generování nabídky
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── schema.sql
│ └── tests/
│
├── 05_reality/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── scraper.py # Scraping nemovitostí
│ │ ├── price_estimator.py # Multi-model odhad (4 modely)
│ │ ├── discount_analyzer.py # Výpočet podhodnocení
│ │ ├── market_analyzer.py # Tržní analýza
│ │ ├── lead_scorer.py # Investment score
│ │ └── reporter.py # Report generation
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── ULTIMATE_MASTER.db # Symlink
│ ├── models/
│ │ ├── cenova_mapa.pkl
│ │ ├── valuo_model.pkl
│ │ └── czechai_model.pkl
│ └── tests/
│
├── 06_pravni/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── lawyer_chat.py # AI právník (GPT-4 + RAG)
│ │ ├── aml_screener.py # AML screening (18 modulů)
│ │ ├── contract_generator.py # Generování smluv
│ │ ├── corporate_assistant.py # Založení firmy, změny
│ │ └── compliance_checker.py # Kontrola souladu
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── schema.sql
│ ├── rag/
│ │ ├── legal_docs/ # České zákony, vyhlášky
│ │ └── embeddings/ # Vector DB
│ └── tests/
│
├── 07_kancelare/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── property_manager.py # Správa nemovitostí
│ │ ├── lead_manager.py # Lead management
│ │ ├── matcher.py # Matching lead ↔ property
│ │ ├── price_advisor.py # Doporučení ceny
│ │ └── campaign_manager.py # Email campaigns
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── schema.sql # Properties, Leads, Matches
│ └── tests/
│
├── 08_banking/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── mortgage_calculator.py # Hypoteční kalkulátor
│ │ ├── credit_scorer.py # Credit scoring (AI)
│ │ ├── product_comparator.py # Porovnání produktů
│ │ ├── eligibility_checker.py # Kontrola způsobilosti
│ │ └── offer_generator.py # Generování nabídek
│ ├── api/
│ │ └── endpoints.py
│ ├── database/
│ │ └── schema.sql # Products, Leads
│ └── tests/
│
├── 09_automation/
│ ├── README.md
│ ├── swarm.py
│ ├── agents/
│ │ ├── workflow_builder.py # Build n8n workflows
│ │ ├── executor.py # Execute workflows
│ │ ├── monitor.py # Monitoring & alerting
│ │ └── optimizer.py # Workflow optimization
│ ├── api/
│ │ └── endpoints.py
│ ├── workflows/
│ │ ├── email_campaigns.json
│ │ ├── lead_routing.json
│ │ ├── data_sync.json
│ │ └── scraping.json
│ └── tests/
│
└── 10_firmy/
├── README.md
├── swarm.py
├── agents/
│ ├── searcher.py # Vyhledávání firem
│ ├── enricher.py # Obohacení dat (ARES, účetní...)
│ ├── scorer.py # B2B lead scoring
│ ├── financial_analyzer.py # Analýza financials
│ ├── competitor_analyzer.py # Konkurenční analýza
│ └── exporter.py # Export
├── api/
│ └── endpoints.py
├── database/
│ └── companies_master.db # Symlink
└── tests/
🤖 01. LEADY - LangGraph Swarm
Agents
# /opt/czechai-services/01_leady/swarm.py
from langgraph.graph import StateGraph, START, END
from langgraph.prebuilt import create_react_agent
from langchain_openai import ChatOpenAI
# State
class LeadyState(TypedDict):
input_url: str
input_text: str
extracted_params: dict # cena, m², adresa, GPS
market_estimate: dict # 4 modely odhadů
discount_analysis: dict # podhodnocení %
risk_analysis: dict # red/yellow/green flags
recommendations: dict # služby (FIN_HYP15, VAL_TRH...)
final_report: str
# Agents
extractor = create_react_agent(
ChatOpenAI(model="gpt-4o-mini"),
tools=[parse_url_tool, extract_params_tool],
state_modifier="Extract parameters from URL/text"
)
estimator = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools=[cenova_mapa_tool, valuo_tool, sreality_tool, czechai_tool],
state_modifier="Estimate property price using 4 models"
)
scorer = create_react_agent(
ChatOpenAI(model="gpt-4o-mini"),
tools=[calculate_discount_tool, assign_label_tool],
state_modifier="Calculate discount and assign D10/D15/D20 label"
)
risk_analyzer = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools=[legal_check_tool, financial_check_tool, location_check_tool],
state_modifier="Analyze risks (legal, financial, location)"
)
reporter = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools=[generate_report_tool, format_markdown_tool],
state_modifier="Generate final investment report"
)
# Graph
workflow = StateGraph(LeadyState)
workflow.add_node("extractor", extractor)
workflow.add_node("estimator", estimator)
workflow.add_node("scorer", scorer)
workflow.add_node("risk_analyzer", risk_analyzer)
workflow.add_node("reporter", reporter)
# Flow
workflow.add_edge(START, "extractor")
workflow.add_edge("extractor", "estimator")
workflow.add_edge("estimator", "scorer")
workflow.add_edge("scorer", "risk_analyzer")
workflow.add_edge("risk_analyzer", "reporter")
workflow.add_edge("reporter", END)
app = workflow.compile()
API Endpoint
# /opt/czechai-services/01_leady/api/endpoints.py
from fastapi import APIRouter, HTTPException
from .swarm import app as leady_swarm
router = APIRouter(prefix="/api/leady", tags=["Leady"])
@router.post("/process")
async def process_lead(url: str = None, text: str = None):
"""Process property lead using LangGraph swarm"""
result = leady_swarm.invoke({
"input_url": url,
"input_text": text
})
return {
"status": "success",
"params": result["extracted_params"],
"estimates": result["market_estimate"],
"discount": result["discount_analysis"],
"risks": result["risk_analysis"],
"recommendations": result["recommendations"],
"report": result["final_report"]
}
🏢 02. ŽIVNOSTNÍCI - LangGraph Swarm
Agents
# /opt/czechai-services/02_zivnostnici/swarm.py
class ZivnostniciState(TypedDict):
search_query: dict # jméno, město, obor
raw_results: list # z SQLite
enriched_data: list # + ARES, firmy
scored_leads: list # lead_score, bonita, activity
segmented_data: dict # segmenty (obor, velikost...)
export_format: str # CSV, Excel, CRM
export_data: bytes
# Agents
searcher = create_react_agent(
ChatOpenAI(model="gpt-4o-mini"),
tools=[sqlite_search_tool, filter_tool],
state_modifier="Search MASTER_CONTACTS.db"
)
enricher = create_react_agent(
ChatOpenAI(model="gpt-4o-mini"),
tools=[ares_api_tool, firmy_lookup_tool, social_lookup_tool],
state_modifier="Enrich with ARES, companies, social data"
)
scorer = create_react_agent(
ChatOpenAI(model="gpt-4o"),
tools=[lead_score_tool, bonita_tool, activity_tool],
state_modifier="Score leads (lead_score, bonita, activity)"
)
segmenter = create_react_agent(
ChatOpenAI(model="gpt-4o-mini"),
tools=[segment_by_obor_tool, segment_by_size_tool],
state_modifier="Segment by industry, size, location"
)
exporter = create_react_agent(
ChatOpenAI(model="gpt-4o-mini"),
tools=[export_csv_tool, export_excel_tool, export_crm_tool],
state_modifier="Export to CSV/Excel/CRM"
)
# Graph
workflow = StateGraph(ZivnostniciState)
workflow.add_node("searcher", searcher)
workflow.add_node("enricher", enricher)
workflow.add_node("scorer", scorer)
workflow.add_node("segmenter", segmenter)
workflow.add_node("exporter", exporter)
workflow.add_edge(START, "searcher")
workflow.add_edge("searcher", "enricher")
workflow.add_edge("enricher", "scorer")
workflow.add_edge("scorer", "segmenter")
workflow.add_edge("segmenter", "exporter")
workflow.add_edge("exporter", END)
app = workflow.compile()
🏥 03. POJIŠTĚNÍ - LangGraph Swarm
Agents
class PojisteniState(TypedDict):
insurance_type: str # auto, bydlení, život...
current_premium: float # aktuální měsíční platba
coverage_details: dict # detaily pojistky
market_comparison: list # top pojišťovny
optimization_plan: dict # doporučení úspor
risk_assessment: dict # hodnocení rizika
agent_matches: list # matching agents
calculator = create_react_agent(...)
comparator = create_react_agent(...)
optimizer = create_react_agent(...)
risk_assessor = create_react_agent(...)
lead_router = create_react_agent(...)
📋 04. OBECNÉ - LangGraph Swarm
Agents
class ObecneState(TypedDict):
project_description: str
requirements: dict # funkcionality, deadline, budget
complexity_score: float # 1-10
time_estimate: dict # min/max hodiny
cost_estimate: dict # min/max Kč
team_recommendation: dict # kdo na to
proposal: str # finální nabídka
requirement_analyzer = create_react_agent(...)
estimator = create_react_agent(...)
team_matcher = create_react_agent(...)
scheduler = create_react_agent(...)
proposal_generator = create_react_agent(...)
🏘️ 05. REALITY - LangGraph Swarm
Agents
class RealityState(TypedDict):
search_filters: dict # město, cena, m²
scraped_properties: list # nové inzeráty
price_estimates: dict # 4 modely
discount_analysis: list # podhodnocené
market_trends: dict # trendy, hotspoty
investment_scores: list # scored properties
final_report: dict
scraper = create_react_agent(...) # Playwright scraping
price_estimator = create_react_agent(...) # 4 AI modely
discount_analyzer = create_react_agent(...)
market_analyzer = create_react_agent(...)
lead_scorer = create_react_agent(...)
reporter = create_react_agent(...)
⚖️ 06. PRÁVNÍ - LangGraph Swarm
Agents
class PravniState(TypedDict):
question: str # právní otázka
aml_target: dict # jméno/IČO pro screening
contract_type: str # typ smlouvy
company_setup: dict # založení firmy
legal_answer: str # odpověď + zákony
aml_report: dict # AML screening
contract_draft: str # generovaná smlouva
corporate_docs: list # dokumenty pro rejstřík
lawyer_chat = create_react_agent(...) # GPT-4 + RAG
aml_screener = create_react_agent(...) # 18 AML modulů
contract_generator = create_react_agent(...)
corporate_assistant = create_react_agent(...)
compliance_checker = create_react_agent(...)
🏢 07. REALITNÍ KANCELÁŘE - LangGraph Swarm
Agents
class KancelareState(TypedDict):
action: str # add_property, add_lead, match
property_data: dict
lead_data: dict
matches: list # lead ↔ property
price_recommendation: float
campaign_plan: dict
property_manager = create_react_agent(...)
lead_manager = create_react_agent(...)
matcher = create_react_agent(...) # AI matching
price_advisor = create_react_agent(...)
campaign_manager = create_react_agent(...)
🏦 08. BANKOVNICTVÍ - LangGraph Swarm
Agents
class BankingState(TypedDict):
loan_type: str # hypotéka, spotřebitelský
loan_amount: float
income: float
expenses: float
credit_score: float # AI vypočítané
product_comparison: list # top produkty
eligibility: dict # schůdnost
offers: list # nabídky bank
mortgage_calculator = create_react_agent(...)
credit_scorer = create_react_agent(...) # AI scoring
product_comparator = create_react_agent(...)
eligibility_checker = create_react_agent(...)
offer_generator = create_react_agent(...)
🤖 09. AUTOMATIZACE - LangGraph Swarm
Agents
class AutomationState(TypedDict):
automation_request: str # popis co automatizovat
workflow_design: dict # n8n workflow JSON
execution_result: dict
monitoring_data: dict
optimization_tips: list
workflow_builder = create_react_agent(...) # Build n8n workflows
executor = create_react_agent(...)
monitor = create_react_agent(...)
optimizer = create_react_agent(...)
🏢 10. FIRMY - LangGraph Swarm
Agents
class FirmyState(TypedDict):
search_query: dict # název, IČO, obor
raw_results: list
enriched_data: list # + financials, ARES
b2b_scores: list # lead scoring
financial_analysis: dict # zdraví, růst
competitor_analysis: dict
export_data: bytes
searcher = create_react_agent(...)
enricher = create_react_agent(...)
scorer = create_react_agent(...)
financial_analyzer = create_react_agent(...)
competitor_analyzer = create_react_agent(...)
exporter = create_react_agent(...)
🚀 IMPLEMENTAČNÍ PLÁN
KROK 1: Setup struktury
ssh root@46.224.121.179
mkdir -p /opt/czechai-services/{01_leady,02_zivnostnici,03_pojisteni,04_obecne,05_reality,06_pravni,07_kancelare,08_banking,09_automation,10_firmy}
# Pro každou službu
for i in {01..10}; do
mkdir -p /opt/czechai-services/${i}_*/agents
mkdir -p /opt/czechai-services/${i}_*/api
mkdir -p /opt/czechai-services/${i}_*/database
mkdir -p /opt/czechai-services/${i}_*/tests
done
KROK 2: Vytvořit swarm.py pro každou službu
- Template LangGraph StateGraph
- Definovat State (TypedDict)
- Vytvořit agenty (create_react_agent)
- Definovat workflow edges
- Compile app
KROK 3: API endpoints
- FastAPI router pro každou službu
/api/{service}/processendpoint- Invoke swarm
- Return results
KROK 4: MKDocs dokumentace
/opt/czechai-docs/docs/
├── sluzby/
│ ├── 01-leady/
│ │ ├── index.md
│ │ ├── swarm.md
│ │ ├── agents.md
│ │ └── api.md
│ ├── 02-zivnostnici/
│ │ ├── index.md
│ │ ├── swarm.md
│ │ ├── agents.md
│ │ └── api.md
│ ...
│ └── 10-firmy/
KROK 5: PM2 deploy
pm2 start /opt/czechai-services/main.py --name czechai-services
pm2 save
📊 PRIORITY
- 02_ZIVNOSTNICI - máme data (2.8M), jen swarm + API
- 10_FIRMY - máme data (3.5M), jen swarm + API
- 05_REALITY - dokončit 4 price modely + swarm
- 06_PRAVNI - AML už funguje, přidat RAG + smlouvy
- 03_POJISTENI - nová služba (kalkulátor + porovnání)
- 08_BANKING - nová služba (hypotéky + scoring)
- 07_KANCELARE - CRM integrace (Twenty)
- 09_AUTOMATION - n8n marketplace
- 04_OBECNE - low priority (konzultace)
Autor: Claude Sonnet 4.5 Datum: 2026-01-17 Status: DESIGN COMPLETE - READY TO IMPLEMENT