menloparklab / chatbot-ui

An open source ChatGPT UI taken from Chatbot UI and combined with LangChain-python based backend served using Lanarky.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Chatbot UI x LangChain

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.

Chatbot UI

Running Locally

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.

Run via Docker Compose

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

Configuration

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.

Contact

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

About

An open source ChatGPT UI taken from Chatbot UI and combined with LangChain-python based backend served using Lanarky.

License:MIT License


Languages

Language:TypeScript 96.3%Language:Python 1.7%Language:JavaScript 1.0%Language:Dockerfile 0.4%Language:CSS 0.3%Language:Makefile 0.2%