无知之人 3d6e4ee3a7 [fix]Update requirements.txt For fix
Modify the version of Gradio, which does not support the color button when it is lower than version 3.24. On version 3.25, it fixes the issue https://github.com/gradio-app/gradio/issues/3716 and #371 .

修改一下gradio的版本,低于 3.24版本时不支持 color button,3.25则修复了 issue: #371https://github.com/gradio-app/gradio/issues/3716
2023-04-12 21:32:03 +08:00
2023-03-24 19:34:21 +08:00
2023-04-11 17:52:40 +08:00
2023-03-24 19:51:52 +08:00
2023-04-07 12:45:47 +08:00
UP
2023-04-11 18:50:56 +08:00
2023-04-09 21:23:21 +08:00
2023-04-09 23:28:57 +08:00
2023-04-10 00:36:05 +08:00
2023-04-11 19:31:57 +08:00
2023-04-11 17:25:30 +08:00
2023-04-12 17:41:33 +08:00
up
2023-03-20 17:04:40 +08:00
2023-04-11 21:13:21 +08:00
2023-04-09 18:59:43 +08:00
2023-04-12 12:04:57 +08:00
2023-04-06 16:33:01 +08:00
2023-04-09 23:28:57 +08:00
2023-04-11 18:15:26 +08:00
2023-04-11 21:19:31 +08:00

Note

紧急很抱歉2.60版本的一部分代码重构出错目前2.67及以上版本已经解决,请您及时更新。

ChatGPT 学术优化

如果喜欢这个项目请给它一个Star如果你发明了更好用的快捷键或函数插件欢迎发issue或者pull requestsdev分支

If you like this project, please give it a Star. If you've come up with more useful academic shortcuts or functional plugins, feel free to open an issue or pull request to dev branch.

Note

1.请注意只有红颜色标识的函数插件(按钮)才支持读取文件,部分插件位于插件区的下拉菜单中。另外我们以最高优先级欢迎和处理任何新插件的PR

2.本项目中每个文件的功能都在自译解self_analysis.md详细说明。随着版本的迭代您也可以随时自行点击相关函数插件调用GPT重新生成项目的自我解析报告。常见问题汇总在wiki当中。

3.如果您不太习惯部分中文命名的函数、注释或者界面您可以随时点击相关函数插件调用ChatGPT一键生成纯英文的项目源代码。

功能 描述
一键润色 支持一键润色、一键查找论文语法错误
一键中英互译 一键中英互译
一键代码解释 可以正确显示代码、解释代码
自定义快捷键 支持自定义快捷键
配置代理服务器 支持配置代理服务器
模块化设计 支持自定义高阶的实验性功能与[函数插件],插件支持热更新
自我程序剖析 [函数插件] 一键读懂本项目的源代码
程序剖析 [函数插件] 一键可以剖析其他Python/C/C++/Java项目树
读论文 [函数插件] 一键解读latex论文全文并生成摘要
Latex全文翻译、润色 [函数插件] 一键翻译或润色latex论文
批量注释生成 [函数插件] 一键批量生成函数注释
chat分析报告生成 [函数插件] 运行后自动生成总结汇报
arxiv小助手 [函数插件] 输入arxiv文章url即可一键翻译摘要+下载PDF
PDF论文全文翻译功能 [函数插件] PDF论文提取题目&摘要+翻译全文(多线程)
谷歌学术统合小助手 (Version>=2.45) [函数插件] 给定任意谷歌学术搜索页面URL让gpt帮你选择有趣的文章
公式显示 可以同时显示公式的tex形式和渲染形式
图片显示 可以在markdown中显示图片
多线程函数插件支持 支持多线调用chatgpt一键处理海量文本或程序
支持GPT输出的markdown表格 可以输出支持GPT的markdown表格
启动暗色gradio主题 在浏览器url后面添加/?__dark-theme=true可以切换dark主题
huggingface免科学上网在线体验 登陆huggingface后复制此空间
多LLM模型混合支持(v3.0分支测试中) 同时被ChatGPT和清华ChatGLM伺候的感觉一定会很不错吧?
兼容TGUI接入更多样的语言模型 接入opt-1.3b, galactica-1.3b等模型(v3.0分支测试中)
…… ……
  • 新界面
  • 所有按钮都通过读取functional.py动态生成可随意加自定义功能解放粘贴板
  • 润色/纠错
  • 支持GPT输出的markdown表格
  • 如果输出包含公式会同时以tex形式和渲染形式显示方便复制和阅读
  • 懒得看项目代码整个工程直接给chatgpt炫嘴里
  • 多种大语言模型混合调用(v3.0分支测试中)

直接运行 (Windows, Linux or MacOS)

1. 下载项目

git clone https://github.com/binary-husky/chatgpt_academic.git
cd chatgpt_academic

2. 配置API_KEY和代理设置

config.py中,配置 海外Proxy 和 OpenAI API KEY说明如下

1. 如果你在国内,需要设置海外代理才能够顺利使用 OpenAI API设置方法请仔细阅读config.py1.修改其中的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管控可以让您的隐私信息更加安全。

3. 安装依赖

# (选择一)推荐
python -m pip install -r requirements.txt   

# 选择二如果您使用anaconda步骤也是类似的
# (选择二.1conda create -n gptac_venv python=3.11
# (选择二.2conda activate gptac_venv
# (选择二.3python -m pip install -r requirements.txt

# 备注使用官方pip源或者阿里pip源其他pip源如一些大学的pip有可能出问题临时换源方法 
# python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

4. 运行

python main.py

5. 测试实验性功能

- 测试C++项目头文件分析
    input区域 输入 `./crazy_functions/test_project/cpp/libJPG`  然后点击 "[实验] 解析整个C++项目input输入项目根路径"
- 测试给Latex项目写摘要
    input区域 输入 `./crazy_functions/test_project/latex/attention`  然后点击 "[实验] 读tex论文写摘要input输入项目根路径"
- 测试Python项目分析
    input区域 输入 `./crazy_functions/test_project/python/dqn`  然后点击 "[实验] 解析整个py项目input输入项目根路径"
- 测试自我代码解读
    点击 "[实验] 请解析并解构此项目本身"
- 测试实验功能模板函数要求gpt回答历史上的今天发生了什么您可以根据此函数为模板实现更复杂的功能
    点击 "[实验] 实验功能函数模板"

使用docker (Linux)

# 下载项目
git clone https://github.com/binary-husky/chatgpt_academic.git
cd chatgpt_academic
# 配置 海外Proxy 和 OpenAI API KEY
用任意文本编辑器编辑 config.py
# 安装
docker build -t gpt-academic .
# 运行
docker run --rm -it --net=host gpt-academic

# 测试实验性功能
## 测试自我代码解读
点击 "[实验] 请解析并解构此项目本身"
## 测试实验功能模板函数要求gpt回答历史上的今天发生了什么您可以根据此函数为模板实现更复杂的功能
点击 "[实验] 实验功能函数模板"
##请注意在docker中运行时需要额外注意程序的文件访问权限问题
## 测试C++项目头文件分析
input区域 输入 ./crazy_functions/test_project/cpp/libJPG  然后点击 "[实验] 解析整个C++项目input输入项目根路径"
## 测试给Latex项目写摘要
input区域 输入 ./crazy_functions/test_project/latex/attention  然后点击 "[实验] 读tex论文写摘要input输入项目根路径"
## 测试Python项目分析
input区域 输入 ./crazy_functions/test_project/python/dqn  然后点击 "[实验] 解析整个py项目input输入项目根路径"

其他部署方式

自定义新的便捷按钮(学术快捷键自定义)

打开functional.py添加条目如下然后重启程序即可。如果按钮已经添加成功并可见那么前缀、后缀都支持热修改无需重启程序即可生效。 例如

"超级英译中": {

    # 前缀,会被加在你的输入之前。例如,用来描述你的要求,例如翻译、解释代码、润色等等
    "Prefix": "请翻译把下面一段内容成中文然后用一个markdown表格逐一解释文中出现的专有名词\n\n", 
    
    # 后缀,会被加在你的输入之后。例如,配合前缀可以把你的输入内容用引号圈起来。
    "Suffix": "",
    
},

如果你发明了更好用的学术快捷键欢迎发issue或者pull requests

配置代理

方法一:常规方法

config.py中修改端口与代理软件对应

配置完成后,你可以用以下命令测试代理是否工作,如果一切正常,下面的代码将输出你的代理服务器所在地:

python check_proxy.py

方法二:纯新手教程

纯新手教程

兼容性测试

图片显示:

如果一个程序能够读懂并剖析自己:

其他任意Python/Cpp项目剖析

Latex论文一键阅读理解与摘要生成

自动报告生成

模块化功能设计

源代码转译英文

Todo 与 版本规划:

  • version 3 (Todo):
    • 支持gpt4和其他更多llm
  • version 2.4+ (Todo):
    • 总结大工程源代码时文本过长、token溢出的问题
    • 实现项目打包部署
    • 函数插件参数接口优化
    • 自更新
  • version 2.4: (1)新增PDF全文翻译功能; (2)新增输入区切换位置的功能; (3)新增垂直布局选项; (4)多线程函数插件优化。
  • version 2.3: 增强多线程交互性
  • version 2.2: 函数插件支持热重载
  • version 2.1: 可折叠式布局
  • version 2.0: 引入模块化函数插件
  • version 1.0: 基础功能

参考与学习

代码中参考了很多其他优秀项目中的设计,主要包括:

# 借鉴项目1借鉴了ChuanhuChatGPT中读取OpenAI json的方法、记录历史问询记录的方法以及gradio queue的使用技巧
https://github.com/GaiZhenbiao/ChuanhuChatGPT

# 借鉴项目2
https://github.com/THUDM/ChatGLM-6B

Description
科研工作专用ChatGPT拓展,特别优化学术Paper润色体验,支持自定义快捷按钮,支持自定义函数插件,支持markdown表格显示,Tex公式双显示,代码显示功能完善,新增本地Python/C++/Go项目树剖析功能/项目源代码自译解能力,新增PDF和Word文献批量总结功能
Readme 68 MiB
Languages
Python 70.4%
JavaScript 17.8%
HTML 7.1%
CSS 4.6%