Přeskočit obsah

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}/process endpoint
  • 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

  1. 02_ZIVNOSTNICI - máme data (2.8M), jen swarm + API
  2. 10_FIRMY - máme data (3.5M), jen swarm + API
  3. 05_REALITY - dokončit 4 price modely + swarm
  4. 06_PRAVNI - AML už funguje, přidat RAG + smlouvy
  5. 03_POJISTENI - nová služba (kalkulátor + porovnání)
  6. 08_BANKING - nová služba (hypotéky + scoring)
  7. 07_KANCELARE - CRM integrace (Twenty)
  8. 09_AUTOMATION - n8n marketplace
  9. 04_OBECNE - low priority (konzultace)

Autor: Claude Sonnet 4.5 Datum: 2026-01-17 Status: DESIGN COMPLETE - READY TO IMPLEMENT