Skip to content

VectorChat is an end-to-end RAG stack that ingests documents and web content, embeds them with any AI into vector db, and serves contextual chat responses through a Go API.

License

Notifications You must be signed in to change notification settings

devs-group/vectorchat

Repository files navigation

VectorChat

A Go application that vectorizes text and files into PostgreSQL with pgvector, and uses these vectors to provide context for LLM interactions.

Features

  • Vectorize text and files using OpenAI embeddings
  • Store vectors in PostgreSQL with pgvector extension
  • Retrieve relevant context for LLM queries
  • Simple HTTP API for chat interactions

Prerequisites

  • Docker and Docker Compose
  • OpenAI API key

Setup

  1. Clone the repository:

    git clone https://github.com/devs-group/vectorchat.git
    cd vectorchat
    
  2. Create a .env file with the required secrets:

    OPENAI_API_KEY=your_openai_api_key
    GITHUB_CLIENT_ID=your_github_oauth_client_id
    GITHUB_CLIENT_SECRET=your_github_oauth_client_secret
    KRATOS_COOKIE_SECRET=at_least_32_random_bytes
    KRATOS_CIPHER_SECRET=at_least_32_random_bytes
    BASE_URL=localhost:4456
    FRONTEND_URL=localhost:3000
    LIGHT_FRONTEND_URL=localhost:3100
    VECTORCHAT_LIGHT_CLIENT_ID=your_vectorchat_light_client_id
    VECTORCHAT_LIGHT_CLIENT_SECRET=your_vectorchat_light_client_secret

    See docs/authentication.md for a full breakdown of the authentication stack and additional environment variables.

  3. Start the complete Docker stack:

    docker-compose up --build
  4. Access the applications:

  5. To interact with pgAdmin, open http://localhost:5050 and log in with the default email [email protected] and password admin. The database password remains postgres.

About

VectorChat is an end-to-end RAG stack that ingests documents and web content, embeds them with any AI into vector db, and serves contextual chat responses through a Go API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages