agentsclimarketplace

Backend fastapi

Skill aiskillstore/marketplace/skills/abdulsamad94/backend-fastapi

Documentation for the FastAPI backend, endpoints, and dependency injection.From its SKILL.md

Install
npx -y skills add aiskillstore/marketplace --skill backend-fastapi

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

1.3 KB, 327 tokens by cl100k_base, as published. Nobody here has run it

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.

What ships with it: 1 file

23.5 KB alongside SKILL.md

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.