现在其实已经有很多在线的llm服务了,当然也存在许多开源部署方案,但是不知道大家有没有发现一个问题,目前基于ChatGPT开发的应用,都是使用的OpenAI的接口。换句话说,如果没有OpenAI账号,就没有办法使用这些应用。但是其实这些应用并不是强依赖于OpenAI的接口,其他的在线llm服务也是可以的,如claude、cohere等,自己部署的模型当然也行。

假如有这么一个东西,可以让你不再受限于只能使用OpenAI接口,相信工作问题将可以更快解决,早早下班指日可待。受于claude-to-chatgpt启发,于是我决定做一个这样的项目,to-chatgpt,让我们可以更加随意自由地使用所有ChatGPT应用!!!

运行说明

使用之前,需要保证当前服务可以访问相关的llm服务,比如说claude、cohere都有区域限制。至于这么处理这个限制,github上有很多方案,搜索一下就知道了,提示只能这么多了。

adapter 参数

值得注意的是,目前有两种适配器,一种是异步的,一种是同步的。 决定使用哪个类别的因素是当前访问在线LLM服务的sdk。如果提供了异步接口,则优先考虑异步实现。

通过-a指定适配器,目前已经实现的适配器包括了:

异步适配器:

  • claude,使用 anthropic-sdk-python 实现。 活期账户需要申请,成功后可免费使用,供个人日常使用。
  • cohere,使用 cohere-python 实现。 只需要注册一个账号,个人就可以免费使用,但是有频率限制,一分钟五次。
  • new_bing,使用 EdgeGPT 实现,EdgeGPT 是微软 Bing Chat AI 的逆向工程 API。 因为目前new bing没有提供官方sdk,所以这种方式不稳定。

同步适配器:

  • bard,使用 Bard 实现,是 Google Bard 的逆向工程 API,不稳定。

如果想在 ChatGPT 应用程序中使用 cohere api,你只需要启动服务,如:

python app.py -a cohere

还有一点需要注意的是,因为有些API是非异步的,比如现在的bard,需要运行app_sync.py文件,比如:

python app_sync.py -a bard

源码运行

git clone https://github.com/SimFG/to-chatgpt
cd to-chatgpt pip install poetry
poetry install
python app.py -a new_bing

docker 运行

docker pull simfg/to_chatgpt:latest

docker run -d -p 8000:8000 simfg/to_chatgpt:0.1

指定adapter运行

docker run -d -p 8000:8000 simfg/to_chatgpt:latest poetry run python app.py -a new_bing

使用说明

如果发现服务没有正常响应,可以查看服务控制台是否有错误输出,很可能访问llm服务有问题。

如果要指定服务的端口,可以使用-p参数。

将chatgpt应用中的openai base url设置为服务地址。 一般这个选项在openai api key附近。

不同的适配器有不同的使用方法,说明如下。

  • claude

    启动服务后,在需要OPENAI_API_KEY的地方指定claude服务的api key。

  • cohere

    启动服务后,在需要OPENAI_API_KEY的地方指定cohere服务的api key。

  • new_bing

    不需要设置,但不稳定。

  • bard

    启动服务后,在需要OPENAI_API_KEY的地方指定__Secure-1PSID cookie。

cookie获取方式:

  • F12 控制台
  • 复制值
    • 会话:转到应用程序 → Cookie → __Secure-1PSID。 复制该 cookie 的值。

更多细节:Bard

如果你认为项目不错,帮忙Github star and star,感谢感谢

To ChatGPT:让你更加随意地使用所有ChatGPT应用的更多相关文章

  1. 快速使用ChatGpt Web Server

    快速使用ChatGpt Web Server ChatGpt Web Server是使用Blazor Server模式部署的一个服务,所有的逻辑和代码执行都会在服务器执行,然后通过SignalR传输到 ...

  2. 玩 ChatGPT 的正确姿势「GitHub 热点速览 v.22.49」

    火了一周的 ChatGPT,HG 不允许还有小伙伴不知道这个东西是什么?简单来说就是,你可以让它扮演任何事物,据说已经有人用它开始了颜色文学创作.因为它太火了,所以,本周特推在几十个带有"c ...

  3. 如何使用ChatGPT来自动化Python任务

    1.概述 最近,比较火热的ChatGPT很受欢迎.今天,笔者为大家来介绍一下ChatGPT能做哪些事情. 2.内容 ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人.它的目标是让A ...

  4. ChatGPT/InstructGPT详解

    作者:京东零售 刘岩 前言 GPT系列是OpenAI的一系列预训练文章,GPT的全称是Generative Pre-Trained Transformer,顾名思义,GPT的目的就是通过Transfo ...

  5. ChatGPT与人工智能

    一.ChatGPT相关信息 1.微软新版Bing搜索引擎集成ChatGPT,访问地址:https://www.bing.com/new 2.谷歌版ChatGPT灾难级发布,市值一夜狂跌7000亿,熬夜 ...

  6. 用ChatGPT来了解ChatGPT

    用ChatGPT来了解ChatGPT 之前学习一个新技术, 想着要搞清楚这6个问题(来自陈皓介绍的学习方法): 1.这个技术出现的背景, 初衷, 要达到什么样的目标或是要解决什么样的问题. 2.这个技 ...

  7. 你好 ChatGPT, 帮我看下这段代码有什么问题?

    点赞再看,动力无限. 微信搜「程序猿阿朗 」. 本文 Github.com/niumoo/JavaNotes 和 未读代码博客 已经收录,有很多系列文章. 今天一个很简单的功能,触发了一个 BUG,处 ...

  8. 冰河指南AI技术社区基于ChatGPT正式启动运营

    大家好,我是冰河~~ 最近ChatGPT真的太火了,科技圈几乎都在争相报导这个黑科技,它能够通过学习和理解人们的语言来和人类进行对话,能够与人们进行交流,甚至可以对你提出的问题进行分析,尽可能给出你想 ...

  9. ChatGPT国内镜像模板,国内使用ChatGPT中文版本

    @ 目录 一.什么是ChatGPT国内镜像 二.ChatGPT国内镜像使用教程 免费ChatGPT镜像的功能: 三.ChatGPT中文版作用 四.怎么使用ChatGPT国内镜像 五.中文ChatGPT ...

  10. 国内“谁”能实现chatgpt,短期穷出的类ChatGPT简评(算法侧角度为主),以及对MOSS、ChatYuan给出简评,一文带你深入了解宏观技术路线。

    1.ChatGPT简介[核心技术.技术局限] ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于202 ...

随机推荐

  1. python中的强制等待、隐性等待、显性等待

    运行结果过程中出现Unable to locate element时,1.先确定元素是否定位有误.2.再确定运行过程中是否等待不到位,可以截图,查看查找时页面的状态. 1.使用强制等待 --辅助 2. ...

  2. 聊聊spring中bean的作用域

    前言 今天分享一下spring bean的作用域,理解bean的作用域能够在使用过程中避免一些问题,bean的作用域也是spring bean创建过程中一个重要的点. Spring bean的作用域类 ...

  3. MordernC++之 auto 和 decltype

    在C++11标准中,auto作为关键字被引入,可以用来自动推导变量类型,auto可以用于定义变量,函数返回值,lambda表达式等,在定义变量时可以使用auto来代替具体类型,编译器根据变量初始化表达 ...

  4. AI时代下普通小程序员的想法

    在我接触了一系列AI技术后,不禁产生了许多思考.我先后尝试了AI编程.AI写论文.AI写小说.AI绘画等,最近看到了一些关于AI构建虚拟世界以及Auto-GPT的AI类新闻.在这个过程中,我心头涌现出 ...

  5. Django笔记二十四之数据库函数之比较和转换函数

    本文首发于公众号:Hunter后端 原文链接:Django笔记二十四之数据库函数之比较和转换函数 这一篇笔记开始介绍几种数据库函数,以下是几种函数及其作用 Cast 转换类型 Coalesce 优先取 ...

  6. java生成机器码

    java根据系统参数生成每个计算机的唯一标识. 1. 获取CPU序列号 /** * 获取CPU序列号 * @return * @throws IOException */ public static ...

  7. OpenFec介绍

    官网: http://openfec.org/accueil.html   1.提供的编解码器 Reed-Solomon stable codec over GF(28)                ...

  8. react中super()的理解

    首先 super() 是在 es6的class(类)的方法创建组件出现 下面是分别是构造函数创建组件和class(类)创建组件 构造函数方法创建组件 在构造函数方法中,在组件接收参数的时候,props ...

  9. NC17383 A Simple Problem with Integers

    题目链接 题目 题目描述 You have N integers A1, A2, ... , AN. You are asked to write a program to receive and e ...

  10. #PowerBI 1分钟学会,利用format函数,自定义格式显示

    PowerBI是一款强大的数据分析和可视化工具,它可以帮助我们快速地创建各种报表和仪表盘,展示数据的洞察和价值. 在PowerBI中,有许多内置的函数可以帮助我们处理和转换数据,其中一个常用的函数就是 ...