ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

GPT Academic 阿拉伯语版 README 解读:基于 Gradio 的学术对话界面安装、配置与插件化定制实战

GPT Academic 阿拉伯语版 README 解读:基于 Gradio 的学术对话界面安装、配置与插件化定制实战 GPT Academic 阿拉伯语版 README 解读基于 Gradio 的学术对话界面安装、配置与插件化定制实战【免费下载链接】gpt_academic为GPT/GLM等LLM大语言模型提供实用化交互接口特别优化论文阅读/润色/写作体验模块化设计支持自定义快捷按钮函数插件支持Python和C等项目剖析自译解功能PDF/LaTex论文翻译总结功能支持并行问询多种LLM模型支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。项目地址: https://gitcode.com/GitHub_Trending/gp/gpt_academic本文以 docs/README.Arabic.md 这份阿拉伯语版 README 为主线完整还原 GPT Academic 的安装部署路径直接运行与 Docker 两种方式、三级配置加载体系、核心配置项、自定义快捷按钮与函数插件的定制方法。读完后你可以独立部署一个面向论文阅读/润色/翻译场景的 LLM 交互界面并通过修改 core_functional.py 与 crazy_functional.py 扩展出属于自己的快捷功能。一、这份阿拉伯语 README 是什么docs/README.Arabic.md 是本项目主 README 的阿拉伯语版本文档开头明确说明本 README 文件是使用 GPT通过本项目的插件翻译生成的翻译可能并非 100% 可靠请谨慎辨别翻译结果。同时文档提示了两个关键事实均与仓库源码互相印证翻译来源机制文档提到要将本项目翻译成任意语言请阅读并运行multi_language.py实验性。查看 multi_language.py 源码可以印证这一流程脚本通过 AST 解析全仓库的.py文件提取含中文的变量名step_1_core_key_translatemulti_language.py#L295-L387与字符串字面量step_2_core_key_translatemulti_language.py#L390-L520调用 LLM 批量翻译后写入docs/translate_{language}.json缓存映射例如仓库中实际存在的 docs/translate_english.json 与 docs/translate_japanese.json再在副本目录multi-language/{LANG}/内做全局字符串替换。这也解释了为何仓库的 docs/ 目录下并排存放了 Arabic、English、French、German、Italian、Japanese、Korean、Portuguese、Russian 等多语言 README——它们都是同一套机制的产物。依赖安装提醒文档顶部 2023.11.7 的备注要求安装依赖时必须使用requirements.txt中锁定的版本命令为pip install -r requirements.txt。这一要求在 main.py#L36-L38 中有硬性校验启动时会检查 Gradio 版本必须为3.32.15否则直接抛出ModuleNotFoundError提示必须运行pip install -r requirements.txt。二、功能全景一份能力清单阿拉伯语 README 用一张表格列举了项目能力按仓库当前实现整理如下表中⭐为文档标注的新增功能功能说明对应仓库实现接入多种 LLMGPT3.5/GPT4、ChatGLM2/3、通义千问、文心一言、讯飞星火、LLaMA2、MOSS、DALLE3 等request_llms/ 目录下的各bridge_*.py桥接文件学术润色/纠错/翻译论文语法即时纠错、学术写作润色、代码注释润色core_functional.py 中的学术语料润色查找语法错误学术英中互译等按钮自定义快捷按钮支持在基础功能区注册自定义提示词按钮core_functional.py可扩展插件体系支持强大的自定义函数插件提示词可热更新crazy_functional.py程序剖析对 Python/C/C/Java/Lua 等语言代码进行树状解析或自译解crazy_functions/SourceCode_Analyse.py论文阅读与翻译LaTeX/PDF 论文全文解析、翻译与摘要crazy_functions/PDF_Translate.py、crazy_functions/Latex_Function.py批量生成函数注释一次性为代码批量补注释crazy_functions/Program_Comment_Gen.pyArxiv 辅助输入 Arxiv 链接即可翻译摘要并下载 PDFcrazy_functions/Arxiv_Downloader.pyLaTeX 一键纠错基于语法的 LaTeX 纠错crazy_functions/latex_fns/网页信息聚合联网检索信息后交给 GPT 作答保证信息时效性crazy_functions/Internet_GPT.py语音输入非同步语音输入自动断句并自动计时回答docs/use_audio.md、crazy_functions/live_audio/公式/图片/表格渲染输出含 LaTeX 公式时支持 TEX 源码与图形两种展示方式支持代码高亮shared_utils/advanced_markdown_format.py暗色模式浏览器地址追加/?__themedark切换暗色界面themes/theme.py虚空终端用自然语言执行项目其他插件任务crazy_functions/Void_Terminal.py并行问询多模型同时向多个 LLM 提问crazy_functions/Multi_LLM_Query.py文档还特别指出两点使用注意只有带⭐标注的插件支持读取文件部分插件不在按钮区直接展示而是收在函数插件区的下拉菜单里源码印证main.py#L159-L167 中非按钮插件或带高级参数的插件会被收集进更多函数插件下拉列表。所有文件的功能都可以点击对应自译解插件让 GPT 重新生成理解报告即 docs/self_analysis.md 的生成方式。三、安装方式一直接运行Windows / Linux / macOS3.1 下载项目git clone --depth1 https://github.com/binary-husky/gpt_academic.git cd gpt_academic3.2 配置config.pyREADME 强调的核心是三级配置加载优先级环境变量 config_private.py config.py这一优先级并非口头约定在 shared_utils/config_loader.py#L64-L77 中有明确的实现read_single_conf_with_lru_cache先尝试read_env_variable环境变量失败后尝试导入config_private模块再失败才回落到config.py的同名变量。config.py 文件头部的 docstring第 1~7 行同样声明了这一顺序。因此官方推荐做法是在 config.py 旁新建config_private.py只把改动过的配置项拷贝进去其余保持config.py原值。这样既保留了私钥不入库的隔离性又不用维护一整份拷贝。环境变量的写法带GPT_ACADEMIC_前缀优先见 shared_utils/config_loader.py#L10-L25 的示例# 两种写法均支持前缀写法优先 set GPT_ACADEMIC_USE_PROXYTrue set GPT_ACADEMIC_API_KEYsk-j7caBpkRoxxxxxxxxxxxxxxxxxxxxxxxxxxxx set GPT_ACADEMIC_AVAIL_LLM_MODELS[gpt-3.5-turbo, chatglm]与文档对应、且在当前 config.py 中真实存在的关键配置项配置项作用说明API_KEY接入 OpenAI 家族支持多 key 负载英文逗号分隔如API_KEYsk-key1,sk-key2,azure-key3启动时 config_loader.py#L85-L91 会校验 key 格式并打印脱敏确认日志USE_PROXY/proxies代理设置默认Falseproxies单独填写不会生效必须配合USE_PROXYTrueconfig_loader.py#L92-L98LLM_MODEL默认模型必须包含在AVAIL_LLM_MODELS列表中main.py#L55 会自动补齐越界值AVAIL_LLM_MODELS可选模型列表当前默认包含 qwen、gpt-4o、glm、deepseek 等还支持one-api-*、vllm-*、ollama-*、openrouter-*前缀接入非标模型DEFAULT_WORKER_NUM多线程插件并发当前默认 8文档给出经验值OpenAI 免费试用用户填 3绑定信用卡的用户可填 16 或更高LAYOUT布局修改为TOP-DOWN可把左右布局切换为上下布局main.py#L90-L93 据此交换行/列并压缩聊天区高度THEME/AVAIL_THEMES主题当前可用[Default, Chuanhu-Small-and-Beautiful, High-Contrast, Gstaff/Xkcd, NoCrypt/Miku]ADD_WAIFUlive2d 桌宠默认关闭需修改此配置开启NUM_CUSTOM_BASIC_BTN自定义按钮数量见下文 4.1 节3.3 安装依赖# 方式一已安装 Python3.9直接 python -m pip install -r requirements.txt # 方式二Anaconda 虚拟环境 conda create -n gptac_venv python3.11 conda activate gptac_venv python -m pip install -r requirements.txtREADME 注明国内网络环境可以临时更换 pip 镜像源例如追加-i https://mirrors.aliyun.com/pypi/simple/。可选步骤本地模型支持。如需 ChatGLM2清华或 MOSS复旦本地推理需要额外安装依赖前置条件会 Python、装过 PyTorch、有较强硬件# 【可选 1】ChatGLM2 python -m pip install -r request_llms/requirements_chatglm.txt # 【可选 2】MOSS python -m pip install -r request_llms/requirements_moss.txt git clone --depth1 https://github.com/OpenLMLab/MOSS.git request_llms/moss # 需在项目根目录执行 # 【可选 3】确认 config.py 中 AVAIL_LLM_MODELS 包含目标模型 AVAIL_LLM_MODELS [gpt-3.5-turbo, gpt-4, chatglm, moss] \ # [jittorllms_rwkv, jittorllms_pangualpha, jittorllms_llama]这些 requirements 文件在仓库中真实存在request_llms/requirements_chatglm.txt、request_llms/requirements_moss.txt 等。3.4 启动python main.py从 main.py#L35-L355 的启动流程可以了解背后发生了什么校验 Gradio 版本 → 通过get_conf读取配置代理、端口、模型列表等→check_proxy探测代理连通性 → 按LAYOUT构建 Gradio 界面输入区、基础功能区、函数插件区、文件上传区→ 注册各按钮回调 → 启动后台线程做自动更新检查与 tiktoken 预热main.py#L335-L351→ 最终由 shared_utils/fastapi_server.py 的start_app提供服务并自动打开浏览器。四、进阶一自定义快捷按钮学术语料快捷键文档的使用进阶 I一节讲解如何新建自定义按钮对应 core_functional.py 的get_core_functions字典。文档给出的示例超级翻译英语到阿拉伯语: { # 前缀拼接到你的输入之前。用于描述你的要求如翻译、解释代码、润色等 Prefix: 请将以下文本翻译成阿拉伯语并用 Markdown 表格解释文中出现的专业术语\n\n, # 后缀拼接到你的输入之后。可配合前缀把输入内容用引号包裹 Suffix: , },结合源码每个按钮项支持的完整键如下以 core_functional.py#L13-L37 的学术语料润色为例注释即官方说明学术语料润色: { # [1*] 前缀字符串加在输入之前 Prefix: ..., # [2*] 后缀字符串加在输入之后 Suffix: , # [3] 按钮颜色可选默认 secondary Color: secondary, # [4] 按钮是否可见可选默认 True Visible: True, # [5] 触发时是否清除历史可选默认 False AutoClearHistory: False, # [6] 文本预处理函数可选如清除换行符 PreProcess: None, # [7] 强制指定模型覆盖全局模型可选 # ModelOverride: gpt-3.5-turbo, }热更新机制是这套设计的亮点。core_functional.py#L150-L158 的handle_core_functionality每次触发时都会执行importlib.reload(core_functional)重新加载模块因此修改提示词后无需重启服务即生效——这与 README如果按钮已存在可以直接热编辑其前后缀无需重启程序的表述一致。另外界面上自定义按钮 1..N由NUM_CUSTOM_BASIC_BTN控制数量main.py#L133-L136支持通过前端浮动菜单在线改写 Prefix/Suffix并持久化到 cookie 缓存属于不落盘的轻量定制路径。五、进阶二自定义函数插件文档的使用进阶 II引导读者编写函数插件只需具备基础 Python 知识并参照官方模板。仓库提供了标准模板 crazy_functions/plugin_template/plugin_class_template.py 与函数式示例 crazy_functions/高级功能函数模板.py。所有内置插件在 crazy_functional.py 的get_crazy_functions中注册每个插件带有Group分组标签用于插件区分组显示、Color、AsButton是否显示为按钮、AdvancedArgs是否需要高级参数区等元信息main.py#L74-L75 用Group标签把插件划分进下拉分组未选中分组或AsButtonFalse的插件会收进更多函数插件下拉菜单——这正是文档所说部分插件在下拉菜单中的源码依据。六、安装方式二Docker 部署README 给出三个 Docker 档位对应 docker-compose.yml 中的方案注释档位镜像适用场景方案零全能力gpt_academic_with_all_capacity:master含 CUDA 与 LaTeX 的大镜像想一次拉齐全部能力网速慢、磁盘小则不推荐方案一仅在线模型gpt_academic_nolocal:master推荐给大多数人仅 ChatGPT/Azure/星火/千帆/Claude 等在线服务方案二本地模型gpt_academic_chatglm_moss:master需要运行 ChatGLM/Qwen/MOSS要求会用 Nvidia Docker方案三Jittorllmsgpt_academic_jittorllms:masterLLaMA/盘古/RWKK 本地模型方案四LaTeXgpt_academic_with_latex:masterChatGPT LaTeX 附加能力ARM64 用_arm镜像方案五语音助手gpt_academic_audio_assistant:master先阅读 docs/use_audio.md使用方式统一编辑 docker-compose.yml只保留一个方案的 services 块、删掉其余按注释提示配置API_KEY、LLM_MODEL、AVAIL_LLM_MODELS、WEB_PORT等环境变量环境变量写法等价于容器内的配置覆写见 3.2 节的优先级说明然后docker-compose up端口暴露有两种互斥方式docker-compose.yml#L7-L12Linux 上默认network_mode: host与宿主网络融合Windows/macOS 需删除该行改用ports: - 12345:12345端口映射且宿主机端口必须与WEB_PORT一致。需要 GPU 时启用被注释的runtime: nvidia与LOCAL_MODEL_DEVICE: cuda选项方案二/三中已给出devices: - /dev/nvidia0:/dev/nvidia0示例。七、其他部署途径与使用提示README 的安装方式三还列出若干旁路按当前仓库状态核对如下Windows 一键脚本面向不熟悉 Python 环境用户的发布脚本致谢 [oobabooga/one-click-installers] 的上游贡献此处不附外部链接安装不含本地模型能力的版本。第三方 API / Azure / 其他平台走 wiki 配置说明仓库内对应 docs/models/azure.md、docs/models/transit_api.md 等章节。云服务器部署排坑见 docs/deployment/ 下的cloud_deploy.md、reverse_proxy.md。FastAPI 子路径部署以http://localhost/subpath形式运行参考 docs/WithFastapi.md实现位于 shared_utils/fastapi_server.py。文档更新章节列出的长期特性与仓库对应关系会话保存/恢复调用插件区保存当前对话生成可读 HTML载入对话记录恢复可直接点击载入对话记录不指定文件查看 HTML 缓存。对应实现见 tests/test_save_chat_to_html.py。虚空终端两步操作——先输入请调用学术文章 PDF 翻译功能文章链接是 https://...再点击虚空终端。实现为 crazy_functions/Void_Terminal.py。主题切换修改config.py的THEME当前可选值见 3.2 节表格暗色模式可在 URL 末尾追加/?__themedark。live2d 桌宠默认关闭需修改config.py的ADD_WAIFU开启前端资源在 themes/waifu_plugin/。文档末尾的分支说明与已知问题也值得留意master为稳定分支、frontier为开发分支已知问题包括浏览器翻译插件可能与前端冲突、Gradio 兼容性——因此再次强调必须用requirements.txt锁定版本安装与 3.3 节及 main.py#L37 的版本硬校验呼应。八、小结docs/README.Arabic.md 虽然是一份机器辅助翻译的多语言 README但它完整保留了主 README 的工程信息骨架多模型接入与负载均衡多 key 逗号分隔、环境变量 config_private.py config.py的三级配置体系可在 shared_utils/config_loader.py 中逐行验证、core_functional.py的提示词按钮热更新机制、crazy_functional.py的插件分组体系以及 docker-compose.yml 六套镜像档位。对于需要快速落地一个论文翻译 润色 代码剖析一体化界面、并期望以最低成本自定义按钮与插件的开发者这份文档加上前文给出的源码坐标足以支撑从克隆、配置到二次定制的完整路径。【免费下载链接】gpt_academic为GPT/GLM等LLM大语言模型提供实用化交互接口特别优化论文阅读/润色/写作体验模块化设计支持自定义快捷按钮函数插件支持Python和C等项目剖析自译解功能PDF/LaTex论文翻译总结功能支持并行问询多种LLM模型支持chatglm3等本地模型。接入通义千问, deepseekcoder, 讯飞星火, 文心一言, llama2, rwkv, claude2, moss等。项目地址: https://gitcode.com/GitHub_Trending/gp/gpt_academic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表