banner
老言

老言博客

There's no such thing as a free lunch except web3.
x
telegram
github
discord server

Cloudflare Workersを使用して、openaiのAPIにアクセスできない問題を解決します。

众所周知,openai の API ウェブサイトは既に汚染されており、中国本土のユーザーはアクセスできません。直接 ChatGPT を使用することはできませんが、openai が提供する API キーを使用してローカルデプロイメントを行うことができます。ただし、API ウェブサイトがブロックされたため、ローカルデプロイメントも魔法が必要です。実際、Cloudflare Workers を使用して openai の API ブロックを解消し、魔法なしで ChatGPT の楽しみを存分に味わうことができます。

a.png

準備作業#

  1. 自分のドメイン(Workers もブロックされているため)
  2. 自分のドメインを Cloudflare に移管する

ドメインを Cloudflare に移管する#

Cloudflare のホームページにログインし、サイトの追加を見つけて自分のドメインを入力し、指示に従って進めれば、通常 1 時間以内に解析が完了します。ここでは簡単なので、私はワーカーのデプロイメントに重点を置いて説明します。

WX20230421-105607@2x.png

ワーカーのデプロイメントを開始する#

コンソールのホームページに戻り、サイドバーのワーカーを見つけて、右上にある「サービスの作成」をクリックします。

wk.jpg

そして、このサービスに名前を付けて、単に「サービスの作成」をクリックします。

1111.jpg

作成が完了すると、自動的にこのサービスに戻ります。右上の「クイックエディット」をクリックします。

222.png

次に、以下のコードを左側のエディタのコードに置き換えます。

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 に移管したドメインをバインドする必要があります。プロジェクトに戻り、「トリガー」を見つけます!

333.png

そして、ドメインをバインドします!

yuming.gif

これで、このドメインを openai の API インターフェースドメインとして使用することができます!

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。