whatif-dev / svelte-ai-agents

Yet another ChatGPT UI, but more fit and svelte. Sveltekit app to have multiple conversations with chatbots.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

agents

The Agents

Yet another ChatGPT UI, but more fit and svelte, and with a secure backend.

Backend/Frontend Sveltekit app to have multiple conversations with chatbots. It connects to the OpenAI API.

Techstack

Features

  • Deploy in your own server
  • Safely store your API Key in the server
  • Run locally in your machine
  • Configurable amount of messages to send
  • Configurable system message to guide the assistant
  • Prompt templates: Speed up your questions with predefined templates
  • Prompt template parameters: Add parameters to the template and change them easily for
  • Start agents with predefined system message and prompt templates
  • Save all the messages in your database, continue your conversations later
  • Save the system message and prompt templates of conversations in the database
  • You can easily change the database provider to whatever you want
  • Auth system your needs.
  • Streaming messages
  • Edit messages
  • Create images with Dall-e
  • Voice input
  • Voice answers
  • Share conversations
  • Upload your own documents
  • Plugins

Setup

  • Create a .env file with your OpenAI Api key, and the urls of your postgres databases. See .env.supabase.example for reference. Your file should look like this:
SECRET_OPENAI_API_KEY="sk-XXXX"
DIRECT_URL="postgres://postgres:[YOUR_PASSWORD]@project.supabase.co:5432/postgres?connect_timeout=300"
DATABASE_URL="postgres://postgres:[YOUR_PASSWORD]@project.supabase.co:6543/postgres?pgbouncer=true"

If you want to use sqlite for a local database, check .env.sqlite.example, your file should look like this:

SECRET_OPENAI_API_KEY="sk-XXXXXXXX"
DATABASE_URL="file:./database_name.db"
  • npm install
  • npx prisma migrate dev to start the database and apply the schema
  • npm run dev to execute

Deploy

Add the environment variables to your system.

For serverless(e.g. Vercel) you can use Supabase as database, check this documentation.

Screenshots

Screen Shot 2023-04-06 at 00 36 43

Screen Shot 2023-04-06 at 00 36 14

Screen Shot 2023-04-06 at 00 36 23

Screen Shot 2023-04-06 at 00 36 32

Contact

Hi! you can find me here @julioandresdev

About

Yet another ChatGPT UI, but more fit and svelte. Sveltekit app to have multiple conversations with chatbots.

License:MIT License


Languages

Language:Svelte 52.4%Language:TypeScript 41.7%Language:JavaScript 4.3%Language:HTML 0.9%Language:CSS 0.7%