Open-source AI-финансовый советник: как контролировать инвестиции и долги без передачи данных в облако

Я Денис Шохирев, архитектор агентных AI-систем из Фрайбурга. На стеке Claude, Supabase, n8n, Doppler и self-hosted Postgres я строю автономные системы для B2B клиентов в DACH. В проде, а не на демо. Конкретный кейс: fintech-клиент из Германии — требование по контролю инвестиций и долгов без утечки данных в облако.

Зачем нужен AI-финансовый советник без облака

В Европе большинство B2B компаний не могут передавать финансовые данные в облако из-за требований DSGVO и NIS2. Даже крупные open-source LLM-сервисы редко дают полноценный контроль над данными. На моей практике: внедрение AI в финансовый мониторинг часто упирается в сертификацию хранения и обработки данных.

Архитектура: только open-source, только self-hosted

Почему не SaaS

В SaaS-решениях типа Plaid или Tink данные уходят на внешние сервера. Для regulated рынков это блокер: ни один клиент не даст доступ к реальным банковским выпискам через облако.

Что взять за основу

КомпонентOpen-source альтернативаНазначение
LLM backendOllama (self-hosted Llama 3), LM StudioГенерация советов, классификация транзакций
Оркестрацияn8nПайплайны обработки данных и автоматизация задач
База данныхPostgres (self-hosted)Хранение транзакций и пользовательских настроек
CI/CDGitHub Actions + SemgrepАвтоматический аудит кода на security-уязвимости
APIFastAPI / SupabaseВнутренний REST API для UI и мобильных клиентов

Как выглядит pipeline в проде

1. Интеграция банковских выписок

Данные импортируются через локальные CSV/XML-файлы или через прямые банковские API с двухфакторной аутентификацией. Пример обработки выписки через n8n:


{
  nodes: [
    {
      type: "n8n-nodes-base.readBinaryFile",
      parameters: { filePath: "/data/inbox/bank.csv" }
    },
    {
      type: "n8n-nodes-base.csvParse",
      parameters: { delimiter: ";" }
    },
    {
      type: "n8n-nodes-base.postgres",
      parameters: {
        query: "INSERT INTO transactions (date, amount, description) VALUES ({{date}}, {{amount}}, {{description}})"
      }
    }
  ]
}

Все данные остаются в локальной инфраструктуре. Для клиентов с высоким уровнем риска — шифруется на уровне Postgres (pgcrypto).

2. Анализ транзакций через LLM

Собственный LLM (на базе Llama 3 или Mistral) разворачивается через Ollama. Для inference — только локальные модели. Пример pipeline:


import ollama
from supabase import create_client

db = create_client("http://localhost:54321", "service_key")
transactions = db.table("transactions").select("*").execute()

for tx in transactions.data:
    prompt = f"Категоризуй: {tx['description']}, сумма: {tx['amount']}"
    result = ollama.chat(model="llama3", prompt=prompt)
    db.table("transactions").update({"category": result}).eq("id", tx["id"]).execute()

LLM не видит никаких сторонних данных — только те, что лежат в локальной базе.

3. Генерация советов по инвестициям и долгам

RAG-паттерн: векторизую исторические транзакции (через SentenceTransformers), храню эмбеддинги в pgvector. Для советов — локальные LLM, которые выбирают похожие паттерны и предлагают решения.


from sentence_transformers import SentenceTransformer
import psycopg2
model = SentenceTransformer('all-MiniLM-L6-v2')
conn = psycopg2.connect(...)
cur = conn.cursor()
cur.execute("SELECT id, description FROM transactions")
embeddings = []
for row in cur.fetchall():
    emb = model.encode(row[1])
    cur.execute("UPDATE transactions SET embedding=%s WHERE id=%s", (emb.tobytes(), row[0]))
conn.commit()

Риски по долгам/перекредитованию — анализируются через те же пайплайны: смотрю на динамику платежей, просрочки, выдаю предупреждения.

Security & Compliance: что реально работает

Статический аудит LLM-интеграций

На последних трех внедрениях ловил одни и те же паттерны SQL injection в сгенерированном LLM-коде. Semgrep и Bandit в CI/CD — обязательны. Пример .github/workflows/ci.yaml:


name: CI
on: [push]
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run Semgrep
        run: semgrep --config=python .
      - name: Run Bandit
        run: bandit -r .

Где-то 20% LLM-кода требует ручной доработки после статического аудита (по моему опыту).

Соответствие требованиям DSGVO

Клиенты в Германии требуют полный лог доступа к данным и опционально — внешнюю ревизию пайплайнов (например, через gitleaks для поиска утечек токенов). Вся обработка — на своих серверах, без передачи в облако даже через сторонние API.

FAQ

Какой LLM лучше для таких задач — open-source или проприетарный?

Только open-source self-hosted: иначе нет контроля над утечками. Llama 3, Mistral или Falcon — все подойдут.

Можно ли подключить мобильное приложение к такой системе?

Да, через Supabase или FastAPI — но только внутри корпоративной сети или через VPN.

Как защититься от ошибок в автоматических советах?

Слои валидации: ручная проверка, статический аудит, тестовые пайплайны на псевдоданных.

Насколько сложно внедрять такие пайплайны?

Типовой проект — 3-6 недель, если есть готовая инфраструктура.

Что делать при изменении требований по безопасности?

CI/CD с Semgrep и Bandit позволяет быстро адаптировать pipeline под новые регуляции.

В вашем пайплайне где чаще всего вылезают ошибки — на этапе интеграции данных, inference LLM или генерации советов? Напишите, интересен реальный опыт. Провожу бесплатный аудит стека для основателей DACH, кто внедряет AI в финтехе или автоматизации. Пишите в LinkedIn или @ger_dennis_ai.

Read more

Computer-Use-Agenten scheitern an Pixeln: wie Sie auf stabile UI-Referenzen über Accessibility Trees umstellen und fehleranfällige Desktop-Automatisierung nicht mehr ständig reparieren

von Denis Shokhirev, Enterprise AI Architect aus Freiburg im Breisgau Ich bin Denis Shokhirev, Agentic AI Systems Architect in Freiburg im Breisgau, Germany, und bei DennisCraft AI Studio setze ich produktive KI-Systeme für DACH-B2B-Kunden auf Basis von Claude, Supabase, n8n, Doppler und selbst betriebenem Postgres um. Die teuersten Fehler in

By Denis Shokhirev

Компьютерные агенты ломаются на пикселях: как перейти на stable UI refs через accessibility tree и перестать чинить flaky desktop automation

Я Denis Shokhirev, Agentic AI Systems Architect из Freiburg im Breisgau, Germany, и в DennisCraft AI Studio я собираю production AI-системы для DACH B2B на Claude, Supabase, n8n, Doppler и self-hosted Postgres. Самая дорогая поломка в desktop automation, которую я вижу у клиентов, почти никогда не связана с моделью: агент

By Denis Shokhirev