众所周知,openai の API ウェブサイトは既に汚染されており、中国本土のユーザーはアクセスできません。直接 ChatGPT を使用することはできませんが、openai が提供する API キーを使用してローカルデプロイメントを行うことができます。ただし、API ウェブサイトがブロックされたため、ローカルデプロイメントも魔法が必要です。実際、Cloudflare Workers を使用して openai の API ブロックを解消し、魔法なしで ChatGPT の楽しみを存分に味わうことができます。
準備作業#
- 自分のドメイン(Workers もブロックされているため)
- 自分のドメインを Cloudflare に移管する
ドメインを Cloudflare に移管する#
Cloudflare のホームページにログインし、サイトの追加を見つけて自分のドメインを入力し、指示に従って進めれば、通常 1 時間以内に解析が完了します。ここでは簡単なので、私はワーカーのデプロイメントに重点を置いて説明します。
ワーカーのデプロイメントを開始する#
コンソールのホームページに戻り、サイドバーのワーカーを見つけて、右上にある「サービスの作成」をクリックします。
そして、このサービスに名前を付けて、単に「サービスの作成」をクリックします。
作成が完了すると、自動的にこのサービスに戻ります。右上の「クイックエディット」をクリックします。
次に、以下のコードを左側のエディタのコードに置き換えます。
const TELEGRAPH_URL = 'https://api.openai.com';
addEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
async function handleRequest(request) {
const url = new URL(request.url);
url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');
const modifiedRequest = new Request(url.toString(), {
headers: request.headers,
method: request.method,
body: request.body,
redirect: 'follow'
});
const response = await fetch(modifiedRequest);
const modifiedResponse = new Response(response.body, response);
// クロスオリジンアクセスを許可するレスポンスヘッダーを追加
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
return modifiedResponse;
}
そして、下部の「保存してデプロイ」をクリックします!
しかし、この時点では、あなたのワーカーにアクセスすることはできません。自分が Cloudflare に移管したドメインをバインドする必要があります。プロジェクトに戻り、「トリガー」を見つけます!
そして、ドメインをバインドします!
これで、このドメインを openai の API インターフェースドメインとして使用することができます!