ChatGPTCLIBot: 一款功能强大的命令行ChatGPT机器人

Ray

ChatGPTCLIBot

ChatGPTCLIBot:命令行中的智能助手

ChatGPTCLIBot是一款基于命令行界面的ChatGPT机器人,由GitHub用户LagPixelLOL开发。该项目旨在为用户提供一种在终端中与ChatGPT模型进行交互的便捷方式,同时还增加了许多实用功能,以增强用户体验。

项目背景

ChatGPTCLIBot最初的开发目的是为了解决GPT-3模型4096 tokens的上下文限制问题。开发者认为这个上下文长度对于许多应用场景来说太短,因此通过使用Embeddings技术实现了近乎无限的上下文记忆功能。

然而,随着大型语言模型(LLMs)的快速发展,许多模型现在已经支持10万甚至更多tokens的上下文长度。同时,OpenAI、Google和Anthropic等大型AI公司也开始在其官方网站中集成RAG(检索增强生成)技术。这些变化使得ChatGPTCLIBot的一些核心优势不再那么突出。

项目现状

尽管ChatGPTCLIBot曾经在解决上下文限制方面发挥了重要作用,但随着技术的进步,项目作者LagPixelLOL宣布该项目将不再维护。作者表示,由于个人生活和其他项目的原因,无法继续投入时间更新这个仓库。

虽然项目不再活跃开发,但ChatGPTCLIBot仍然是一个功能丰富的命令行ChatGPT工具,为许多用户提供了便利。接下来,让我们深入了解这个项目的主要特性和使用方法。

核心功能

  1. 长期记忆支持:通过使用Embeddings技术,ChatGPTCLIBot能够存储近乎无限的上下文信息,极大地扩展了对话的连贯性和深度。

  2. 自定义文档问答:用户可以加载自定义文档,并基于这些文档进行问答,实现了类似于RAG的功能。

  3. 多种模型支持:支持运行gpt-3.5-turbo、text-davinci-003等多种GPT模型,还可以使用GPT-4和GPT-4-32k等新模型(需要有访问权限)。

  4. 流式输出:与ChatGPT官网类似,ChatGPTCLIBot支持实时流式显示API返回的内容,无需等待完整响应生成。

  5. 丰富的交互命令:

    • /stop: 结束并保存对话
    • /undo: 撤销上一次输入
    • /reset: 重置整个对话
    • /dump: 将对话历史导出为txt文件
  6. 自定义初始提示:用户可以在"initial"文件夹中放置txt文件来设置不同的初始提示。

  7. 对话保存和加载:支持将对话保存为JSON文件,并在下次使用时快速加载。

  8. 多行输入支持:通过Ctrl+N或Alt+Enter可以输入多行文本。

  9. 剪贴板支持:支持使用Ctrl+V粘贴文本。

  10. UTF-8支持:完全支持UTF-8,可以输入任何语言。

  11. 自动翻译:内置自动翻译功能,可以自动翻译文本文件。

  12. 系统代理支持:在Windows系统上可以自动使用系统代理(Linux和macOS暂不支持)。

技术实现

ChatGPTCLIBot使用C++语言开发,并利用了多个开源库来实现其功能:

  • Boost: 用于通用C++编程
  • cURL: 处理HTTP请求
  • nlohmann/json: JSON解析
  • libproxy: 系统代理支持
  • cpp-terminal: 终端操作
  • ftxui: 终端UI
  • oneTBB: 并行计算
  • clip: 剪贴板操作
  • cpp-tiktoken: token计数
  • pcre2: 正则表达式
  • utf8proc: UTF-8处理

使用方法

  1. 下载并运行:

    • Windows: 双击GPT3Bot.exerun.bat
    • Linux/macOS: 运行./GPT3Bot
  2. 配置:

    • config.json文件中可以切换模型和调整其他设置
  3. 初始提示:

    • 在"initial"文件夹中放置txt文件作为初始提示
    • 运行程序时直接回车,然后输入初始提示文件名即可加载
  4. 保存对话:

    • 使用/stop命令结束对话
    • 输入文件名保存,或直接回车跳过保存
  5. 加载已保存的对话:

    • 启动程序时输入"s"并回车
    • 输入保存的JSON文件名即可加载

支持的操作系统

  • Windows 10/11 64位
  • Linux 64位 (Ubuntu 20.04及以上, CentOS 8及以上)
  • macOS 64位 (macOS 12及以上)

项目展望

虽然ChatGPTCLIBot项目目前已停止维护,但它仍然为我们展示了如何在命令行环境中创建一个功能丰富的ChatGPT交互工具。对于那些偏好命令行界面或需要在服务器环境中使用ChatGPT的用户来说,这个项目仍然具有参考价值。

然而,考虑到大型语言模型和相关技术的快速发展,用户可能需要寻找更现代化的替代方案。项目作者推荐了几个优秀的GUI工具作为替代:

  1. SillyTavern: 适合角色扮演,并支持RAG功能。
  2. LobeChat: 适合通用LLM使用,但不支持RAG。
  3. BetterChatGPT: 专为OpenAI设计的通用LLM工具,UI与原始ChatGPT网站相似。

结语

ChatGPTCLIBot项目展示了开源社区如何快速响应新技术的出现,并为用户提供实用工具。尽管该项目现已停止维护,但它的开发历程和功能实现仍然值得我们学习和借鉴。对于那些想要深入了解如何在命令行环境中与ChatGPT交互的开发者来说,ChatGPTCLIBot的源码无疑是一个很好的学习资源。

随着AI技术的不断进步,我们期待看到更多创新的项目emerge,为用户提供更智能、更便捷的人工智能交互体验。同时,ChatGPTCLIBot的经历也提醒我们,在快速变化的技术领域中,保持灵活性和持续学习的重要性。

ChatGPTCLIBot Screenshot

ChatGPTCLIBot运行界面示例

无论您是AI爱好者、开发者还是研究人员,ChatGPTCLIBot项目都为我们提供了宝贵的经验和启示。尽管技术在不断evolve,但推动这些创新的人类创造力和探索精神永远不会过时。让我们继续关注和支持开源社区,共同推动AI技术的发展与应用。

avatar
0
0
0
相关项目
Project Cover

Prompt-Engineering-Guide

本指南详细介绍如何通过提示工程优化和提升大语言模型(LLMs)的应用,包括基础知识和高级技术,涵盖最新的研究论文、学习指南、讲座、参考资料及工具。适合开发者和研究人员理解与应用LLMs,支持13种语言,提供线上课程及多种服务。

Project Cover

chatbox

Chatbox 是一款支持多种语言模型(包括ChatGPT和Claude)的桌面客户端,适用于Windows、Mac和Linux系统。这款应用特别注重用户隐私,不需要部署即可安装使用。它提供多种高级功能,如图像生成、增强提示、键盘快捷方式、Markdown与Latex格式支持等,极大地提升用户工作效率。另外,Chatbox提供了团队协作功能和跨平台的Web版本,允许用户随时随地通过浏览器访问。

Project Cover

optimate

Optimate是由Nebuly AI开发的开源项目,提供多个库协助优化AI模型。虽然项目当前未在维护,其工具如Speedster、Nos和ChatLLaMA帮助用户针对硬件优化AI模型,实现成本节约。想了解更多信息,请访问官方文档。

Project Cover

graphrag

GraphRAG是一个革新的数据管道和转换套件,旨在利用大型语言模型(LLMs)的力量从非结构化文本中提取有意义的结构化数据。该项目通过加快索引过程并优化提示调整,提供在Azure上的端到端用户体验,有效增强LLMs处理私有数据的能力。此外,GraphRAG的研究和开发还专注于推动负责任的AI使用,确保用户能够最大限度地发挥系统的潜力并减少限制的影响。

Project Cover

rag-demystified

本项目深入探讨了检索增强生成(RAG)管道的内部机制,揭示其技巧、局限性和成本。通过LlamaIndex和Haystack框架,了解如何构建和优化RAG管道,并解决透明度和错误问题。详细分析了子问题查询引擎的工作原理,帮助用户理解复杂的RAG管道的关键组成部分和面临的挑战。

Project Cover

awesome-instruction-datasets

该项目提供多语言和多任务的高质量开源指令调优数据集,方便研究人员和开发者轻松访问和利用这些资源。收录数据集包括人类生成、自我指令生成和混合生成的数据,以加速NLP领域的发展,支持如ChatGPT的指令跟随型大语言模型的训练。

Project Cover

safeguards-shield

Safeguards Shield是一个旨在安全、可靠使用大型语言模型(LLMs)的开发者工具包。本工具包提供保护层功能,能够防御恶意输入并过滤模型输出,使AI应用从原型快速转向生产阶段。此外,包含超过20种即用型检测器,为生成式AI(GenAI)应用提供全面的安全保障,并助力缓解LLM的可靠性与安全隐患。工具包还支持监控事件、成本及关于AI的责任指标,支持应用的长期发展。

Project Cover

Promptify

Promptify使用户可以使用GPT、PaLM等流行生成模型,轻松生成各种NLP任务提示。无需训练数据,通过简单的API调用就能快速实现多种NLP任务,如命名实体识别、文本分类和问题生成。其中包括优化提示以降低成本。适用于教育、医疗和企业等多个领域。

Project Cover

ax

Ax项目根据Stanford DSPy研究与Agentic workflows概念,实现智能代理快速开发。支持多种大型语言模型(LLM)、向量数据库,具备自动化提示生成、文档格式转换以及多模态DSPy和流式输出验证。该框架适用于Typescript生产级部署,低依赖性,满足现代软件开发需求。

最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号