This repo is to serve as a template for building chat interfaces usign ChatbotUI and LangChain Python-Based backend.
Chatbot UI is an open source chat UI for AI models. And LangChain is an open source library to help build LLM powered apps. Lanarky is used to serve LangChain powered apps with streaming support.
See a demo.
1. Clone Repo
git clone https://github.com/mckaywrigley/chatbot-ui.git
2. Install Dependencies
npm i
3. Provide OpenAI API Key
Create a .env.local file in the root of the repo with your OpenAI API Key:
OPENAI_API_KEY=YOUR_KEY
You can set
OPENAI_API_HOST
where access to the official OpenAI host is restricted or unavailable, allowing users to configure an alternative host for their specific needs.
Additionally, if you have multiple OpenAI Organizations, you can set
OPENAI_ORGANIZATION
to specify one.
4. Run App
npm run dev
Lanarky-based LangChain Backend Setup
Note: follow instructions in backend README to run the backend.
5. Use It
You should be able to start chatting.
1. Build Docker Images
docker compose build
2. Provide OpenAI API Key
Update docker-compose.yml
with your OpenAI API Key.
4. Run Docker Compose
docker compose up
When deploying the application, the following environment variables can be set:
Environment Variable | Default value | Description |
---|---|---|
OPENAI_API_KEY | The default API key used for authentication with OpenAI | |
OPENAI_API_HOST | https://api.openai.com |
The base url, for Azure use https://<endpoint>.openai.azure.com |
OPENAI_API_TYPE | openai |
The API type, options are openai or azure |
OPENAI_API_VERSION | 2023-03-15-preview |
Only applicable for Azure OpenAI |
AZURE_DEPLOYMENT_ID | Needed when Azure OpenAI, Ref Azure OpenAI API | |
OPENAI_ORGANIZATION | Your OpenAI organization ID | |
DEFAULT_MODEL | gpt-3.5-turbo |
The default model to use on new conversations, for Azure use gpt-35-turbo |
NEXT_PUBLIC_DEFAULT_SYSTEM_PROMPT | see here | The default system prompt to use on new conversations |
NEXT_PUBLIC_DEFAULT_TEMPERATURE | 1 | The default temperature to use on new conversations |
If you do not provide an OpenAI API key with OPENAI_API_KEY
, users will have to provide their own key.
If you don't have an OpenAI API key, you can get one here.
If you have any questions, feel free to reach out to Mckay on Twitter for ChatbotUI. For Lanarky backend, please reach out to Ajinkya. And if you want to build LLM-powered LangChain apps, reach out to Misbah