Warning
Generating AI services provided within the territory of the People's Republic of China must comply with the "Interim Measures for the Administration of Generating 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, users in mainland China cannot directly use Gemini. Here is a list of supported countries and regions.
After using a corresponding proxy for the region, we can start the process of obtaining an API Key. Visit this link and follow the instructions on the page to obtain the 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, so we use reverse proxy to enable it to be accessed in the Chinese environment. 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 or use the default name. 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 instead of 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 Custom Domain button. (Note: The domain added here must be a domain that has been bound in Cloudflare.)
After that, we can use our own domain to access the Gemini API.
Frontend Deployment#
Next, we only need to use projects like ChatGPT-Next-Web or GeminiProChat, fill in our own API key and the reverse proxy API link to 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 GitHub.
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 that was 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 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. After confirming, the frontend environment is deployed. To make access more convenient, you can add your own domain in the Domain tab of the Settings page.
Mission accomplished#
Now, when we visit the domain assigned to the project, we can see the chat interface and start a conversation.
The steps to deploy GeminiProChat are similar.