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 author 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 well-known reasons, mainland Chinese users are unable to 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 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 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 the Deploy button. After deployment, click 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 the Save and Deploy button in the upper right corner. Now your Gemini API reverse proxy is ready. 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 the Add a 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 API key and the reverse proxy API link, 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 Fork in the upper right corner.
Click Next all the way.
Then visit Vercel and log in directly with GitHub.
Click 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 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 own reverse proxy API, the second column specifies the displayed model, and the third column 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 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.