当我想用ChatGPT-Next-Web来套壳Azure OpenAI Service时

使用Cloudflare worker来代理Azure OpenAI API, 并将其转换为兼容OpenAI的API 一直没能搞定OpenAI的订阅, 就因为没有搞定国外的信用卡&#xff

使用Cloudflare worker来代理Azure OpenAI API, 并将其转换为兼容OpenAI的API

一直没能搞定OpenAI的订阅, 就因为没有搞定国外的信用卡, 所以就一直使用GPT-3.5来处理日常的文字生成工作, 例如写文档, 生成一些简单的脚本和程序代码以及帮助review代码。 偶尔会通过Azure 的 AI Studio来调用gpt-4的模型, 总觉得对话内容和3.5差不多, 最近公司有想做职能文档助理或者职能技术支持的功能, 为了能灌入一些知识库的内容, 不得不去Azure上弄一下Customized Model, 由于Azure的Portal有些慢, 所以想到了目前比较流行的ChatGPT Web UI, 也就是本文要说的ChatGPT-Next-Web.

搞定ChatGPT-Next-Web

这个比较简单, 使用Docker的话, 真的就是一行命令, 不过, 问题是, 我发现它对Azure OpenAI API支持等于零, 所以, 在搞定这个之前, 还得想个曲线救国的办法, 于是, 我想到, 要不我自己用Python来做一个API Wrap, 于是, 我开始准备卷。。。

但是, 懒虫如我, 怎么可能就这么轻易得开始自己写代码? 或者, 我还会写代码吗? 自从用了这些AI工具后, 我的大脑就一直处于躺平状态, 于是, 找到了这个

GitHub - hbsgithub/deno-azure-openai-proxy: One-click deploy! Free to use, no server required. A…

One-click deploy! Free to use, no server required. A Deno Deploy script to proxy OpenAI's request to Azure OpenAI…

github

和这个

GitHub - haibbo/cf-openai-azure-proxy: A Cloudflare worker script to proxy OpenAI's request to…

A Cloudflare worker script to proxy OpenAI's request to Azure OpenAI Service - haibbo/cf-openai-azure-proxy

github

因为我有在使用cloudflare, 所以我决定试一试Cloudflare worker来代理Azure OpenAI API, 并将其转换为兼容OpenAI API格式。

Cloudflare Work 运行 cf-openai-azure-proxy

这个proxy代码真的很简单, 就一个js文件, copy到Cloudflare的worker里就好, 这是具体的步骤

新建一个worker application

登录到Cloudflare dashboard, 在左边的菜单上进入Workers & Pages, 并从右上角点击 Create application, 并且进入Worker界面后, Create Worder。

创建一个新的Worker Application

创建一个worker

部署我们的Worker

接下来我们就可以部署一个新的worker, 为我们的worker取一个名字, 这里我称之为 “my-azure-openai-wrapper-01”

部署一个新的worker

这里, 我们不需要修改代码, 而是直接点 Deploy. 因为部署后, 我们就可以编辑代码了。

编辑Worker代码

编辑代码

到这步就可以选择 Edit code来编辑代码,我们将

https://raw.githubusercontent/haibbo/cf-openai-azure-proxy/main/cf-openai-azure-proxy.js

这里的代码Copy到代码框里。

红色框里的是需要修改的代码, 这里的信息, 我们可以在Azure Portal里找到。

修改 Worker 代码

进入到Azure Portal, 并搜索OpenAI, 这时候会跳出产品, 我们直接选择进入到Azure OpenAI

// The name of your Azure OpenAI Resource.
const resourceName="xx-openai-inst-1"

将代码中的 resourceName的值修改为你的Azure OpenAI的实例名称

然后进入到实例, 并部署我们要使用的模型

说实话, Azure Portal里的OpenAI Studio网页加载太慢了, 这也是为什么会有这篇文章的原因, 哈哈。

已经部署好的模型

这里就可以看到我们可以使用的模型了, 这里我们把代码中的mapper部分也改成我们的模型部署名称

// The deployment name you chose when you deployed the model.
const mapper = {
    'gpt-3.5-turbo': "general-gpt35-turbo-deployment-1",
    'gpt-3.5-turbo-0613': "general-gpt35-turbo-deployment-1",
//   'gpt-3.5-turbo-1106': DEPLOY_NAME_GPT35,
  // 'gpt-3.5-turbo-16k': DEPLOY_NAME_GPT35,
    'gpt-4': "general-gpt4-deployment-1",
    'gpt-4-0613': "general-gpt4-deployment-1",
  // 'gpt-4-1106-preview': DEPLOY_NAME_GPT4,
  // 'gpt-4-32k': DEPLOY_NAME_GPT4,
  // 'dall-e-3': typeof DEPLOY_NAME_DALLE3 !== 'undefined' ? DEPLOY_NAME_DALLE3 : "dalle3",
};

有些模型没有部署, 自然就不需要填写了, 我们这里先就使用这两个模型,

GPT-3.5和GPT-4,修改好就回到Cloudflare的网页上, 点Save and deploy.

完成Cloudflare Worker的部署

在截图的这两处都可以获取到我们刚刚设置的worker的URL

把这个URL记录下来, 我们接下来要在 ChatGPT-Next-Web里要用。

使用Docker部署和配置ChatGPT-Next-Web

为了简化部署的过程, 我们这里直接使用Docker compose来完成Web UI的部署和配置, 如果你的电脑上已经安装了Docker和Docker compose, 那么恭喜你, 不需要再做其他的工作, 我们直接创建一个文件夹, chatgpt-next-web, 然后新建一个文件名叫 docker-compose.yml

version: "3.9"
services:
  chatgpt-next-web:
    container_name: chatgpt-next-web
    image: yidadaa/chatgpt-next-web
    ports:
      - 18303:3000
    environment:
      - OPENAI_API_KEY=这里有个key哦
      - GOOGLE_API_KEY=$GOOGLE_API_KEY
      - CODE=这里可以存个admin密码哦
      - BASE_URL=https://my-azure-openai-wrapper-01.xxxxxxxx.workers.dev/
      - OPENAI_ORG_ID=这里是Azure OpenAI的订阅ID
      - HIDE_USER_API_KEY=$HIDE_USER_API_KEY
      - DISABLE_GPT4=$DISABLE_GPT4
      - ENABLE_BALANCE_QUERY=$ENABLE_BALANCE_QUERY
      - DISABLE_FAST_LINK=$DISABLE_FAST_LINK
      - OPENAI_SB=$OPENAI_SB

需要你修改的部分:

OPENAI_API_KEY
CODE
BASE_URL
OPENAI_ORG_ID

这些信息哪里找呢?

还记得之前要记录的URL么?

这个就是BASE_URL了。

首先 CODE 可以随便填, 这里是你登录到ChatGPT-Next-Web的密码, 我们就设置为 CHATGPT2024 好了, OPENAI_API_KEY, OPENAI_ORG_ID这两个可以在这里找, 首先 ORG_ID就是下图中的Subscription ID

然后在 Keys and Endpoint 里就可以看到 API_KEY了

一切就绪, 运行ChatGPT-Next-Web

docker compose up -d

然后打开浏览器, 进入 http://docker-host-ip:18303

这里docker-host-ip 就是你刚刚运行docker compose的那个电脑的ip, 通常我们做实验都是在本机做, 那么就使用 http://localhost:18303, 应该就可以看到

输入我们先前设置的CODE, CHATGPT2024 ,然后在OpenAI API Key输入我们之前在Azure 里copy来的API_KEY, 为什么这里还要输入, 我也不是很清楚, 明明我们在环境变量里已经配置了, 还望知道的朋友告诉我。

进去后, 我们可以在输入框上方选择一个模型, 这里我选择GPT-4

大功告成。 希望大家喜欢这个教程, 如果有问题, 也欢迎在下方留言探讨。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1733930872a3732297.html

相关推荐

  • 有形皆误,实用者存---ChatGPT o3作答

    “All models are wrong, but some are useful.”——George E. P. Box 出处 统计学家 George E. P. Box 在 1976 年《Journal of the American

    1月前
    120
  • 不止ChatGPT!2024年最值得试的20款AI写作工具!

    在当今信息爆炸的时代,无论是在新媒体行业中撰写文案,还是在学术领域编写科研论文,甚至是日常的工作总结,写作需求无处不在。尤其是在面对紧急任务时&

    1月前
    230
  • 文心一言 VS 讯飞星火 VS chatgpt (306)-- 算法导论22.2 4题

    四、如果将输入的图用邻接矩阵来表示,并修改算法来应对此种形式的输入,请问BFS的运行时间将是多少?如果要写代码,请用go语言。 文心一言: 在图论中,广度优先搜索(BFS, Breadth-First Search)是一种用于遍历或搜索

    1月前
    150
  • 关于让Chatgpt给我写spiffs文件系统这件事

    网上的SPIFFS看了好多没看到具体的SPIFFS文件配置 找了半天给我找红温了SPIFFS它是ESP32的一个文件系统 VSCODE的IDF是自带的,但是需要配置,搞得不是很明白但是最后还是能跑了 以后再细研究.用这个的目的主要是需要搞一

    1月前
    240
  • 文心一言 VS 讯飞星火 VS chatgpt (388)-- 算法导论24.5 8题

    八、设 G=(V,E)G=(V,E)G=(V,E) 为一个带权重的有向图,且包含一个可以从源结点 sss 到达的权重为负值的环路。请说明如何构造一个 GGG 的边的松弛操作的无限序列,使得每一步松弛操作都能对某一个最短路径估计值进行更新。如

    1月前
    170
  • Windows Phone 8 模拟器 - 访问localhost Web 服务

    Windows Phone 8 模拟器采用Hyper-V 虚拟化,  使用localhost访问服务时,localhost指向的是模拟器本身而不是运行模拟器的PC。如果使用IIS Express部署Web服务&

    1月前
    180
  • I Love ChatGPT网站展示

    3秒快速看懂IMYAI: IMYAI,原名ILoveChatGPT,是图欧学习资源库、图欧学习资源导航站、皮卡搜索站长、学习资源船舱船长以及B站UP主图欧君联合图欧科技团队&

    1月前
    180
  • 3个好用免费的ChatGPT网站

    AI 大模型的出现给时代带来了深远的影响: 改变了产业格局:AI 大模型的发展推动了人工智能技术在各行业的广泛应用,改变了传统产业的运作方式,促进了新兴产业的崛起,如智能驾驶、医疗健康、金融科技等。 提升了科学研究水平:AI 大模型的应用加

    1月前
    220
  • 用ChatGPT快速打造一个专业WordPress网站

    作为一个使用HostEase多年的老用户,我想和大家分享一下如何利用HostEase和ChatGPT快速构建一个WordPress网站的经验。这不仅仅是一个简单的操作步骤,更是一次从零到有的实战经

    1月前
    170
  • chatGPT侧边栏历史记录消失解决方法

    从昨天3月8日开始,很多程序员发现自己的chatGPT打开后左侧侧边栏历史记录消失了,自己辛辛苦苦测试的Prompt都没有了,折腾了很久都不行,不得不重新写Prompt; 【解决方法】 其实很简单,就是退出账号登录,然后重新登录账号再刷新就

    1月前
    200
  • ChatGPT高效使用小技巧

    如果你还是不会ChatGPT使用方法的话,请点赞、关注、评论,我将会持续更新我的使用小技巧技巧1:让ChatGPT扮演专家角色ChatGPT的大量训练数据源自互联网&

    1月前
    190
  • 如何借助ChatGPT高效生成PPT

    目录 1、利用ChatGPT生成PPT文本内容 2、使用MindShow生成PPT 3、个人使用感受 1、利用ChatGPT生成PPT文本内容 案例如下: 在ChatGPT中输入如下内容&#xff1a

    1月前
    150
  • ChatGPT 搜索来啦~ChatGPT Search 正式开启内测!附申请地址

    ChatGPT Search 现已开启内测,正式产品名为 SearchGPT。想要体验这一全新搜索工具的用户可以通过以下地址申请加入: 申请地址 点击链接即可加入等待名单&#xff08

    1月前
    110
  • ChatGPT Agent深度解析:告别单纯问答,一个指令搞定复杂任务?

    名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder

    1月前
    170
  • ChatGPT在数据处理中的应用

    ChatGPT在数据处理中的应用 今天的这篇文章,让我不断体会AI的强大,愿人类社会在AI的助力下走向更加灿烂辉煌的明天。 扫描下面二维码注册​ 数据处理是贯穿整个数据分析过程的关键步骤,主要是对数据进行各种操作,以达到最终的分析

    1月前
    230
  • 50个顶级的ChatGPT学术论文指令,强烈建议收藏!

    目录一、学术角色预设1、学术角色2、论文评审专家二、论文撰写指令1、写标题2、写英文标题3、写摘要4、写英文摘要指令5、缩写名称6、论文续写7、论文致谢8、论文大纲三、学术润色指令1、英文润色12、英文润色23、中文润色4、SCI论文润色5

    1月前
    180
  • 腾讯云 Web 超级播放器开发实战

    目录 关于超级播放器 范例运行环境 开发前准备 设计与实现 初始化播放器 播放器重要属性设置 播放器实用事件 一些兼容性判断 浏览器支持 关于华为手机 实现代码 小结 关于超级播放器 腾讯云 Web 超级播放器 TCP

    1月前
    180
  • 【亲测免费】 wsPlayer:基于WebSocket-fmp4的Web视频播放器

    wsPlayer:基于WebSocket-fmp4的Web视频播放器项目基础介绍和主要编程语言wsPlayer是一款专注于WebSocket-fmp4协议的Web视频播放器,主要使用JavaS

    1月前
    250
  • WEB版 音乐播放器

    这个项目主要用到的是vue2axiosvue-routervuexelementUI 所有的数据均来源于 网易云API,部分API由于使用问题做了一些替换。 重点模块 主页面框架(

    1月前
    180
  • Telnet 登录和web登录

    文章目录Telnet 登录和web登录Web登录管理Telnet 登录和web登录 实验拓扑&#xff1a; Cloud设置中需要添加UDP和一个虚拟网卡的地址&#xff0c;虚拟网卡的地址可以自己配置 <AC660

    1月前
    200

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信