国内AI开发者如何最小成本调用openai接口?

2023-04-2308:53:42人工智能与大数据26,648 views1字数 1337阅读模式

ChatGPT最近几个月可算是火爆了,但是在使用的时候你是否遇到以下问题:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

1. 国内网络受限,无法直接访问
2. 页面停留几分钟后token就过期了,必须频繁的刷新页面
3. 自己写个后台部署还得买个国外的服务器

如果你也被以上问题困扰,不妨往下看,你现在面临的正是我所经历的,这篇文章或许能够给你提供一些帮助。
针对以上问题有很多种解决方案,网络受限我们可以选择购买vpn;token过期我们可以升级plus;后端调不通openai的接口,我们可以选择国外的服务器,或者服务器上装代理;那有没有更完美的解决方案呢?今天给大家分享一个通过cloudflare实现最小成本代理openai的方案。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

废话不多说,上Demo,亲测可用。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

传送门文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

第一步:注册cloudflare账号

前往cloudflare官网注册一个账号
国内AI开发者如何最小成本调用openai接口?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

第二步:创建worker,进行请求中转

国内AI开发者如何最小成本调用openai接口?
国内AI开发者如何最小成本调用openai接口?
国内AI开发者如何最小成本调用openai接口?
国内AI开发者如何最小成本调用openai接口?
将此js代码替换上图左侧部分的代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

export default {
  async fetch(request, env) {
    return await handleRequest(request)
  }
}


async function handleRequest(request) {
  // 定义目标服务器的地址
  const url = new URL(request.url)
  const targetUrl = 'https://api.openai.com'

  // 构造新的请求对象
  const proxyRequest = new Request(targetUrl + url.pathname + url.search, {
    method: request.method,
    headers: request.headers,
    body: request.body
  })

  // 发送请求到目标服务器
  const response = await fetch(proxyRequest)

  // 构造新的响应对象
  const proxyResponse = new Response(response.body, {
    status: response.status,
    statusText: response.statusText,
    headers: response.headers
  })

  // 返回响应给客户端
  return proxyResponse
}

点击保存并发布,至此,域名转发配置完成。但是workers.dev在国内依然无法访问,这时我们需要一个国内可访问的域名来转发。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

第三步:域名转发

国内AI开发者如何最小成本调用openai接口?
回到workers首页,找到刚才添加的server,点击进入详情。
国内AI开发者如何最小成本调用openai接口?
国内AI开发者如何最小成本调用openai接口?
此处需注意,如果已经有域名的直接填入即可,没有的需要去注册一个,国内平台注册域名需要备案才行,如果觉得备案麻烦,可以就在cloudflare上购买,大概一年30元左右,比起购买国外的服务器和VPN来说实惠不少。
国内AI开发者如何最小成本调用openai接口?
实际支付截图
国内AI开发者如何最小成本调用openai接口?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

第四步:使用中转域名

import openai
openai.api_base = '[刚才填写的域名]/v1'  # 注意后面/v1不可省略
openai.api_key = '[你的openai key]'
openai.ChatCompletion.create(
        model='gpt-3.5-turbo-0301',
        messages=[messages],
        stream=stream
    )

最后,愉快的玩耍去吧~文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ai/36616.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ai/36616.html
Comments  2  访客  2
    • Bosco 0

      感谢作者的教程!

      • yangyang 0

        感谢,直接白嫖

      Comment

      匿名网友 填写信息

      :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

      确定