- Vision Encoder Service (OpenCLIP ViT-L/14, GPU-accelerated)
- FastAPI app with text/image embedding endpoints (768-dim)
- Docker support with NVIDIA GPU runtime
- Port 8001, health checks, model info API
- Qdrant Vector Database integration
- Port 6333/6334 (HTTP/gRPC)
- Image embeddings storage (768-dim, Cosine distance)
- Auto collection creation
- Vision RAG implementation
- VisionEncoderClient (Python client for API)
- Image Search module (text-to-image, image-to-image)
- Vision RAG routing in DAGI Router (mode: image_search)
- VisionEncoderProvider integration
- Documentation (5000+ lines)
- SYSTEM-INVENTORY.md - Complete system inventory
- VISION-ENCODER-STATUS.md - Service status
- VISION-RAG-IMPLEMENTATION.md - Implementation details
- vision_encoder_deployment_task.md - Deployment checklist
- services/vision-encoder/README.md - Deployment guide
- Updated WARP.md, INFRASTRUCTURE.md, Jupyter Notebook
- Testing
- test-vision-encoder.sh - Smoke tests (6 tests)
- Unit tests for client, image search, routing
- Services: 17 total (added Vision Encoder + Qdrant)
- AI Models: 3 (qwen3:8b, OpenCLIP ViT-L/14, BAAI/bge-m3)
- GPU Services: 2 (Vision Encoder, Ollama)
- VRAM Usage: ~10 GB (concurrent)
Status: Production Ready ✅
51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
"""
|
|
FastAPI app instance for Gateway Bot
|
|
"""
|
|
import logging
|
|
from fastapi import FastAPI
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
|
from http_api import router as gateway_router
|
|
from http_api_doc import router as doc_router
|
|
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s"
|
|
)
|
|
|
|
app = FastAPI(
|
|
title="Bot Gateway with DAARWIZZ",
|
|
version="1.0.0",
|
|
description="Gateway service for Telegram/Discord bots → DAGI Router"
|
|
)
|
|
|
|
# CORS middleware
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"],
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
# Include gateway routes
|
|
app.include_router(gateway_router, prefix="", tags=["gateway"])
|
|
app.include_router(doc_router, prefix="", tags=["docs"])
|
|
|
|
@app.get("/")
|
|
async def root():
|
|
return {
|
|
"service": "bot-gateway",
|
|
"version": "1.0.0",
|
|
"agent": "DAARWIZZ",
|
|
"endpoints": [
|
|
"POST /telegram/webhook",
|
|
"POST /discord/webhook",
|
|
"POST /api/doc/parse",
|
|
"POST /api/doc/ingest",
|
|
"POST /api/doc/ask",
|
|
"GET /api/doc/context/{session_id}",
|
|
"GET /health"
|
|
]
|
|
}
|