Giter Site home page Giter Site logo

hanzoe / pet-gpt Goto Github PK

View Code? Open in Web Editor NEW
226.0 5.0 108.0 78.56 MB

Pet-GPT 是一个使用 PyQt 编写的桌面宠物程序,支持调用 OpenAI 的 GPT 进行上下文对话,然后主动找你聊天!

License: GNU General Public License v3.0

Python 99.79% Dockerfile 0.19% Batchfile 0.02%
chaptgpt desktop pet

pet-gpt's Introduction

Pet-GPT

Language

Pet-GPT 是一个使用 PyQt 编写的桌面宠物程序,支持调用 OpenAI 的 GPT 进行上下文对话,然后主动找你聊天!

dog cat basheng

bilibili连接 https://www.bilibili.com/video/BV1xM4y1y7e7/?vd_source=0256cdccbe38c132828c06c0c3d6dd4f

特点

  • 一个简单的桌面小宠物,支持自定义图像和昵称
  • 支持自由移动和随机主动发问(通过gpt)等多种设置
  • 使用 OpenAI GPT 进行上下文的单词对话
  • 支持聊天界面的自定义插件热更新
  • 能延续QQ宠物的梦

目前的功能

功能 描述
主动对话v1 使用模板随机发起对话,不再被动聊天(下一版本,先向gpt获取对话内容,再主动对话,更生动)
英文润色 修改源语言为专业的英语
python解释器 模拟python,直接执行命令
自定义插件 支持开发设计自己的插件
配置代理服务器 支持配置代理服务器
模块化设计 支持自定义高阶的实验性功能与相关代码
更换宠物图像 选择自己喜欢的图像作为展示(虚拟人物、动物都OK)
自定义快捷键 通过自定义快捷键,直接调出对话框
右键学术优化 通过右键直接调用学术优化(https://github.com/binary-husky/chatgpt_academic)
…… ……

安装与运行

  1. 在 OpenAI 上注册账号,并获取 API 密钥。

    在浏览器中打开 https://beta.openai.com/signup/,填写相关信息注册 OpenAI 账号,并获取 API 密钥。

  2. 克隆或下载本项目。

    • 点击绿色的“Code”按钮,选择“Download ZIP”
    • 使用git命令git clone https://github.com/Hanzoe/petgpt.git下载。
  3. config.ini修改为config_private.ini ,并且修改参数"OPENAI_API_KEY"、"LLM_MODEL"。

    • 有代理的话,一定要修改自己的代理地址
  4. chatgpt-学术优化相关的配置

    • 配置API_KEY和代理设置
    • config.py中,配置 海外Proxy 和 OpenAI API KEY,说明如下
    1. 如果你在国内,需要设置海外代理才能够顺利使用 OpenAI API,设置方法请仔细阅读config.py(1.修改其中的USE_PROXY为True; 2.按照说明修改其中的proxies)。
    2. 配置 OpenAI API KEY。你需要在 OpenAI 官网上注册并获取 API KEY。一旦你拿到了 API KEY,在 config.py 文件里配置好即可。
    3. 与代理网络有关的issue(网络超时、代理不起作用)汇总到 https://github.com/binary-husky/chatgpt_academic/issues/1
    

    (P.S. 程序运行时会优先检查是否存在名为config_private.py的私密配置文件,并用其中的配置覆盖config.py的同名配置。因此,如果您能理解我们的配置读取逻辑,我们强烈建议您在config.py旁边创建一个名为config_private.py的新配置文件,并把config.py中的配置转移(复制)到config_private.py中。config_private.py不受git管控,可以让您的隐私信息更加安全。)

  5. 安装依赖包

    conda create --name petgpt python=3.9
    conda activate petgpt
    pip install -r requirements.txt
    
  6. 运行 main.py

    python main.py
    
  7. 也可以修改本地的PetGPT.bat脚本,之后直接双击运行

    @echo off
    call conda activate petgpt(这个改成自己的虚拟环境名字)
    python main.py
    pause
    

使用说明

  • 无互动状态下,宠物自由移动、对话

    image image

  • 右键支持功能:打开聊天框、修改昵称、修改图像、设置移动、对话以及自定义快捷键打开聊天框 image image

  • 互动状态下,可实现基于GPT的聊天以及其他功能 image image

  • 右键支持跳转学术优化 项目地址:https://github.com/binary-husky/chatgpt_academic

    image

自定义插件说明

常规按钮格式

  1. 在chatdialog.py文件找到初始化函数 image.png
  2. 按照模板添加槽
  3. 定义函数 image.png

下拉列表插件格式

  1. 在chatdialog.py文件找到初始化函数
    • self.custom_dropdown image.png
  2. 去self.full_slot中定义该选项

开发日志

To do

  • 优化界面
  • 增加一些互动效果
  • 聊天界面的语音输入输出
  • 聊天界面的图片生成
  • 不定时的请求对话:要先请求到gpt,再请求到本地(重要)
  • 喂食?
  • 好感度?
  • 跨设备平台?(重要)
  • 扮演角色类使用专门的命令调用,节省页面空间
  • 快捷键调用对话框
  • 代码显示
  • 公式显示
  • 实现宠物的互动
  • 热插件-论文阅读
  • 滑动条改变图像大小
  • live2D展示
  • 移动动态图
  • 增加其他项目接口(学术优化),转移开发重心

Done

  • 左侧加入插件栏
  • 数据过大时的分批请求
  • 请求太频繁,需要做限制
  • 热插件-python编译器
  • 聊天界面的角色扮演
  • 解决输入框不能回车的问题
  • 解决解析文本框的代码
  • 支持gif
  • 支持改大小
  • 修改读取方式,支持中文
  • 按下esc时,程序崩溃
  • random_chat开启时,会阻碍打字
  • 打开聊天框时,宠物隐藏;关闭时,宠物出现
  • 保存对话记录,实现联系上下文进行对话
  • 上下文对话
  • 通过设置修改宠物的移动、和主动发问
  • 完成无记忆的一次性对话
  • 完成整个框架(展示,基本聊天)

贡献者

参考

  1. https://github.com/f/awesome-chatgpt-prompts(获取prompts命令)
  2. https://github.com/tommyli3318/desktop-pet(想做桌面宠物版的)
  3. https://github.com/binary-husky/chatgpt_academic(曾经在这上面做插件奉献,从而得到灵感)
  4. https://gitee.com/fg_slash/yuanshen-desktoppet#https://gitee.com/link?target=https%3A%2F%2Fpan.baidu.com%2Fs%2F1AuUjMnYgNScTla7yQA19Og(参考了gif图)

Star History

Star History Chart

免责申明

此项目仅供个人学习,禁止商用或者其他非法用途

pet-gpt's People

Contributors

hanzoe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

pet-gpt's Issues

环境创建失败

  • (1) Describe the bug 简述
    在ubuntu18.04下配置环境,pip install -r requirements.txt的时候出现了gym版本冲突。
    ubuntu版本:

image

  • (2) Screen Shot 截图

image

  • (3) Terminal Traceback 终端traceback(如有)

image

image

image

image

image

  • (4) Material to Help Reproduce Bugs 帮助我们复现的测试材料样本(如有)
    复现步骤: 按照README.md中的安装依赖包中的命令输入到ubuntu18.04中。

Before submitting an issue 提交issue之前:

  • Please try to upgrade your code. 如果您的代码不是最新的,建议您先尝试更新代码
  • Please check issue for common problem solutions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.