Sveltekit AI Chatbot

screenshot of Sveltekit AI Chatbot
svelte
vite
tailwind

A full-featured, hackable SvelteKit AI chatbot

Overview

This is an unofficial SvelteKit port of the vercel-labs/ai-chatbot. It is a chatbot template that utilizes various AI chat models and can be deployed easily on Vercel. The template comes with features such as streaming chat UI, support for different AI models, styling with Tailwind CSS, and more.

Features

  • SvelteKit: Built using SvelteKit framework.
  • Vercel AI SDK for streaming chat UI: Utilizes the Vercel AI SDK to enable streaming chat UI.
  • Support for OpenAI, Anthropic, HuggingFace, or custom AI chat models: Can work with different AI chat models or even custom models.
  • LangChain Edge runtime-ready: Ready for LangChain edge runtime.
  • shadcn/ui and shadcn-svelte: Uses shadcn/ui and shadcn-svelte libraries for UI components.
  • Styling with Tailwind CSS: Style the chatbot UI using Tailwind CSS.
  • Radix Svelte and Svelte Headless UI for headless component primitives: Utilizes Radix Svelte and Svelte Headless UI for creating headless component primitives.
  • Icons from Phosphor Icons: Includes icons from Phosphor Icons library.
  • Chat History, rate limiting, and session storage with Vercel KV: Supports chat history, rate limiting, and session storage using Vercel KV (under construction).
  • Auth.js for authentication: Provides authentication using Auth.js.
  • Model Providers: Ships with OpenAI gpt-3.5-turbo as the default model provider, but allows switching to Anthropic, HuggingFace, or using LangChain with a few lines of code.
svelte
Svelte

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.

vite
Vite

Vite is a build tool that aims to provide a faster and leaner development experience for modern web projects

tailwind
Tailwind

Tailwind CSS is a utility-first CSS framework that provides pre-defined classes for building responsive and customizable user interfaces.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

postcss
Postcss

PostCSS is a popular open-source tool that enables web developers to transform CSS styles with JavaScript plugins. It allows for efficient processing of CSS styles, from applying vendor prefixes to improving browser compatibility, ultimately resulting in cleaner, faster, and more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.

vercel
Vercel

Vercel offers built-in support for deploying and hosting Next.js applications, making it a popular choice among Next.js developers.