Tag

Fastapi

4 articles tagged with "Fastapi"

Media Bot

Media Bot

An AI-powered media planning platform with a conversational interface for campaign optimization. Combines LLMs with mathematical optimization to maximize ROI across marketing channels.

Features

  • Conversational AI Interface — Stage-based chat that gathers campaign requirements (budget, objectives, audience, channels, duration)
  • Dataset Upload — Drag & drop CSV/Excel files with historical performance data
  • Budget Optimization — SciPy SLSQP algorithm for optimal channel allocation
  • ROI Analysis — Automatic calculation of cost efficiency and audience reach metrics
  • Channel Support — Meta, Snapchat, Google, TikTok (expandable)
  • Session Persistence — SQLite-based conversation history

Technical Highlights

  • Together AI (Llama 3.1 70B) for natural language understanding and plan generation
  • SciPy optimization for mathematical budget allocation
  • Pandas for data processing and analysis
  • Framer Motion for smooth UI animations
  • Glassmorphic design with dark theme

Tech Stack

LayerTechnology
FrontendReact 19 + TypeScript + Vite
BackendFastAPI
AITogether AI (Llama 3.1 70B)
OptimizationSciPy SLSQP
DatabaseSQLite
StylingTailwind CSS + Framer Motion

How It Works

  1. Requirements Gathering — Chat collects budget, objectives, target audience
  2. Data Analysis — Upload historical performance CSV/Excel
  3. Optimization — SciPy finds optimal budget split across channels
  4. Plan Generation — AI creates detailed channel-specific recommendations

Knowledge Arbitrage

Knowledge Arbitrage

A graph-based filesystem that combines Neo4j’s relationship modeling with LanceDB’s vector search capabilities. Files and directories exist as interconnected nodes, while content is chunked and embedded for semantic querying.

Features

  • Graph-Based Storage — Files and directories stored as Neo4j nodes with CONTAINS relationships
  • Hierarchical Structure — Traditional filesystem operations (create, read, write, move, delete)
  • Semantic Search — LanceDB stores embeddings for content-based querying
  • Hybrid Queries — Combine graph traversal with vector similarity
  • Text Optimization — Cleans HTML, normalizes formatting, semantic chunking

Technical Highlights

  • Neo4j for graph structure and relationship queries
  • LanceDB for vector storage and similarity search
  • Cohere embed-english-v3.0 for embeddings
  • chonkie for semantic text chunking
  • FastAPI web framework

Tech Stack

ComponentTechnology
Graph DatabaseNeo4j 5.0+
Vector DatabaseLanceDB
EmbeddingsCohere
Text Chunkingchonkie
Web FrameworkFastAPI

Architecture

Filesystem (Neo4j)          Embeddings (LanceDB)
├── /projects              → chunk_1 → [embedding]
│   └── /notes             → chunk_2 → [embedding]
└── /docs                  → chunk_3 → [embedding]

Query: "show me files about AI projects"
→ Vector search in LanceDB
→ Returns matching chunks with file paths from Neo4j

Pet Face Recognition

Pet Face Recognition

A local-first pet registration and identification system using face recognition. No cloud AI dependencies — all processing happens locally with deterministic embeddings.

Features

  • Local-Only Architecture — No external cloud APIs; all processing done locally
  • Facial Embedding Pipeline — Extracts 256-dimensional feature vectors using classical computer vision:
    • Local Binary Patterns (LBP)
    • Histogram of Oriented Gradients (HOG)
    • Discrete Cosine Transform (DCT)
    • Color histograms (HSV)
    • Multi-scale grid pooling
  • pgvector Similarity Search — Efficient vector storage and retrieval in PostgreSQL
  • Pet Registration — Upload multiple images per pet with name and location
  • Identification — Find matching pets from uploaded images with similarity scoring

Technical Highlights

  • Deterministic embeddings — Same image always produces identical features
  • Multi-criteria matching — Similarity score + margin between matches + minimum images
  • YOLO11 for classification, segmentation, and pose estimation
  • Docker Compose for easy local development
  • FastAPI backend with React frontend

Tech Stack

LayerTechnology
FrontendReact 19 + TypeScript + Vite
BackendFastAPI + SQLAlchemy 2.0
DatabasePostgreSQL + pgvector
EmbeddingLocal deterministic pipeline
Image StorageLocal disk
Testingpytest + testcontainers

Why Local-First?

Running AI locally means no API costs, no privacy concerns, and deterministic results. The system extracts facial features using classical computer vision techniques that are reproducible and don’t depend on external services.

Dynamic RAG

Dynamic RAG

A sophisticated Retrieval-Augmented Generation system with multi-agent architecture for intelligent question-answering over custom knowledge bases.

Features

  • Multi-Agent Architecture — Specialized agents working together:
    • QA Agent — Main agent for answering questions using the knowledge base
    • Personal Agent — For personal/general questions not requiring RAG
    • Validation Agent — Classifies queries as on-context, personal, bad, or unknown
    • Prompt Agent — Generates diverse query perspectives for comprehensive retrieval
    • Reranking Agent — Reorders retrieved chunks for better relevance
  • Hybrid Search — Combines FAISS vector similarity with keyword matching
  • Streaming Responses — Token-by-token streaming of LLM outputs
  • Multi-language Support — Uses multilingual embeddings via Cohere
  • Document Processing — PDF parsing with OCR support via Mistral

Technical Highlights

  • LangChain + LangGraph for orchestrating the RAG pipeline
  • FAISS vector store for similarity search
  • Cohere embeddings for multilingual support
  • SQLite for session persistence and analytics
  • Configurable agents via JSON configuration files

Tech Stack

ComponentTechnology
Web FrameworkFastAPI + Uvicorn
AI IntegrationTogether AI, LangChain, LangGraph
Vector StoreFAISS
EmbeddingsCohere
DatabaseSQLite + SQLAlchemy 2.0

Architecture

ValidationAgent → classifies query type
       ↓
PromptAgent → generates specialized prompts
       ↓
QA Agent → retrieves chunks, reranks, generates answer
       ↓
StreamingResponse