AI Open Source · 对话 UI
mckaywrigley/chatbot-ui
极简的开源 AI Chat 模板,TypeScript 实现,面向任意模型接入。代码结构清爽, 适合作为自建对话 UI 的起步框架——拿来当骨架,再按自己的业务定制 prompt、 记忆、tool calling。
AI chat for any model.
- Stars
- ★ 33k
- Language
- TypeScript
- License
- MIT
- Last push
- 2024-08-03
- Created
- 2023-03-11
- Homepage
- https://JoinTakeoff.com
README
Chatbot UI
The open-source AI chat app for everyone.
<img src="./public/readme/screenshot.png" alt="Chatbot UI" width="600">Demo
View the latest demo here.
Updates
Hey everyone! I've heard your feedback and am working hard on a big update.
Things like simpler deployment, better backend compatibility, and improved mobile layouts are on their way.
Be back soon.
-- Mckay
Official Hosted Version
Use Chatbot UI without having to host it yourself!
Find the official hosted version of Chatbot UI here.
Sponsor
If you find Chatbot UI useful, please consider sponsoring me to support my open-source work :)
Issues
We restrict "Issues" to actual issues related to the codebase.
We're getting excessive amounts of issues that amount to things like feature requests, cloud provider issues, etc.
If you are having issues with things like setup, please refer to the "Help" section in the "Discussions" tab above.
Issues unrelated to the codebase will likely be closed immediately.
Discussions
We highly encourage you to participate in the "Discussions" tab above!
Discussions are a great place to ask questions, share ideas, and get help.
Odds are if you have a question, someone else has the same question.
Legacy Code
Chatbot UI was recently updated to its 2.0 version.
The code for 1.0 can be found on the legacy branch.
Updating
In your terminal at the root of your local Chatbot UI repository, run:
npm run update
If you run a hosted instance you'll also need to run:
npm run db-push
to apply the latest migrations to your live database.
Local Quickstart
Follow these steps to get your own Chatbot UI instance running locally.
You can watch the full video tutorial here.
1. Clone the Repo
git clone https://github.com/mckaywrigley/chatbot-ui.git
2. Install Dependencies
Open a terminal in the root directory of your local Chatbot UI repository and run:
npm install
3. Install Supabase & Run Locally
Why Supabase?
Previously, we used local browser storage to store data. However, this was not a good solution for a few reasons:
- Security issues
- Limited storage
- Limits multi-modal use cases
We now use Supabase because it's easy to use, it's open-source, it's Postgres, and it has a free tier for hosted instances.
We will support other providers in the future to give you more options.
1. Install Docker
You will need to install Docker to run Supabase locally. You can download it here for free.
2. Install Supabase CLI
MacOS/Linux
brew install supabase/tap/supabase
Windows
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
3. Start Supabase
In your terminal at the root of your local Chatbot UI repository, run:
supabase start
4. Fill in Secrets
1. Environment Variables
In your terminal at the root of your local Chatbot UI repository, run:
cp .env.local.example .env.local
Get the required values by running:
supabase status
Note: Use API URL from supabase status for NEXT_PUBLIC_SUPABASE_URL
Now go to your .env.local file and fill in the values.
If the environment variable is set, it will disable the input in the user settings.
2. SQL Setup
In the 1st migration file supabase/migrations/20240108234540_setup.sql you will need to replace 2 values with the values you got above:
project_url(line 53):http://supabase_kong_chatbotui:8000(default) can remain unchanged if you don't change yourproject_idin theconfig.tomlfileservice_role_key(line 54): You got this value from runningsupabase status
This prevents issues with storage files not being deleted properly.
5. Install Ollama (optional for local models)
Follow the instructions here.
6. Run app locally
In your terminal at the root of your local Chatbot UI repository, run:
npm run chat
Your local instance of Chatbot UI should now be running at http://localhost:3000. Be sure to use a compatible node version (i.e. v18).
You can view your backend GUI at http://localhost:54323/project/default/editor.
Hosted Quickstart
Follow these steps to get your own Chatbot UI instance running in the cloud.
Video tutorial coming soon.
1. Follow Local Quickstart
Repeat steps 1-4 in "Local Quickstart" above.
You will want separate repositories for your local and hosted instances.
Create a new repository for your hosted instance of Chatbot UI on GitHub and push your code to it.
2. Setup Backend with Supabase
1. Create
同一分类的其他项