Skip to content
IP FediuninFull-Stack & AI Engineer

Automation, data, AI

Automation & AI

Services and bots that run without a human in the loop, data processing, RAG and language models — and the Docker and cloud infrastructure they all run on.

What is happening

Pick a scenario — it plays out in the district on the diagram, and every step is explained here.

The animation is slowed down for clarity; latencies in the trace are realistic.

District scenarios

Technologies

Pick a technology to light up the buildings it runs in. Tap or click a building to open its details. Technologies with no building in the city lead to case studies.

What it looks like in code

rag/retrieval.py

async def retrieve(question: str, k: int = 4) -> list[Chunk]:
    vector = await embed(question)
    rows = await db.fetch(
        "SELECT id, text, source, embedding <=> $1 AS distance"
        " FROM chunks ORDER BY distance LIMIT $2",
        vector, k,
    )
    return [Chunk(**row) for row in rows if row["distance"] < MAX_DISTANCE]
Retrieving RAG context with pgvector: the closest fragments by cosine distance and a relevance threshold — distant fragments never reach the answer.