This repo is originally from the repo chatbot-ui but with Whisper integration.
You can use the same OPENAI_API_KEY
to automatically turn your voice into queries for Chatgpt.
The repo will keep updated with the original Chatbot-UI repo (I'm not good at designing frontend tbh).
Other updates:
- Transcribing system audio (such as voice made by other people in a meeting)
- Langchain (such as answering questions according to a pdf)
- TBD
Vercel
Host your own live version of Chatbot UI with Vercel.
Docker Build
docker build -t Chatgpt_Whisper
docker run -e OPENAI_API_KEY=xxxxxxxx -p 3000:3000 Chatgpt_Whisper
1. Clone Repo
git clone https://github.com/oubotong/Chatgpt_Whisper.git
2. Install Dependencies
Make sure you are using node --version <= v16.20.1
. Otherwise, you will suffer from OPEN AI: Can not parse multipart form
error (Took me a whole night).
npm i
3. Provide OpenAI API Key
Overwrite .env
file in the root of the repo with your OpenAI API Key:
OPENAI_API_KEY=YOUR_OPENAI_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
By default, it will be localhost:3000
npm run dev
5. Use It
You should be able to start chatting ( using your voice 😗 ).
To be specific:
- Click 🎧 to get microphone permission
- Click 🔻 to start speaking
- Click ⚪ to stop speaking. It will automatically send the transcribed text to chatgpt.
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 |
GOOGLE_API_KEY | See [Custom Search JSON API documentation][GCSE] | |
GOOGLE_CSE_ID | See [Custom Search JSON API documentation][GCSE] |
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 want to switch languages:
-
For display languages: change
defaultLocale:
in filenext-i18next.config.js
-
For voice transcribing language:
formData.append('language', 'en');
in filewhisper.ts
If you have any questions, feel free to submit issues. I will check them every day.