GeminiProChat
Minimal web UI for GeminiPro Chat.
Live demo: Gemini Pro Chat
Acknowledgements
This project is inspired by and based on the following open-source project:
- ChatGPT-Demo - For the foundational codebase and features.
Running Locally
Pre environment
-
Node: Check that both your development environment and deployment environment are using
Node v18
or later. You can use nvm to manage multiplenode
versions locally.node -v
-
PNPM: We recommend using pnpm to manage dependencies. If you have never installed pnpm, you can install it with the following command:
npm i -g pnpm
-
GEMINI_API_KEY: Before running this application, you need to obtain the API key from Google. You can register the API key at https://makersuite.google.com/app/apikey.
Getting Started
-
Install dependencies
pnpm install
-
Copy the
.env.example
file, then rename it to.env
, and add your GEMINI API key to the.env
file.GEMINI_API_KEY=AIzaSy...
-
Run the application, the local project runs on
http://localhost:3000/
pnpm run dev
Environment Variables
You can control the website through environment variables.
Name | Description | Required |
---|---|---|
GEMINI_API_KEY |
Your API Key for GEMINI. You can get it from here. | Yes |
API_BASE_URL |
Custom base url for GEMINI API. Click here to see when to use this. | No |
HEAD_SCRIPTS |
Inject analytics or other scripts before </head> of the page |
No |
PUBLIC_SECRET_KEY |
Secret string for the project. Use for generating signatures for API calls | No |
SITE_PASSWORD |
Set password for site, support multiple password separated by comma. If not set, site will be public | No |
Deploy
Deploy With Vercel(Recommended)
Just click the button above and follow the instructions to deploy your own copy of the app.
Note
Solution for "User location is not supported for the API use"
If you encounter the issue "User location is not supported for the API use", follow these steps to resolve it:
- Go to this palm-proxy repo and click "Deploy With Vercel".
- Once the deployment is complete, you will receive a domain name assigned by Vercel (e.g.,
https://xxx.vercel.app
). - In your Gemini Pro Chat project, set an environment variable named
API_BASE_URL
with the value being the domain you got from deploying the gemini proxy (https://xxx.vercel.app
). - Redeploy your Gemini Pro Chat project to finalize the configuration. This should resolve the issue.
Thanks to antergone for providing this solution.
Deploy With Docker
Although this project provides a Dockerfile, there is currently a known bug with the Docker deployment method. I am actively working on fixing this issue. Therefore, Docker deployment is not recommended at this moment. If any contributors have a solution to fix this bug, your contributions are highly welcomed. Please feel free to submit a Pull Request (PR) to help me resolve this issue.