返回 Skill 列表
extension
分类: 内容与媒体无需 API Key

chatbot-implementation

RAG聊天机器人的详细信息,包括用户界面和后端逻辑。

person作者: jakexiaohubgithub

Chatbot Logic

Overview

A specialized RAG (Retrieval Augmented Generation) chatbot that helps users learn from the textbook content.

Backend

  • Route: app/api/chat/route.ts
  • Logic:
    1. Receives query and history.
    2. Embeds query using Gemini or OpenAI embedding model.
    3. Searches Qdrant (vector DB) for relevant textbook chunks.
    4. Constructs context from matches.
    5. Generates response using Gemini Flash/Pro.

Vector Search (Qdrant)

We use Qdrant for storing embeddings of the textbook.

  • Collection: textbook_chunks (or similar).
  • Fields: text, source, chunk_id.

UI Component

  • Location: textbook/src/components/Chatbot/index.tsx.
  • Features:
    • Floating chat window.
    • Size controls (Small, Medium, Large).
    • Markdown rendering of responses.
    • Context selection (highlight text to ask about it).
    • Mobile responsive design.
    • Auth awareness (personalizes answer based on user profile).

Styling

  • CSS: styles.module.css (Premium animations, shadow effects).
  • Themes: Dark/Light mode compatible (using --ifm variables).