Warning
Providing generative AI services within the territory of the People's Republic of China must comply with the "Interim Measures for the Administration of Generative AI Services".
Introduction#
Recently, Sora, released by OpenAI, has become the hottest topic in the field of GAI (Generative Artificial Intelligence). Coincidentally, Gemini Pro 1.5 was also released on the same day as Sora, but it was overshadowed by Sora.
In fact, Google's Gemini Pro 1.5 is also very powerful (details can be found in the link above). The blogger has already applied for testing permission for this model. While waiting, let's experience Gemini Pro 1.0.
API Application#
As we all know, due to certain reasons, mainland Chinese users cannot directly use Gemini. Here is a list of supported countries and regions.
After using a corresponding region's proxy, we can start the process of obtaining an API Key. Visit this link and follow the instructions on the page to obtain your API Key. Be sure to keep your API Key confidential.
Regular users can use the Gemini Pro 1.0 model for free, while the Ultra model requires payment.
Using Cloudflare Workers as Reverse Proxy#
The official API provided by Google cannot be accessed normally in China. Therefore, we can make it accessible in the Chinese environment by using a reverse proxy. To do this, we need a domain and a Cloudflare account, and add them to Cloudflare. The specific steps are not described in this article.
Visit dash.cloudflare.com to access the Cloudflare dashboard, and click on the Workers and Pages options in the sidebar.
Click on Create Application.
Click on Create Worker.
You can choose any name you like, or use the default one. Then click on the Deploy button. After deployment, click on the Edit Code button.
You will enter an editor interface. Delete the preset code and enter the following code:
export default {
async fetch(request, env) {
const url = new URL(request.url);
url.host = 'generativelanguage.googleapis.com';
return fetch(new Request(url, request))
}
}
Click on the Save and Deploy button in the upper right corner. Your Gemini API reverse proxy is now ready, and you can use the address of your workers as a substitute for the Google-provided API address. However, since the default address of workers is blocked by the GFW, we need to add our own domain.
On the Workers page, select the Triggers tab and click on the Add a custom domain button. (Note: The domain added here must be a domain that has already been bound in Cloudflare.)
After that, we can use our own domain to access the Gemini API.
Frontend Deployment#
Next, we just need to use projects like ChatGPT-Next-Web or GeminiProChat, fill in our API key and the API link of the reverse proxy, and we can use the Gemini Pro 1.0 model for free. The limit is 60 requests per minute, which is quite generous. Let's take ChatGPT-Next-Web as an example. Visit its code repository and click on Fork in the upper right corner.
Click on Next all the way.
Then, visit Vercel and log in directly with your GitHub account.
Click on Add New... in the upper right corner and select Project from the dropdown menu. In the Import Git Repository section, select the repository you just forked and click on Import.
Under the Environment Variables section, fill in the environment variables according to the project's guide. Below is an example of my environment variables for your reference.
Google_URL is the link to your reverse proxy API, the second field specifies the displayed model, and the third field is the API Key you obtained from Google. Click Next all the way, and the frontend environment will be deployed. To make it more convenient to access, you can add your own domain in the Domain tab of the Settings page.
Mission accomplished#
Now, when you visit the domain assigned to your project, you can start a conversation in the chat interface.
The steps for deploying GeminiProChat are similar.