20块完成个人的AI调用服务,无需magic

124 阅读2分钟

前言

3月份做的搭建,目前稳定运行近一年了,方法亲测稳定可靠~

为啥要自己接入?

  1. 国内无法直接访问openAi接口;
  2. 使用其他人的工具服务,可能泄漏隐私和你的apikey,另外有被封号的风险;
  3. 个人定制开发,主动权在自己手上玩一玩都很香,例如,可以标准化常用的promto做个个人助手;
  4. 本文简单讲一下流程,以大神们提供的教程为主,如果有需要可以把细节补充完整~

准备工作

  1. 解决国内无法访问chatgpt的问题,参考文档:使用 Cloudflare Workers 解决 OpenAI 和 ChatGPT 的 API 无法访问的问题

主要思路是使用 Cloudflare 的 Workers (serverless服务)来转发 OpenAI 的 API 的地址,Cloudflare提供了每天10w次的免费调用量,一般使用完全足够了;

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;
}
  1. 有自己的域名可跳过这一步,由于没可用域名绑定cloudflare的workers,我在namesoli上购买了一个(域名理论上可以通过freenom免费申请),1美金/年,参考:5分钟了解NameSilo域名教程

  2. 可以使用推荐码优惠1美金左右;

  3. 要先注册完成邮箱验证,否则可能出现付了钱域名没到账的bug还需要走客服解决;

  4. 有域名之后,只要在Cloudflare上绑定一下,并且设置workers的自定义域名就完工了

  5. 后面就可以把接口中间的部分换成你的个人域名了https://${customer}/v1/chat/completions

  6. 申请chatgpt的apikey,这一步互联网上攻略比较多

  7. 先行注册 sms-activate.org

  8. 注册好之后进行对应的充值(目前最低2美金)

  9. 搜索openai服务购买即可

  10. 打开openAi官网注册账号(这步要magic),邮箱注册自己搞定,短信验证码就使用上面的sms平台接收短信;

  11. 以上完工后,就可以使用自己的域名访问到openai的接口了~