Marketplace backend-fastapi

Documentation for the FastAPI backend, endpoints, and dependency injection.

install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/abdulsamad94/backend-fastapi" ~/.claude/skills/aiskillstore-marketplace-backend-fastapi && rm -rf "$T"
manifest: skills/abdulsamad94/backend-fastapi/SKILL.md
source content

Backend Architecture (FastAPI)

Overview

The backend is a FastAPI application located in

backend/
. It powers the chatbot and RAG functionality.

Entry Point

  • File:
    backend/main.py
  • Run:
    uvicorn backend.main:app --reload
    (or via
    npm run dev
    )
  • Port: Defaults to
    8000
    .

Endpoints

POST /api/chat

  • Purpose: Main RAG chat endpoint.
  • Input:
    ChatRequest
    (query, history, user_context).
  • Process:
    1. Embed query.
    2. Search Qdrant (
      search_qdrant
      ).
    3. Build prompt (
      build_rag_prompt
      ).
    4. Generate Agent response.
  • Output:
    ChatResponse
    (answer, contexts).

POST /api/ask-selection

  • Purpose: Targeted Q&A on selected text.
  • Input:
    AskSelectionRequest
    (question, selected_text).
  • Process:
    1. Validates selection length.
    2. Builds selection-specific prompt.
    3. specific Agent instructions.

Dependencies & Utils

  • backend/utils/config.py
    : Qdrant initialization.
  • backend/utils/helpers.py
    : Embedding and Prompt building logic.
  • backend/models.py
    : OpenAI/Gemini client setup.

Environment Variables

  • GEMINI_API_KEY
    : For LLM and Embeddings.
  • QDRANT_URL
    ,
    QDRANT_API_KEY
    : Vector DB connection.