GPT Academic (GPT Academic): supports one-click polishing, one-click Chinese-English translation, one-click code explanation, chat analysis report generation, full-text translation of PDF papers, Internet information aggregation + GPT, etc.

insert image description here

Project design collection (artificial intelligence direction): Help newcomers quickly master skills in actual combat, complete project design upgrades independently, and improve their own hard power (not limited to NLP, knowledge graph, computer vision, etc.): Collect meaningful project design collections to help Newcomers quickly master skills in actual combat, helping users make better use of the CSDN platform, independently complete project design upgrades, and improve their own hard power.

insert image description here

  1. Column Subscription: Encyclopedia of Projects to Improve Your Hard Power

  2. [Detailed introduction of the column: project design collection (artificial intelligence direction): help newcomers quickly master skills in actual combat, complete project design upgrades independently, and improve their own hard power (not limited to NLP, knowledge graphs, computer vision, etc.)

GPT Academic (GPT Academic): supports one-click polishing, one-click Chinese-English translation, one-click code explanation, chat analysis report generation, full-text translation of PDF papers, Internet information aggregation + GPT, etc.

ChatGPT/GLM provides a graphical interactive interface, especially optimized paper reading/polishing/writing experience, modular design, supports custom shortcut buttons & function plug-ins, supports Python and C++ and other project analysis & self-translation functions, PDF/LaTex paper translation & The summary function supports parallel query of multiple LLM models, and supports local models such as Tsinghua chatglm. Compatible with Fudan MOSS, llama, rwkv, Pangu, newbing, claude, etc.

Function describe
One-click polishing Support one-click polishing and one-click search for grammatical errors in papers
One-click Chinese-English translation One-click Chinese-English translation
One-click code interpretation Show code, explain code, generate code, comment code
Custom Shortcuts Support custom shortcut keys
modular design Support custom powerful function plug-ins , plug-ins support hot update
self-programming [Function plug-in] One-click to understand the source code of this project
Program Analysis [Function plugin] One-click can analyze other Python/C/C++/Java/Lua/… project trees
Reading papers, translating papers [Function plug-in] Interpret the full text of latex/pdf papers and generate abstracts with one click
Latex full-text translation and polishing [Function plugin] One-click translation or polishing of latex papers
Batch annotation generation [Function plugin] One-click batch generation of function comments
Markdown Chinese-English translation [Function plugin] Have you seen the README of the above 5 languages ?
chat analysis report generation [Function plug-in] Automatically generate a summary report after running
Full-text translation function of PDF papers [Function plug-in] PDF paper extraction title & abstract + full text translation (multithreading)
Arxiv Assistant [Function plugin] Enter the arxiv article url to translate the abstract + download the PDF with one click
Google Scholar Integration Assistant [Function plugin] Given any Google Scholar page URL, let gpt help you write relatedworks
Internet information aggregation + GPT [Function plug-in] Let GPT obtain information from the Internet to answer questions with one click , so that the information will never be outdated
⭐Arxiv paper fine translation [Function plugin] One-click translation of arxiv papers with super high quality , currently the best paper translation tool
Formula/picture/table display It can display the tex form and rendering form of the formula at the same time , and supports formula and code highlighting
Multi-threaded function plugin support Support multi-line calling chatgpt, one-click processing of massive text or programs
Enable dark theme Add after the browser url /?__theme=darkto switch the dark theme
Multiple LLM model support It must feel good to be served by GPT3.5, GPT4, Tsinghua ChatGLM , and Fudan MOSS at the same time, right?
More LLM model access, support for huggingface deployment Join the Newbing interface (New Bing), introduce Tsinghua Jittorllms to support LLaMA and Pangu α
More new features showcased (image generation, etc.)... See end of this document...
  • New interface ( config.pythe LAYOUT option in the modification can realize the switching between "left and right layout" and "top and bottom layout")
  • All buttons are dynamically generated by reading functional.py, you can add custom functions at will, and liberate the pasteboard
  • Polishing/Correcting
  • If the output contains a formula, it will be displayed in tex form and rendered form at the same time, which is convenient for copying and reading
  • Too lazy to look at the project code? The whole project is directly shown to chatgpt
  • Mixed calling of multiple large language models (ChatGLM + OpenAI-GPT3.5 + API2D -GPT4)

1. Installation method I: Run directly (Windows, Linux or MacOS)

  1. download item
git clone https://github.com/binary-husky/gpt_academic.git
cd gpt_academic
  1. Configure API_KEY

In config.py, configure API KEY and other settings, and click to view the setting method for special network environment .

(When the PS program is running, it will first check whether there is a config_private.pyprivate configuration file named, and use the configuration in it to overwrite the configuration config.pywith the same name. Therefore, if you can understand our configuration reading logic, we strongly recommend that you config.pycreate a file config_private.pynamed Create a new configuration file, and config.pytransfer (copy) the configuration in it to it config_private.py. config_private.pyIt is not controlled by git, which can make your private information more secure. The PS project also supports writing format reference files by 环境变量configuring most options and environment variables . Read docker-composePriority: 环境变量> config_private.py> config.py)

  1. install dependencies
# (选择I: 如熟悉python)(python版本3.9以上,越新越好),备注:使用官方pip源或者阿里pip源,临时换源方法:python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python -m pip install -r requirements.txt

# (选择II: 如不熟悉python)使用anaconda,步骤也是类似的 (https://www.bilibili.com/video/BV1rc411W7Dr):
conda create -n gptac_venv python=3.11    # 创建anaconda环境
conda activate gptac_venv                 # 激活anaconda环境
python -m pip install -r requirements.txt # 这个步骤和pip安装一样的步骤
If you need to support Tsinghua ChatGLM/Fudan MOSS as the backend, please click to expand here

[Optional steps] If you need to support Tsinghua ChatGLM/Fudan MOSS as the backend, you need to install more dependencies (preconditions: familiar with Python + used Pytorch + computer configuration is strong enough):

# 【可选步骤I】支持清华ChatGLM。清华ChatGLM备注:如果遇到"Call ChatGLM fail 不能正常加载ChatGLM的参数" 错误,参考如下: 1:以上默认安装的为torch+cpu版,使用cuda需要卸载torch重新安装torch+cuda; 2:如因本机配置不够无法加载模型,可以修改request_llm/bridge_chatglm.py中的模型精度, 将 AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) 都修改为 AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
python -m pip install -r request_llm/requirements_chatglm.txt  

# 【可选步骤II】支持复旦MOSS
python -m pip install -r request_llm/requirements_moss.txt
git clone https://github.com/OpenLMLab/MOSS.git request_llm/moss  # 注意执行此行代码时,必须处于项目根路径

# 【可选步骤III】确保config.py配置文件的AVAIL_LLM_MODELS包含了期望的模型,目前支持的全部模型如下(jittorllms系列目前仅支持docker方案):
AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "newbing", "moss"] # + ["jittorllms_rwkv", "jittorllms_pangualpha", "jittorllms_llama"]
  1. run
python main.py

2. Installation Method II: Using Docker

  1. ChatGPT only (recommended for most people, equivalent to docker-compose solution 1)
git clone https://github.com/binary-husky/gpt_academic.git  # 下载项目
cd gpt_academic                                 # 进入路径
nano config.py                                      # 用任意文本编辑器编辑config.py, 配置 “Proxy”, “API_KEY” 以及 “WEB_PORT” (例如50923) 等
docker build -t gpt-academic .                      # 安装

#(最后一步-选择1)在Linux环境下,用`--net=host`更方便快捷
docker run --rm -it --net=host gpt-academic
#(最后一步-选择2)在macOS/windows环境下,只能用-p选项将容器上的端口(例如50923)暴露给主机上的端口
docker run --rm -it -e WEB_PORT=50923 -p 50923:50923 gpt-academic

PS If you need to rely on the plug-in function of Latex, please refer to Wiki. In addition, you can also directly use docker-compose to obtain Latex functions (modify docker-compose.yml, keep scheme 4 and delete other schemes).

  1. ChatGPT + ChatGLM + MOSS (need to be familiar with Docker)
# 修改docker-compose.yml,保留方案2并删除其他方案。修改docker-compose.yml中方案2的配置,参考其中注释即可
docker-compose up
  1. ChatGPT + LLAMA + Pangu + RWKV (need to be familiar with Docker)
# 修改docker-compose.yml,保留方案3并删除其他方案。修改docker-compose.yml中方案3的配置,参考其中注释即可
docker-compose up

3. Mounting Method III: Other Deployment Postures

  1. Run scripts with one click.
    Windows users who are completely unfamiliar with the python environment can download the one-click running script released in Release to install the version without local models.
    Scripts are contributed from oobabooga .

  2. Run with docker-compose.
    Please read docker-compose.yml and follow the instructions in it

  3. How to use the reverse URL can be configured
    according to config.pythe instructions in API_URL_REDIRECT.

  4. Microsoft Cloud Azure API can be configured
    according to config.pythe instructions in (AZURE_ENDPOINT and other four configurations)

  5. Remote cloud server deployment (requires cloud server knowledge and experience).
    Please visit deployment wiki-1

  6. Use WSL2 (Windows Subsystem for Linux Subsystem).
    Please visit deployment wiki-2

  7. How to run under a second level url (like http://localhost/subpath).
    Please visit FastAPI Operation Instructions

4.I: Customize the new convenient button (academic shortcut key)

Open any text editor core_functional.py, add the following entries, and then restart the program. (If the button has been successfully added and is visible, then both the prefix and suffix support hot modification, and it will take effect without restarting the program.)
For example

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

4.II: Custom function plugin

Write powerful function plugins to perform any task you can imagine and imagine.
The difficulty of writing and debugging the plug-in of this project is very low. As long as you have a certain basic knowledge of python, you can follow the template we provide to realize your own plug-in functions.
Please refer to the function plugin guide for details .

5. The latest update plan

5.1: New feature dynamics

  1. Conversation save function. Call in the function plug-in area 保存当前的对话to save the current conversation as a readable + recoverable html file,
    and call it in the function plug-in area (drop-down menu) 载入对话历史存档to restore the previous session.
    Tip: Click directly without specifying a file 载入对话历史存档to view the historical html archive cache.
  1. ⭐Latex/Arxiv paper translation function⭐
===>
  1. Generate report. Most plugins will generate a work report after execution
  1. Modular function design, simple interface can support powerful functions
  1. Decipher other open source projects
  1. A small function to decorate live2d (closed by default, needs to be modified config.py)
  1. Added MOSS large language model support
  1. OpenAI image generation
  1. OpenAI audio analysis and summary
  1. Latex full-text proofreading and error correction
===>

Version 5.2 iteration:

  • version 3.5(Todo): Use natural language to call all function plugins of this project (high priority)

  • version 3.4: +arxiv paper translation, latex paper correction function

  • version 3.3: +Integrated Internet information function

  • version 3.2: Function plug-in supports more parameter interfaces (save dialog function, interpret arbitrary language code + query arbitrary LLM combination at the same time)

  • version 3.1: Support querying multiple gpt models at the same time! Support api2d, support multiple apikey load balancing

  • version 3.0: support for chatglm and other small llms

  • version 2.6: Refactored plugin structure, improved interactivity, and added more plugins

  • version 2.5: Self-update, solve the problem of too long text and token overflow when summarizing the source code of large projects

  • version 2.4: (1) Added PDF full-text translation function; (2) Added the function of switching the input area; (3) Added vertical layout option; (4) Multi-threaded function plug-in optimization.

  • version 2.3: Enhanced multi-threaded interactivity

  • version 2.2: function plugin supports hot reloading

  • version 2.1: collapsible layout

  • version 2.0: Introducing the modular function plugin

  • version 1.0: basic functions

  • known issues

    • Certain browser translation plugins interfere with the operation of this software front end
    • The official Gradio currently has many compatibility bugs, please be sure to requirement.txtinstall Gradio with

5.3 Self-interpretation report of chatgpt-academic project

file name Functional description
check_proxy.py Check agent availability and geographic location
colorful.py Console prints colored text
config.py Configuration and parameter settings
config_private.py Private configuration and parameter settings
core_functional.py Core functions and parameter settings
crazy_functional.py A collection of advanced feature plugins
main.py A Chatbot program that provides various academic translation, text processing and other query services
multi_language.py Recognize and translate different languages
theme.py Customize the gradio application theme
toolbox.py Tool class library, used to assist in implementing various functions
crazy_functions\crazy_functions_test.py Test various functions in crazy_functions
crazy_functions\crazy_utils.py Tool functions for string processing, anomaly detection, Markdown format conversion, etc.
crazy_functions\Latex full text polishing.py Polish and correct the entire Latex project
crazy_functions\Latex full text translation.py Translate the entire Latex project
crazy_functions\__init__.py Module initialization file, identifying crazy_functionsis a package
crazy_functions\Download arxiv paper translation summary.py Download arxivPDF files of papers and extract abstracts and translations
crazy_functions\code rewritten to full English_multithreading.py Convert Chinese content in Python source code files to English
crazy_functions\image generation.py Use the GPT model to generate corresponding images based on the incentive text
crazy_functions\对话历史存档.py 将每次对话记录写入Markdown格式的文件中
crazy_functions\总结word文档.py 对输入的word文档进行摘要生成
crazy_functions\总结音视频.py 对输入的音视频文件进行摘要生成
crazy_functions\批量Markdown翻译.py 将指定目录下的Markdown文件进行中英文翻译
crazy_functions\批量总结PDF文档.py 对PDF文件进行切割和摘要生成
crazy_functions\批量总结PDF文档pdfminer.py 对PDF文件进行文本内容的提取和摘要生成
crazy_functions\批量翻译PDF文档_多线程.py 将指定目录下的PDF文件进行中英文翻译
crazy_functions\理解PDF文档内容.py 对PDF文件进行摘要生成和问题解答
crazy_functions\生成函数注释.py 自动生成Python函数的注释
crazy_functions\联网的ChatGPT.py 使用网络爬虫和ChatGPT模型进行聊天回答
crazy_functions\解析JupyterNotebook.py 对Jupyter Notebook进行代码解析
crazy_functions\解析项目源代码.py 对指定编程语言的源代码进行解析
crazy_functions\询问多个大语言模型.py 使用多个大语言模型对输入进行处理和回复
crazy_functions\读文章写摘要.py 对论文进行解析和全文摘要生成
crazy_functions\谷歌检索小助手.py 提供谷歌学术搜索页面中相关文章的元数据信息。
crazy_functions\高级功能函数模板.py 使用Unsplash API发送相关图片以回复用户的输入。
request_llm\bridge_all.py 基于不同LLM模型进行对话。
request_llm\bridge_chatglm.py 使用ChatGLM模型生成回复,支持单线程和多线程方式。
request_llm\bridge_chatgpt.py 基于GPT模型完成对话。
request_llm\bridge_jittorllms_llama.py 使用JittorLLMs模型完成对话,支持单线程和多线程方式。
request_llm\bridge_jittorllms_pangualpha.py 使用JittorLLMs模型完成对话,基于多进程和多线程方式。
request_llm\bridge_jittorllms_rwkv.py 使用JittorLLMs模型完成聊天功能,提供包括历史信息、参数调节等在内的多个功能选项。
request_llm\bridge_moss.py 加载Moss模型完成对话功能。
request_llm\bridge_newbing.py 使用Newbing聊天机器人进行对话,支持单线程和多线程方式。
request_llm\bridge_newbingfree.py 基于Bing chatbot API实现聊天机器人的文本生成功能。
request_llm\bridge_stackclaude.py 基于Slack API实现Claude与用户的交互。
request_llm\bridge_tgui.py 通过websocket实现聊天机器人与UI界面交互。
request_llm\edge_gpt.py 调用Bing chatbot API提供聊天机器人服务。
request_llm\edge_gpt_free.py 实现聊天机器人API,采用aiohttp和httpx工具库。
request_llm\test_llms.py 对llm模型进行单元测试。

接下来请你逐文件分析下面的工程[0/48] 请对下面的程序文件做一个概述: check_proxy.py

这个文件主要包含了五个函数:

  1. check_proxy:用于检查代理的有效性及地理位置,输出代理配置和所在地信息。

  2. backup_and_download:用于备份当前版本并下载新版本。

  3. patch_and_restart:用于覆盖更新当前版本并重新启动程序。

  4. get_current_version:用于获取当前程序的版本号。

  5. auto_update:用于自动检查新版本并提示用户更新。如果用户选择更新,则备份并下载新版本,覆盖更新当前版本并重新启动程序。如果更新失败,则输出错误信息,并不会向用户进行任何提示。

还有一个没有函数名的语句os.environ['no_proxy'] = '*',用于设置环境变量,避免代理网络产生意外污染。

此外,该文件导入了以下三个模块/函数:

  • requests
  • shutil
  • os

[1/48] 请对下面的程序文件做一个概述: colorful.py

该文件是一个Python脚本,用于在控制台中打印彩色文字。该文件包含了一些函数,用于以不同颜色打印文本。其中,红色、绿色、黄色、蓝色、紫色、靛色分别以函数 print红、print绿、print黄、print蓝、print紫、print靛 的形式定义;亮红色、亮绿色、亮黄色、亮蓝色、亮紫色、亮靛色分别以 print亮红、print亮绿、print亮黄、print亮蓝、print亮紫、print亮靛 的形式定义。它们使用 ANSI Escape Code 将彩色输出从控制台突出显示。如果运行在 Linux 操作系统上,文件所执行的操作被留空;否则,该文件导入了 colorama 库并调用 init() 函数进行初始化。最后,通过一系列条件语句,该文件通过将所有彩色输出函数的名称重新赋值为 print 函数的名称来避免输出文件的颜色问题。

[2/48] 请对下面的程序文件做一个概述: config.py

这个程序文件是用来配置和参数设置的。它包含了许多设置,如API key,使用代理,线程数,默认模型,超时时间等等。此外,它还包含了一些高级功能,如URL重定向等。这些设置将会影响到程序的行为和性能。

[3/48] 请对下面的程序文件做一个概述: config_private.py

这个程序文件是一个Python脚本,文件名为config_private.py。其中包含以下变量的赋值:

  1. API_KEY:API密钥。
  2. USE_PROXY:是否应用代理。
  3. proxies:如果使用代理,则设置代理网络的协议(socks5/http)、地址(localhost)和端口(11284)。
  4. DEFAULT_WORKER_NUM:默认的工作线程数量。
  5. SLACK_CLAUDE_BOT_ID:Slack机器人ID。
  6. SLACK_CLAUDE_USER_TOKEN:Slack用户令牌。

[4/48] 请对下面的程序文件做一个概述: core_functional.py

这是一个名为core_functional.py的源代码文件,该文件定义了一个名为get_core_functions()的函数,该函数返回一个字典,该字典包含了各种学术翻译润色任务的说明和相关参数,如颜色、前缀、后缀等。这些任务包括英语学术润色、中文学术润色、查找语法错误、中译英、学术中英互译、英译中、找图片和参考文献转Bib。其中,一些任务还定义了预处理函数用于处理任务的输入文本。

[5/48] 请对下面的程序文件做一个概述: crazy_functional.py

此程序文件(crazy_functional.py)是一个函数插件集合,包含了多个函数插件的定义和调用。这些函数插件旨在提供一些高级功能,如解析项目源代码、批量翻译PDF文档和Latex全文润色等。其中一些插件还支持热更新功能,不需要重启程序即可生效。文件中的函数插件按照功能进行了分类(第一组和第二组),并且有不同的调用方式(作为按钮或下拉菜单)。

[6/48] 请对下面的程序文件做一个概述: main.py

这是一个Python程序文件,文件名为main.py。该程序包含一个名为main的函数,程序会自动运行该函数。程序要求已经安装了gradio、os等模块,会根据配置文件加载代理、model、API Key等信息。程序提供了Chatbot功能,实现了一个对话界面,用户可以输入问题,然后Chatbot可以回答问题或者提供相关功能。程序还包含了基础功能区、函数插件区、更换模型 & SysPrompt & 交互界面布局、备选输入区,用户可以在这些区域选择功能和插件进行使用。程序中还包含了一些辅助模块,如logging等。

[7/48] 请对下面的程序文件做一个概述: multi_language.py

该文件multi_language.py是用于将项目翻译成不同语言的程序。它包含了以下函数和变量:lru_file_cache、contains_chinese、split_list、map_to_json、read_map_from_json、advanced_split、trans、trans_json、step_1_core_key_translate、CACHE_FOLDER、blacklist、LANG、TransPrompt、cached_translation等。注释和文档字符串提供了有关程序的说明,例如如何使用该程序,如何修改“LANG”和“TransPrompt”变量等。

[8/48] 请对下面的程序文件做一个概述: theme.py

这是一个Python源代码文件,文件名为theme.py。此文件中定义了一个函数adjust_theme,其功能是自定义gradio应用程序的主题,包括调整颜色、字体、阴影等。如果允许,则添加一个看板娘。此文件还包括变量advanced_css,其中包含一些CSS样式,用于高亮显示代码和自定义聊天框样式。此文件还导入了get_conf函数和gradio库。

[9/48] 请对下面的程序文件做一个概述: toolbox.py

toolbox.py是一个工具类库,其中主要包含了一些函数装饰器和小工具函数,用于协助实现聊天机器人所需的各种功能,包括文本处理、功能插件加载、异常检测、Markdown格式转换,文件读写等等。此外,该库还包含一些依赖、参数配置等信息。该库易于理解和维护。

[10/48] 请对下面的程序文件做一个概述: crazy_functions\crazy_functions_test.py

这个文件是一个Python测试模块,用于测试crazy_functions中的各种函数插件。这些函数包括:解析Python项目源代码、解析Cpp项目源代码、Latex全文润色、Markdown中译英、批量翻译PDF文档、谷歌检索小助手、总结word文档、下载arxiv论文并翻译摘要、联网回答问题、和解析Jupyter Notebooks。对于每个函数插件,都有一个对应的测试函数来进行测试。

[11/48] 请对下面的程序文件做一个概述: crazy_functions\crazy_utils.py

这个Python文件中包括了两个函数:

  1. input_clipping: 该函数用于裁剪输入文本长度,使其不超过一定的限制。
  2. request_gpt_model_in_new_thread_with_ui_alive: 该函数用于请求 GPT 模型并保持用户界面的响应,支持多线程和实时更新用户界面。

这两个函数都依赖于从 toolboxrequest_llm 中导入的一些工具函数。函数的输入和输出有详细的描述文档。

[12/48] 请对下面的程序文件做一个概述: crazy_functions\Latex全文润色.py

这是一个Python程序文件,文件名为crazy_functions\Latex全文润色.py。文件包含了一个PaperFileGroup类和三个函数Latex英文润色,Latex中文润色和Latex英文纠错。程序使用了字符串处理、正则表达式、文件读写、多线程等技术,主要作用是对整个Latex项目进行润色和纠错。其中润色和纠错涉及到了对文本的语法、清晰度和整体可读性等方面的提升。此外,该程序还参考了第三方库,并封装了一些工具函数。

[13/48] 请对下面的程序文件做一个概述: crazy_functions\Latex全文翻译.py

这个文件包含两个函数 Latex英译中Latex中译英,它们都会对整个Latex项目进行翻译。这个文件还包含一个类 PaperFileGroup,它拥有一个方法 run_file_split,用于把长文本文件分成多个短文件。其中使用了工具库 toolbox 中的一些函数和从 request_llm 中导入了 model_info。接下来的函数把文件读取进来,把它们的注释删除,进行分割,并进行翻译。这个文件还包括了一些异常处理和界面更新的操作。

[14/48] 请对下面的程序文件做一个概述: crazy_functions_init_.py

这是一个Python模块的初始化文件(init.py),命名为"crazy_functions"。该模块包含了一些疯狂的函数,但该文件并没有实现这些函数,而是作为一个包(package)来导入其它的Python模块以实现这些函数。在该文件中,没有定义任何类或函数,它唯一的作用就是标识"crazy_functions"模块是一个包。

[15/48] 请对下面的程序文件做一个概述: crazy_functions\下载arxiv论文翻译摘要.py

这是一个 Python 程序文件,文件名为 下载arxiv论文翻译摘要.py。程序包含多个函数,其中 下载arxiv论文并翻译摘要 函数的作用是下载 arxiv 论文的 PDF 文件,提取摘要并使用 GPT 对其进行翻译。其他函数包括用于下载 arxiv 论文的 download_arxiv_ 函数和用于获取文章信息的 get_name 函数,其中涉及使用第三方库如 requests, BeautifulSoup 等。该文件还包含一些用于调试和存储文件的代码段。

[16/48] 请对下面的程序文件做一个概述: crazy_functions\代码重写为全英文_多线程.py

该程序文件是一个多线程程序,主要功能是将指定目录下的所有Python代码文件中的中文内容转化为英文,并将转化后的代码存储到一个新的文件中。其中,程序使用了GPT-3等技术进行中文-英文的转化,同时也进行了一些Token限制下的处理,以防止程序发生错误。程序在执行过程中还会输出一些提示信息,并将所有转化过的代码文件存储到指定目录下。在程序执行结束后,还会生成一个任务执行报告,记录程序运行的详细信息。

[17/48] 请对下面的程序文件做一个概述: crazy_functions\图片生成.py

该程序文件提供了一个用于生成图像的函数图片生成。函数实现的过程中,会调用gen_image函数来生成图像,并返回图像生成的网址和本地文件地址。函数有多个参数,包括prompt(激励文本)、llm_kwargs(GPT模型的参数)、plugin_kwargs(插件模型的参数)等。函数核心代码使用了requests库向OpenAI API请求图像,并做了简单的处理和保存。函数还更新了交互界面,清空聊天历史并显示正在生成图像的消息和最终的图像网址和预览。

[18/48] 请对下面的程序文件做一个概述: crazy_functions\对话历史存档.py

这个文件是名为crazy_functions\对话历史存档.py的Python程序文件,包含了4个函数:

  1. write_chat_to_file(chatbot, history=None, file_name=None):用来将对话记录以Markdown格式写入文件中,并且生成文件名,如果没指定文件名则用当前时间。写入完成后将文件路径打印出来。

  2. gen_file_preview(file_name):从传入的文件中读取内容,解析出对话历史记录并返回前100个字符,用于文件预览。

  3. read_file_to_chat(chatbot, history, file_name):从传入的文件中读取内容,解析出对话历史记录并更新聊天显示框。

  4. 对话历史存档(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port):一个主要函数,用于保存当前对话记录并提醒用户。如果用户希望加载历史记录,则调用read_file_to_chat()来更新聊天显示框。如果用户希望删除历史记录,调用删除所有本地对话历史记录()函数完成删除操作。

[19/48] 请对下面的程序文件做一个概述: crazy_functions\总结word文档.py

该程序文件实现了一个总结Word文档的功能,使用Python的docx库读取docx格式的文件,使用pywin32库读取doc格式的文件。程序会先根据传入的txt参数搜索需要处理的文件,并逐个解析其中的内容,将内容拆分为指定长度的文章片段,然后使用另一个程序文件中的request_gpt_model_in_new_thread_with_ui_alive函数进行中文概述。最后将所有的总结结果写入一个文件中,并在界面上进行展示。

[20/48] 请对下面的程序文件做一个概述: crazy_functions\总结音视频.py

该程序文件包括两个函数:split_audio_file()和AnalyAudio(),并且导入了一些必要的库并定义了一些工具函数。split_audio_file用于将音频文件分割成多个时长相等的片段,返回一个包含所有切割音频片段文件路径的列表,而AnalyAudio用来分析音频文件,通过调用whisper模型进行音频转文字并使用GPT模型对音频内容进行概述,最终将所有总结结果写入结果文件中。

[21/48] 请对下面的程序文件做一个概述: crazy_functions\批量Markdown翻译.py

该程序文件名为批量Markdown翻译.py,包含了以下功能:读取Markdown文件,将长文本分离开来,将Markdown文件进行翻译(英译中和中译英),整理结果并退出。程序使用了多线程以提高效率。程序使用了tiktoken依赖库,可能需要额外安装。文件中还有一些其他的函数和类,但与文件名所描述的功能无关。

[22/48] 请对下面的程序文件做一个概述: crazy_functions\批量总结PDF文档.py

该文件是一个Python脚本,名为crazy_functions\批量总结PDF文档.py。在导入了一系列库和工具函数后,主要定义了5个函数,其中包括一个错误处理装饰器(@CatchException),用于批量总结PDF文档。该函数主要实现对PDF文档的解析,并调用模型生成中英文摘要。

[23/48] 请对下面的程序文件做一个概述: crazy_functions\批量总结PDF文档pdfminer.py

该程序文件是一个用于批量总结PDF文档的函数插件,使用了pdfminer插件和BeautifulSoup库来提取PDF文档的文本内容,对每个PDF文件分别进行处理并生成中英文摘要。同时,该程序文件还包括一些辅助工具函数和处理异常的装饰器。

[24/48] 请对下面的程序文件做一个概述: crazy_functions\批量翻译PDF文档_多线程.py

这个程序文件是一个Python脚本,文件名为“批量翻译PDF文档_多线程.py”。它主要使用了“toolbox”、“request_gpt_model_in_new_thread_with_ui_alive”、“request_gpt_model_multi_threads_with_very_awesome_ui_and_high_efficiency”、“colorful”等Python库和自定义的模块“crazy_utils”的一些函数。程序实现了一个批量翻译PDF文档的功能,可以自动解析PDF文件中的基础信息,递归地切割PDF文件,翻译和处理PDF论文中的所有内容,并生成相应的翻译结果文件(包括md文件和html文件)。功能比较复杂,其中需要调用多个函数和依赖库,涉及到多线程操作和UI更新。文件中有详细的注释和变量命名,代码比较清晰易读。

[25/48] 请对下面的程序文件做一个概述: crazy_functions\理解PDF文档内容.py

该程序文件实现了一个名为“理解PDF文档内容”的函数,该函数可以为输入的PDF文件提取摘要以及正文各部分的主要内容,并在提取过程中根据上下文关系进行学术性问题解答。该函数依赖于多个辅助函数和第三方库,并在执行过程中针对可能出现的异常进行了处理。

[26/48] 请对下面的程序文件做一个概述: crazy_functions\生成函数注释.py

该程序文件是一个Python模块文件,文件名为“生成函数注释.py”,定义了两个函数:一个是生成函数注释的主函数“生成函数注释”,另一个是通过装饰器实现异常捕捉的函数“批量生成函数注释”。该程序文件依赖于“toolbox”和本地“crazy_utils”模块,并且在运行时使用了多线程技术和GPT模型来生成注释。函数生成的注释结果使用Markdown表格输出并写入历史记录文件。

[27/48] 请对下面的程序文件做一个概述: crazy_functions\联网的ChatGPT.py

这是一个名为联网的ChatGPT.py的Python程序文件,其中定义了一个函数连接网络回答问题。该函数通过爬取搜索引擎的结果和访问网页来综合回答给定的问题,并使用ChatGPT模型完成回答。此外,该文件还包括一些工具函数,例如从网页中抓取文本和使用代理访问网页。

[28/48] 请对下面的程序文件做一个概述: crazy_functions\解析JupyterNotebook.py

这个程序文件包含了两个函数: parseNotebook()解析ipynb文件(),并且引入了一些工具函数和类。parseNotebook()函数将Jupyter Notebook文件解析为文本代码块,解析ipynb文件()函数则用于解析多个Jupyter Notebook文件,使用parseNotebook()解析每个文件和一些其他的处理。函数中使用了多线程处理输入和输出,并且将结果写入到文件中。

[29/48] 请对下面的程序文件做一个概述: crazy_functions\解析项目源代码.py

这是一个源代码分析的Python代码文件,其中定义了多个函数,包括解析一个Python项目、解析一个C项目、解析一个C项目的头文件和解析一个Java项目等。其中解析源代码新函数是实际处理源代码分析并生成报告的函数。该函数首先会逐个读取传入的源代码文件,生成对应的请求内容,通过多线程发送到chatgpt进行分析。然后将结果写入文件,并进行汇总分析。最后通过调用update_ui函数刷新界面,完整实现了源代码的分析。

[30/48] 请对下面的程序文件做一个概述: crazy_functions\询问多个大语言模型.py

该程序文件包含两个函数:同时问询()和同时问询_指定模型(),它们的作用是使用多个大语言模型同时对用户输入进行处理,返回对应模型的回复结果。同时问询()会默认使用ChatGPT和ChatGLM两个模型,而同时问询_指定模型()则可以指定要使用的模型。该程序文件还引用了其他的模块和函数库。

[31/48] 请对下面的程序文件做一个概述: crazy_functions\读文章写摘要.py

这个程序文件是一个Python模块,文件名为crazy_functions\读文章写摘要.py。该模块包含了两个函数,其中主要函数是"读文章写摘要"函数,其实现了解析给定文件夹中的tex文件,对其中每个文件的内容进行摘要生成,并根据各论文片段的摘要,最终生成全文摘要。第二个函数是"解析Paper"函数,用于解析单篇论文文件。其中用到了一些工具函数和库,如update_ui、CatchException、report_execption、write_results_to_file等。

[32/48] 请对下面的程序文件做一个概述: crazy_functions\谷歌检索小助手.py

该文件是一个Python模块,文件名为“谷歌检索小助手.py”。该模块包含两个函数,一个是“get_meta_information()”,用于从提供的网址中分析出所有相关的学术文献的元数据信息;另一个是“谷歌检索小助手()”,是主函数,用于分析用户提供的谷歌学术搜索页面中出现的文章,并提取相关信息。其中,“谷歌检索小助手()”函数依赖于“get_meta_information()”函数,并调用了其他一些Python模块,如“arxiv”、“math”、“bs4”等。

[33/48] 请对下面的程序文件做一个概述: crazy_functions\高级功能函数模板.py

该程序文件定义了一个名为高阶功能模板函数的函数,该函数接受多个参数,包括输入的文本、gpt模型参数、插件模型参数、聊天显示框的句柄、聊天历史等,并利用送出请求,使用 Unsplash API 发送相关图片。其中,为了避免输入溢出,函数会在开始时清空历史。函数也有一些 UI 更新的语句。该程序文件还依赖于其他两个模块:CatchException 和 update_ui,以及一个名为 request_gpt_model_in_new_thread_with_ui_alive 的来自 crazy_utils 模块(应该是自定义的工具包)的函数。

[34/48] 请对下面的程序文件做一个概述: request_llm\bridge_all.py

该文件包含两个函数:predict和predict_no_ui_long_connection,用于基于不同的LLM模型进行对话。该文件还包含一个lazyloadTiktoken类和一个LLM_CATCH_EXCEPTION修饰器函数。其中lazyloadTiktoken类用于懒加载模型的tokenizer,LLM_CATCH_EXCEPTION用于错误处理。整个文件还定义了一些全局变量和模型信息字典,用于引用和配置LLM模型。

[35/48] 请对下面的程序文件做一个概述: request_llm\bridge_chatglm.py

这是一个Python程序文件,名为bridge_chatglm.py,其中定义了一个名为GetGLMHandle的类和三个方法:predict_no_ui_long_connectionpredictstream_chat。该文件依赖于多个Python库,如transformerssentencepiece。该文件实现了一个聊天机器人,使用ChatGLM模型来生成回复,支持单线程和多线程方式。程序启动时需要加载ChatGLM的模型和tokenizer,需要一段时间。在配置文件config.py中设置参数会影响模型的内存和显存使用,因此程序可能会导致低配计算机卡死。

[36/48] 请对下面的程序文件做一个概述: request_llm\bridge_chatgpt.py

该文件为 Python 代码文件,文件名为 request_llm\bridge_chatgpt.py。该代码文件主要提供三个函数:predict、predict_no_ui和 predict_no_ui_long_connection,用于发送至 chatGPT 并等待回复,获取输出。该代码文件还包含一些辅助函数,用于处理连接异常、生成 HTTP 请求等。该文件的代码架构清晰,使用了多个自定义函数和模块。

[37/48] 请对下面的程序文件做一个概述: request_llm\bridge_jittorllms_llama.py

该代码文件实现了一个聊天机器人,其中使用了 JittorLLMs 模型。主要包括以下几个部分:

  1. GetGLMHandle 类:一个进程类,用于加载 JittorLLMs 模型并接收并处理请求。
  2. predict_no_ui_long_connection 函数:一个多线程方法,用于在后台运行聊天机器人。
  3. predict 函数:一个单线程方法,用于在前端页面上交互式调用聊天机器人,以获取用户输入并返回相应的回复。

这个文件中还有一些辅助函数和全局变量,例如 importlib、time、threading 等。

[38/48] 请对下面的程序文件做一个概述: request_llm\bridge_jittorllms_pangualpha.py

这个文件是为了实现使用jittorllms(一种机器学习模型)来进行聊天功能的代码。其中包括了模型加载、模型的参数加载、消息的收发等相关操作。其中使用了多进程和多线程来提高性能和效率。代码中还包括了处理依赖关系的函数和预处理函数等。

[39/48] 请对下面的程序文件做一个概述: request_llm\bridge_jittorllms_rwkv.py

这个文件是一个Python程序,文件名为request_llm\bridge_jittorllms_rwkv.py。它依赖transformers、time、threading、importlib、multiprocessing等库。在文件中,通过定义GetGLMHandle类加载jittorllms模型参数和定义stream_chat方法来实现与jittorllms模型的交互。同时,该文件还定义了predict_no_ui_long_connection和predict方法来处理历史信息、调用jittorllms模型、接收回复信息并输出结果。

[40/48] 请对下面的程序文件做一个概述: request_llm\bridge_moss.py

该文件为一个Python源代码文件,文件名为 request_llm\bridge_moss.py。代码定义了一个 GetGLMHandle 类和两个函数 predict_no_ui_long_connection 和 predict。

GetGLMHandle 类继承自Process类(多进程),主要功能是启动一个子进程并加载 MOSS 模型参数,通过 Pipe 进行主子进程的通信。该类还定义了 check_dependency、moss_init、run 和 stream_chat 等方法,其中 check_dependency 和 moss_init 是子进程的初始化方法,run 是子进程运行方法,stream_chat 实现了主进程和子进程的交互过程。

函数 predict_no_ui_long_connection 是多线程方法,调用 GetGLMHandle 类加载 MOSS 参数后使用 stream_chat 实现主进程和子进程的交互过程。

函数 predict 是单线程方法,通过调用 update_ui 将交互过程中 MOSS 的回复实时更新到UI(User Interface)中,并执行一个 named function(additional_fn)指定的函数对输入进行预处理。

[41/48] 请对下面的程序文件做一个概述: request_llm\bridge_newbing.py

这是一个名为bridge_newbing.py的程序文件,包含三个部分:

第一部分使用from语句导入了edge_gpt模块的NewbingChatbot类。

第二部分定义了一个名为NewBingHandle的继承自进程类的子类,该类会检查依赖性并启动进程。同时,该部分还定义了一个名为predict_no_ui_long_connection的多线程方法和一个名为predict的单线程方法,用于与NewBing进行通信。

第三部分定义了一个名为newbing_handle的全局变量,并导出了predict_no_ui_long_connectionpredict这两个方法,以供其他程序可以调用。

[42/48] 请对下面的程序文件做一个概述: request_llm\bridge_newbingfree.py

这个Python文件包含了三部分内容。第一部分是来自edge_gpt_free.py文件的聊天机器人程序。第二部分是子进程Worker,用于调用主体。第三部分提供了两个函数:predict_no_ui_long_connection和predict用于调用NewBing聊天机器人和返回响应。其中predict函数还提供了一些参数用于控制聊天机器人的回复和更新UI界面。

[43/48] 请对下面的程序文件做一个概述: request_llm\bridge_stackclaude.py

这是一个Python源代码文件,文件名为request_llm\bridge_stackclaude.py。代码分为三个主要部分:

第一部分定义了Slack API Client类,实现Slack消息的发送、接收、循环监听,用于与Slack API进行交互。

第二部分定义了ClaudeHandle类,继承Process类,用于创建子进程Worker,调用主体,实现Claude与用户交互的功能。

第三部分定义了predict_no_ui_long_connection和predict两个函数,主要用于通过调用ClaudeHandle对象的stream_chat方法来获取Claude的回复,并更新ui以显示相关信息。其中predict函数采用单线程方法,而predict_no_ui_long_connection函数使用多线程方法。

[44/48] 请对下面的程序文件做一个概述: request_llm\bridge_tgui.py

该文件是一个Python代码文件,名为request_llm\bridge_tgui.py。它包含了一些函数用于与chatbot UI交互,并通过WebSocket协议与远程LLM模型通信完成文本生成任务,其中最重要的函数是predict()和predict_no_ui_long_connection()。这个程序还有其他的辅助函数,如random_hash()。整个代码文件在协作的基础上完成了一次修改。

[45/48] 请对下面的程序文件做一个概述: request_llm\edge_gpt.py

该文件是一个用于调用Bing chatbot API的Python程序,它由多个类和辅助函数构成,可以根据给定的对话连接在对话中提出问题,使用websocket与远程服务通信。程序实现了一个聊天机器人,可以为用户提供人工智能聊天。

[46/48] 请对下面的程序文件做一个概述: request_llm\edge_gpt_free.py

该代码文件为一个会话API,可通过Chathub发送消息以返回响应。其中使用了 aiohttp 和 httpx 库进行网络请求并发送。代码中包含了一些函数和常量,多数用于生成请求数据或是请求头信息等。同时该代码文件还包含了一个 Conversation 类,调用该类可实现对话交互。

[47/48] 请对下面的程序文件做一个概述: request_llm\test_llms.py

这个文件是用于对llm模型进行单元测试的Python程序。程序导入一个名为"request_llm.bridge_newbingfree"的模块,然后三次使用该模块中的predict_no_ui_long_connection()函数进行预测,并输出结果。此外,还有一些注释掉的代码段,这些代码段也是关于模型预测的。

用一张Markdown表格简要描述以下文件的功能:

check_proxy.py, colorful.py, config.py, config_private.py, core_functional.py, crazy_functional.py, main.py, multi_language.py, theme.py, toolbox.py, crazy_functions\crazy_functions_test.py, crazy_functions\crazy_utils.py, crazy_functions\Latex全文润色.py, crazy_functions\Latex全文翻译.py, crazy_functions_init_.py, crazy_functions\下载arxiv论文翻译摘要.py。根据以上分析,用一句话概括程序的整体功能。

文件名 功能描述
check_proxy.py 检查代理有效性及地理位置
colorful.py 控制台打印彩色文字
config.py 配置和参数设置
config_private.py 私人配置和参数设置
core_functional.py 核心函数和参数设置
crazy_functional.py 高级功能插件集合
main.py 一个 Chatbot 程序,提供各种学术翻译、文本处理和其他查询服务
multi_language.py 识别和翻译不同语言
theme.py 自定义 gradio 应用程序主题
toolbox.py 工具类库,用于协助实现各种功能
crazy_functions\crazy_functions_test.py 测试 crazy_functions 中的各种函数
crazy_functions\crazy_utils.py 工具函数,用于字符串处理、异常检测、Markdown 格式转换等
crazy_functions\Latex全文润色.py 对整个 Latex 项目进行润色和纠错
crazy_functions\Latex全文翻译.py 对整个 Latex 项目进行翻译
crazy_functions_init_.py 模块初始化文件,标识 crazy_functions 是一个包
crazy_functions\下载arxiv论文翻译摘要.py 下载 arxiv 论文的 PDF 文件,并提取摘要和翻译

这些程序源文件提供了基础的文本和语言处理功能、工具函数和高级插件,使 Chatbot 能够处理各种复杂的学术文本问题,包括润色、翻译、搜索、下载、解析等。

用一张Markdown表格简要描述以下文件的功能:

crazy_functions\代码重写为全英文_多线程.py, crazy_functions\图片生成.py, crazy_functions\对话历史存档.py, crazy_functions\总结word文档.py, crazy_functions\总结音视频.py, crazy_functions\批量Markdown翻译.py, crazy_functions\批量总结PDF文档.py, crazy_functions\批量总结PDF文档pdfminer.py, crazy_functions\批量翻译PDF文档_多线程.py, crazy_functions\理解PDF文档内容.py, crazy_functions\生成函数注释.py, crazy_functions\联网的ChatGPT.py, crazy_functions\解析JupyterNotebook.py, crazy_functions\解析项目源代码.py, crazy_functions\询问多个大语言模型.py, crazy_functions\读文章写摘要.py。根据以上分析,用一句话概括程序的整体功能。

文件名 功能简述
代码重写为全英文_多线程.py 将Python源代码文件中的中文内容转化为英文
图片生成.py 根据激励文本使用GPT模型生成相应的图像
对话历史存档.py 将每次对话记录写入Markdown格式的文件中
总结word文档.py 对输入的word文档进行摘要生成
总结音视频.py 对输入的音视频文件进行摘要生成
批量Markdown翻译.py 将指定目录下的Markdown文件进行中英文翻译
批量总结PDF文档.py 对PDF文件进行切割和摘要生成
批量总结PDF文档pdfminer.py 对PDF文件进行文本内容的提取和摘要生成
批量翻译PDF文档_多线程.py 将指定目录下的PDF文件进行中英文翻译
理解PDF文档内容.py 对PDF文件进行摘要生成和问题解答
生成函数注释.py 自动生成Python函数的注释
联网的ChatGPT.py 使用网络爬虫和ChatGPT模型进行聊天回答
解析JupyterNotebook.py 对Jupyter Notebook进行代码解析
解析项目源代码.py 对指定编程语言的源代码进行解析
询问多个大语言模型.py 使用多个大语言模型对输入进行处理和回复
读文章写摘要.py 对论文进行解析和全文摘要生成

概括程序的整体功能:提供了一系列处理文本、文件和代码的功能,使用了各类语言模型、多线程、网络请求和数据解析技术来提高效率和精度。

用一张Markdown表格简要描述以下文件的功能:

crazy_functions\谷歌检索小助手.py, crazy_functions\高级功能函数模板.py, request_llm\bridge_all.py, request_llm\bridge_chatglm.py, request_llm\bridge_chatgpt.py, request_llm\bridge_jittorllms_llama.py, request_llm\bridge_jittorllms_pangualpha.py, request_llm\bridge_jittorllms_rwkv.py, request_llm\bridge_moss.py, request_llm\bridge_newbing.py, request_llm\bridge_newbingfree.py, request_llm\bridge_stackclaude.py, request_llm\bridge_tgui.py, request_llm\edge_gpt.py, request_llm\edge_gpt_free.py, request_llm\test_llms.py。根据以上分析,用一句话概括程序的整体功能。

文件名 功能描述
crazy_functions\谷歌检索小助手.py 提供谷歌学术搜索页面中相关文章的元数据信息。
crazy_functions\高级功能函数模板.py 使用Unsplash API发送相关图片以回复用户的输入。
request_llm\bridge_all.py 基于不同LLM模型进行对话。
request_llm\bridge_chatglm.py 使用ChatGLM模型生成回复,支持单线程和多线程方式。
request_llm\bridge_chatgpt.py 基于GPT模型完成对话。
request_llm\bridge_jittorllms_llama.py 使用JittorLLMs模型完成对话,支持单线程和多线程方式。
request_llm\bridge_jittorllms_pangualpha.py Use the JittorLLMs model to complete the dialogue, based on multi-process and multi-thread methods.
request_llm\bridge_jittorllms_rwkv.py Use the JittorLLMs model to complete the chat function, providing multiple functional options including historical information, parameter adjustment, etc.
request_llm\bridge_moss.py Load the Moss model to complete the dialogue function.
request_llm\bridge_newbing.py Use the Newbing chatbot to have a conversation, supporting single-threaded and multi-threaded methods.
request_llm\bridge_newbingfree.py Realize the text generation function of chatbot based on Bing chatbot API.
request_llm\bridge_stackclaude.py Realize the interaction between Claude and users based on Slack API.
request_llm\bridge_tgui.py The interaction between the chat robot and the UI interface is realized through websocket.
request_llm\edge_gpt.py Call Bing chatbot API to provide chatbot service.
request_llm\edge_gpt_free.py Implement chatbot API, using aiohttp and httpx tool libraries.
request_llm\test_llms.py Unit test the llm model.
The overall function of the program Implement different kinds of chatbots that can do text generation based on input.

Recommended learning materials

代码中参考了很多其他优秀项目中的设计,顺序不分先后:

# 清华ChatGLM-6B:
https://github.com/THUDM/ChatGLM-6B

# 清华JittorLLMs:
https://github.com/Jittor/JittorLLMs

# ChatPaper:
https://github.com/kaixindelele/ChatPaper

# Edge-GPT:
https://github.com/acheong08/EdgeGPT

# ChuanhuChatGPT:
https://github.com/GaiZhenbiao/ChuanhuChatGPT

# Oobabooga one-click installer:
https://github.com/oobabooga/one-click-installers

# More:
https://github.com/gradio-app/gradio
https://github.com/fghrsh/live2d_demo

Related information download

https://download.csdn.net/download/sinat_39620217/88010027

Guess you like

Origin blog.csdn.net/sinat_39620217/article/details/132123545