草庐IT

整理了一份github上比较热门的ChatGPT项目,值得收藏

didiplus 2023-04-18 原文

ChatGPT已经火了一段时间了,但是,热度依旧是各大自媒体的热榜。由于,国内不能直接访问ChatGPT,国内的开发者依托OpenAI的接口,开发出一些ChatGPT的应用。今天就整理一下github上最热门的ChatGPT项目。

lencx/ChatGPT

该项目是ChatGPT桌面应用,目前支持Mac, WindowsLinux。该项目在github上已经获取了24.8k的star数量。

功能预览

  • 导出 ChatGPT 聊天记录 (支持 PNG, PDF 和生成分享链接)
  • 主窗口和系统托盘支持自定义 URL,将任意网站包装成一个桌面应用
  • 应用自动升级通知
  • 丰富的快捷键
  • 系统托盘悬浮窗
  • 应用菜单功能强大
  • 支持斜杠命令及其配置
  • 自定义全局快捷键
  • 划词搜索

项目地址: https://github.com/lencx/ChatGPT

acheong08/ChatGPT

该项目是采用python开发的,目前项目在github上已经获取了21.7k的star数量。执行下面的命令进行安装:

python -m pip install --upgrade revChatGPT

在命令行使用

先设置api-key,执行如下命令:

python3 -m revChatGPT.V3 --api_key <api_key>

如果不知道用法,可以在命令行中输入如下命令查看:

 $ python3 -m revChatGPT.V3 -h

    ChatGPT - Official ChatGPT API
    Repo: github.com/acheong08/ChatGPT

Type '!help' to show a full list of commands
Press Esc followed by Enter or Alt+Enter to send a message.

usage: V3.py [-h] --api_key API_KEY [--temperature TEMPERATURE] [--no_stream]
             [--base_prompt BASE_PROMPT] [--proxy PROXY] [--top_p TOP_P]
             [--reply_count REPLY_COUNT] [--enable_internet] [--config CONFIG]
             [--submit_key SUBMIT_KEY]
             [--model {gpt-3.5-turbo,gpt-4,gpt-4-32k}]

options:
  -h, --help            show this help message and exit
  --api_key API_KEY     OpenAI API key
  --temperature TEMPERATURE
                        Temperature for response
  --no_stream           Disable streaming
  --base_prompt BASE_PROMPT
                        Base prompt for chatbot
  --proxy PROXY         Proxy address
  --top_p TOP_P         Top p for response
  --reply_count REPLY_COUNT
                        Number of replies for each prompt
  --enable_internet     Allow ChatGPT to search the internet
  --config CONFIG       Path to V3 config json file
  --submit_key SUBMIT_KEY
                        Custom submit key for chatbot. For more information on keys, see https://python-prompt-toolkit.readthedocs.io/en/stable/pages/advanced_topics/key_bindings.html#list-of-special-keys
  --model {gpt-3.5-turbo,gpt-4,gpt-4-32k}
  

开发API

可以使用该模块进行二次开发,开发自己的API接口。下面是一个简单的例子:

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
chatbot.ask("Hello world")

如果,想要以流的形式返回,可以使用如下的代码:

from revChatGPT.V3 import Chatbot
chatbot = Chatbot(api_key="<api_key>")
for data in chatbot.ask("Hello world"):
    print(data, end="", flush=True)

该仓库的活跃度很高,有很多的开发者在维护中。如何遇到什么问题都可以在issues提问的。

项目地址: https://github.com/acheong08/ChatGPT

Chanzhaoyu/chatgpt-web

该项目是用ExpressVue3搭建的ChatGPT演示网页,支持双模型,提供了两种非官方ChatGPT API方法:

方式免费?工可靠性质量
ChatGPTAPI(gpt-3.5-turbo-0301)可靠相对较笨
hatGPTUnofficialProxyAPI(网页 accessToken)相对不可靠聪明

部署方法,仓库已经写的很详细了,这里不过多介绍,感兴趣的可以动手部署试试。整体的效果如下:

项目地址: https://github.com/acheong08/ChatGPT。
以下的网址(http://didiplus.kwpmp.cn:3002)是我部署了该项目在自己的服务器上,大家可以放心使用。使用之前需要验证,大家可以关注我的公众号(攻城狮成长日记),私信回复密码,即可获取

chatgpt-demo

该项目是一个基于OpenAI GPT-3.5 Turbo APIdemo。在github上已经获取了5.1k的star数量。整体的效果如下图:

部署方法仓库也有详细的文档,感谢的可以安装文档的部署,进行部署即可。

GaiZhenbiao/ChuanhuChatGPT

该项目实现为ChatGPT API提供了一个轻快好用的Web图形界面.目前该项目实现如下功能:

  • 实时回复
  • 无限对话
  • 保存对话记录
  • 预设Prompt集
  • 联网搜索
  • 根据文件回答
  • 渲染LaTex
  • 渲染表格
  • 渲染代码
  • 代码高亮

整体的效果如下:

项目地址: https://github.com/GaiZhenbiao/ChuanhuChatGPT

ChatGPT_JCM

项目使用Vue2进行开发,只是提供一个好看的GPT壳子。先来看看整体的效果:


这个项目相对简单,采用了以下的技术栈

名称年龄
vue2.6.14
element-ui2.15.12
NodeJS14.21.3
npm6.14.18

部署方式也很简单,就以下几个步骤:

  • 克隆项目到本地
git clone  git@github.com:202252197/ChatGPT_JCM.git
  • 下载依赖包
npm install
  • 运行
npm run serve

项目地址: https://github.com/202252197/ChatGPT_JCM

总结

上述这些项目都在github开源,它们不会有任何形式的卖号、付费服务、讨论群、讨论组等行为。谨防受骗。如果,你有其他的开源项目可以留言大家一起讨论的

有关整理了一份github上比较热门的ChatGPT项目,值得收藏的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - 建模收藏夹 - 2

    我希望将Favorite模型添加到我的User和Link模型。业务逻辑用户可以有多个链接(即可以添加多个链接)用户可以收藏多个链接(他们自己的或其他用户的)一个链接可以被多个用户收藏,但只有一个所有者我对如何为这种关联建模以及在模型就位后如何创建用户收藏夹感到困惑?classUser 最佳答案 下面的数据模型怎么样:classUser:destroyhas_many:favorite_links,:through=>:favorites,:source=>:linkendclassLink:destroyhas_many:favor

  3. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  6. Ruby 从大范围中获取第 n 个项目 - 2

    假设我有这个范围:("aaaaa".."zzzzz")如何在不事先/每次生成整个项目的情况下从范围中获取第N个项目? 最佳答案 一种快速简便的方法:("aaaaa".."zzzzz").first(42).last#==>"aaabp"如果出于某种原因你不得不一遍又一遍地这样做,或者如果你需要避免为前N个元素构建中间数组,你可以这样写:moduleEnumerabledefskip(n)returnto_enum:skip,nunlessblock_given?each_with_indexdo|item,index|yieldit

  7. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  8. ruby - 如何在 Ruby 字符串中插入项目符号字符? - 2

    我正在尝试创建一个带有项目符号字符的Ruby1.9.3字符串。str="•"+"helloworld"但是,当我输入它时,我收到有关非ASCII字符的语法错误。我该怎么做? 最佳答案 你可以把Unicode字符放在那里。str="\u2022"+"helloworld" 关于ruby-如何在Ruby字符串中插入项目符号字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1195

  9. 语法类似于 GitHub Flavored Markdown 的 Ruby markdown 解释器? - 2

    我使用Jekyll运行博客,并认为我会解决RedcarpetMarkdown解释器,因为它是developedandusedbyGitHub.好吧,我只是碰巧遇到了一个错误,去检查问题,然后foundthis.Maintainersays,"Asyouprobablyhavenoticed(harharharhar)Idon'thavetimetomaintainRedcarpetanymore.It'snotapriorityforme(IfindMarkdownthoroughlyboring)andit'snotapriorityforGitHub,becausewenolong

  10. ruby - 在 Rails 项目中测试本地版本的 gem - 2

    我的Rails站点使用了一个确实不是很好的gem。每次我需要做一些新的事情时,我最终不得不花费与向实际Rails项目添加代码一样多的时间来为gem添加功能。但我不介意,我将我的Gemfile设置为指向我的gem的GitHub分支(我尝试提交PR,但维护者似乎已经下台)。问题是我真的没有找到一种合理的方法来测试我添加到gem的新东西。在railsc中测试它会特别好,但我能想到的唯一方法是a)更改~/.rvm/gems/.../foo。rb,这看起来不对或者b)升级版本,推送到Github,然后运行​​bundleup,这除了耗时之外显然是一场灾难,因为我不确定我所做的promise是否正

随机推荐