| > **Note** |
| > |
| > Этот файл самовыражения автоматически генерируется модулем перевода markdown в этом проекте и может быть не на 100% правильным. |
| > |
| |
| # <img src="logo.png" width="40" > ChatGPT Academic Optimization |
|
|
| **Если вам понравился этот проект, пожалуйста, поставьте ему звезду. Если вы придумали более полезные академические ярлыки или функциональные плагины, не стесняйтесь создавать запросы на изменение или пул-запросы. Мы также имеем [README на английском языке](docs/README_EN.md), переведенный этим же проектом. |
| |
| > **Примечание** |
| > |
| > 1. Пожалуйста, обратите внимание, что только функциonal plugins (buttons) с **красным цветом** могут читать файлы, некоторые из которых находятся в **выпадающем меню** плагинов. Кроме того, мы приветствуем и обрабатываем любые новые плагины с **наивысшим приоритетом**! |
| > |
| > 2. Функции каждого файла в этом проекте подробно описаны в собственном анализе [`self_analysis.md`](https://github.com/binary-husky/chatgpt_academic/wiki/chatgpt-academic%E9%A1%B9%E7%9B%AE%E8%87%AA%E8%AF%91%E8%A7%A3%E6%8A%A5%E5%91%8A) . При повторных итерациях вы также можете вызывать обновленный отчет функций проекта, щелкнув соответствующий функциональный плагин GPT. Часто задаваемые вопросы собраны в [`wiki`](https://github.com/binary-husky/chatgpt_academic/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) . |
|
|
| <div align="center"> |
| |
| Функция | Описание |
| --- | --- |
| Редактирование одним кликом | Поддержка редактирования одним кликом, поиск грамматических ошибок в академических статьях |
| Переключение языков "Английский-Китайский" одним кликом | Одним кликом переключайте языки "Английский-Китайский" |
| Разъяснение программного кода одним кликом | Вы можете правильно отобразить и объяснить программный код. |
| [Настраиваемые сочетания клавиш](https://www.bilibili.com/video/BV14s4y1E7jN) | Поддержка настраиваемых сочетаний клавиш |
| [Настройка сервера-прокси](https://www.bilibili.com/video/BV1rc411W7Dr) | Поддержка настройки сервера-прокси |
| Модульный дизайн | Поддержка настраиваемых функциональных плагинов высших порядков и функциональных плагинов, поддерживающих [горячее обновление](https://github.com/binary-husky/chatgpt_academic/wiki/%E5%87%BD%E6%95%B0%E6%8F%92%E4%BB%B6%E6%8C%87%E5%8D%97) |
| [Автоанализ программы](https://www.bilibili.com/video/BV1cj411A7VW) | [Функциональный плагин] [Прочтение в один клик](https://github.com/binary-husky/chatgpt_academic/wiki/chatgpt-academic%E9%A1%B9%E7%9B%AE%E8%87%AA%E8%AF%91%E8%A7%A3%E6%8A%A5%E5%91%8A) кода программы проекта |
| [Анализ программы](https://www.bilibili.com/video/BV1cj411A7VW) | [Функциональный плагин] Один клик для проанализирования дерева других проектов Python/C/C++/Java/Lua/... |
| Чтение статей| [Функциональный плагин] Одним кликом прочитайте весь латех (LaTex) текст статьи и сгенерируйте краткое описание |
| Перевод и редактирование всех статей из LaTex | [Функциональный плагин] Перевод или редактирование LaTex-статьи всего одним нажатием кнопки |
| Генерация комментариев в пакетном режиме | [Функциональный плагин] Одним кликом сгенерируйте комментарии к функциям в пакетном режиме |
| Генерация отчетов пакета CHAT | [Функциональный плагин] Автоматически создавайте сводные отчеты после выполнения |
| [Помощник по arxiv](https://www.bilibili.com/video/BV1LM4y1279X) | [Функциональный плагин] Введите URL статьи arxiv, чтобы легко перевести резюме и загрузить PDF-файл |
| [Перевод полного текста статьи в формате PDF](https://www.bilibili.com/video/BV1KT411x7Wn) | [Функциональный плагин] Извлеките заголовок статьи, резюме и переведите весь текст статьи (многопоточно) |
| [Помощник интеграции Google Scholar](https://www.bilibili.com/video/BV19L411U7ia) | [Функциональный плагин] Дайте GPT выбрать для вас интересные статьи на любой странице поиска Google Scholar. |
| Отображение формул/изображений/таблиц | Одновременно отображается tex-форма и рендер-форма формул, поддержка формул, высокоскоростных кодов |
| Поддержка функциональных плагинов многопоточности | Поддержка многопоточной работы с плагинами, обрабатывайте огромные объемы текста или программы одним кликом |
| Запуск темной темы gradio[подробнее](https://github.com/binary-husky/chatgpt_academic/issues/173) | Добавьте / ?__dark-theme=true в конец URL браузера, чтобы переключиться на темную тему. |
| [Поддержка нескольких моделей LLM](https://www.bilibili.com/video/BV1wT411p7yf), поддержка API2D | Находиться между GPT3.5, GPT4 и [清华ChatGLM](https://github.com/THUDM/ChatGLM-6B) должно быть очень приятно, не так ли? |
| Альтернатива huggingface без использования научной сети [Онлайн-эксперимент](https://huggingface.co/spaces/qingxu98/gpt-academic) | Войдите в систему, скопируйте пространство [этот пространственный URL](https://huggingface.co/spaces/qingxu98/gpt-academic) |
| …… | …… |
| |
|
|
| </div> |
|
|
| - Новый интерфейс (вы можете изменить настройку LAYOUT в config.py, чтобы переключаться между "горизонтальным расположением" и "вертикальным расположением") |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/230361456-61078362-a966-4eb5-b49e-3c62ef18b860.gif" width="700" > |
| </div> |
|
|
|
|
| Вы профессиональный переводчик научных статей. |
|
|
| - Все кнопки генерируются динамически путем чтения functional.py и могут быть легко настроены под пользовательские потребности, освобождая буфер обмена. |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/231975334-b4788e91-4887-412f-8b43-2b9c5f41d248.gif" width="700" > |
| </div> |
|
|
| - Редактирование/корректирование |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/231980294-f374bdcb-3309-4560-b424-38ef39f04ebd.gif" width="700" > |
| </div> |
|
|
| - Если вывод содержит формулы, они отображаются одновременно как в формате tex, так и в рендеринговом формате для удобства копирования и чтения. |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/230598842-1d7fcddd-815d-40ee-af60-baf488a199df.png" width="700" > |
| </div> |
|
|
| - Лень смотреть код проекта? Просто покажите chatgpt. |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/226935232-6b6a73ce-8900-4aee-93f9-733c7e6fef53.png" width="700" > |
| </div> |
|
|
| - Несколько моделей больших языковых моделей смешиваются (ChatGLM + OpenAI-GPT3.5 + [API2D] (https://api2d.com/) -GPT4) |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/232537274-deca0563-7aa6-4b5d-94a2-b7c453c47794.png" width="700" > |
| </div> |
|
|
| Несколько моделей больших языковых моделей смешиваются в [бета-версии huggingface] (https://huggingface.co/spaces/qingxu98/academic-chatgpt-beta) (huggingface-версия не поддерживает chatglm). |
|
|
|
|
| --- |
|
|
| ## Установка - Метод 1: Запуск (Windows, Linux или MacOS) |
|
|
| 1. Скачайте проект |
| ```sh |
| git clone https://github.com/binary-husky/chatgpt_academic.git |
| cd chatgpt_academic |
| ``` |
|
|
| 2. Настройка API_KEY и настройки прокси |
| |
| В файле `config.py` настройте зарубежный прокси и OpenAI API KEY, пояснения ниже |
| ``` |
| 1. Если вы находитесь в Китае, вам нужно настроить зарубежный прокси, чтобы использовать OpenAI API. Пожалуйста, внимательно прочитайте config.py для получения инструкций (1. Измените USE_PROXY на True; 2. Измените прокси в соответствии с инструкциями). |
| 2. Настройка API KEY OpenAI. Вам необходимо зарегистрироваться на сайте OpenAI и получить API KEY. После получения API KEY настройте его в файле config.py. |
| 3. Вопросы, связанные с сетевыми проблемами (тайм-аут сети, прокси не работает), можно найти здесь: https://github.com/binary-husky/chatgpt_academic/issues/1 |
| ``` |
| (Примечание: при запуске программы будет проверяться наличие конфиденциального файла конфигурации с именем `config_private.py` и использоваться в нем конфигурация параметров, которая перезаписывает параметры с такими же именами в `config.py`. Поэтому, если вы понимаете логику чтения нашей конфигурации, мы настоятельно рекомендуем вам создать новый файл конфигурации с именем `config_private.py` рядом с `config.py` и переместить (скопировать) настройки из `config.py` в `config_private.py`. `config_private.py` не подвергается контролю git, что делает конфиденциальную информацию более безопасной.) |
| |
| |
| 3. Установить зависимости |
| ```sh |
| # (Выбор 1) Рекомендуется |
| python -m pip install -r requirements.txt |
| |
| # (Выбор 2) Если вы используете anaconda, то шаги будут аналогичны: |
| # (Шаг 2.1) conda create -n gptac_venv python=3.11 |
| # (Шаг 2.2) conda activate gptac_venv |
| # (Шаг 2.3) python -m pip install -r requirements.txt |
| |
| # Примечание: используйте официальный источник pip или источник pip.aliyun.com. Другие источники pip могут вызывать проблемы. временный метод замены источника: |
| # python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/ |
| ``` |
| |
| Если требуется поддержка TUNA ChatGLM, необходимо установить дополнительные зависимости (если вы неудобны с python, необходимо иметь хорошую конфигурацию компьютера): |
| ```sh |
| python -m pip install -r request_llm/requirements_chatglm.txt |
| ``` |
| |
| 4. Запустите |
| ```sh |
| python main.py |
| ``` |
| |
| 5. Тестовые функции плагина |
| ``` |
| - Тестирвоание анализа проекта Python |
| В основной области введите `./crazy_functions/test_project/python/dqn` , а затем нажмите "Анализировать весь проект Python" |
| - Тестирование самостоятельного чтения кода |
| Щелкните " [Демонстрационный режим многопоточности] Проанализируйте сам проект (расшифровка источника кода)" |
| - Тестирование функций шаблонного плагина (вы можете использовать эту функцию как шаблон для более сложных функций, требующих ответа от gpt в связи с тем, что произошло сегодня в истории) |
| Щелкните " [Функции шаблонного плагина] День в истории" |
| - На нижней панели дополнительные функции для выбора |
| ``` |
| |
| ## Установка - Метод 2: Использование docker (Linux) |
| |
| |
| 1. Только ChatGPT (рекомендуется для большинства пользователей): |
| ``` sh |
| # Скачать проект |
| git clone https://github.com/binary-husky/chatgpt_academic.git |
| cd chatgpt_academic |
| # Настроить прокси за границей и OpenAI API KEY |
| Отредактируйте файл config.py в любом текстовом редакторе. |
| # Установка |
| docker build -t gpt-academic . |
| # Запустить |
| docker run --rm -it --net=host gpt-academic |
| |
| # Проверка функциональности плагина |
| ## Проверка шаблонной функции плагина (требуется, чтобы gpt ответил, что произошло "в истории на этот день"), вы можете использовать эту функцию в качестве шаблона для реализации более сложных функций. |
| Нажмите "[Шаблонный демонстрационный плагин] История на этот день". |
| ## Тест абстрактного резюме для проекта на Latex |
| В области ввода введите ./crazy_functions/test_project/latex/attention, а затем нажмите "Чтение реферата о тезисах статьи на LaTeX". |
| ## Тестовый анализ проекта на Python |
| Введите в область ввода ./crazy_functions/test_project/python/dqn, затем нажмите "Проанализировать весь проект на Python". |
| |
| Выбирайте больше функциональных плагинов в нижнем выпадающем меню. |
| ``` |
| |
| 2. ChatGPT + ChatGLM (требуется глубокое знание Docker и достаточно мощное компьютерное оборудование): |
| |
| ``` sh |
| # Изменение Dockerfile |
| cd docs && nano Dockerfile+ChatGLM |
| # Как построить | Как запустить (Dockerfile+ChatGLM в пути docs, сначала перейдите в папку с помощью cd docs) |
| docker build -t gpt-academic --network=host -f Dockerfile+ChatGLM . |
| # Как запустить | Как запустить (2) я хочу войти в контейнер и сделать какие-то настройки до запуска: |
| docker run --rm -it --net=host --gpus=all gpt-academic bash |
| ``` |
| |
| |
| ## Установка-Метод 3: Другие способы развертывания |
| |
| 1. Развертывание на удаленном облачном сервере |
| Пожалуйста, посетите [Deploy Wiki-1] (https://github.com/binary-husky/chatgpt_academic/wiki/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9C%E7%A8%8B%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97) |
|
|
| 2. Использование WSL2 (Windows Subsystem for Linux) |
| Пожалуйста, посетите [Deploy Wiki-2] (https://github.com/binary-husky/chatgpt_academic/wiki/%E4%BD%BF%E7%94%A8WSL2%EF%BC%88Windows-Subsystem-for-Linux-%E5%AD%90%E7%B3%BB%E7%BB%9F%EF%BC%89%E9%83%A8%E7%BD%B2) |
| |
| |
| ## Установка-Настройки прокси |
| ### Метод 1: Обычный способ |
| [Конфигурация прокси] (https://github.com/binary-husky/chatgpt_academic/issues/1) |
|
|
| ### Метод 2: Руководство новичка |
| [Руководство новичка] (https://github.com/binary-husky/chatgpt_academic/wiki/%E4%BB%A3%E7%90%86%E8%BD%AF%E4%BB%B6%E9%97%AE%E9%A2%98%E7%9A%84%E6%96%B0%E6%89%8B%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95%EF%BC%88%E6%96%B9%E6%B3%95%E5%8F%AA%E9%80%82%E7%94%A8%E4%BA%8E%E6%96%B0%E6%89%8B%EF%BC%89) |
| |
| |
| --- |
| |
| ## Настройка новой удобной кнопки (настройка быстрой клавиши для научной работы) |
| Откройте `core_functional.py` любым текстовым редактором, добавьте элементы, как показано ниже, затем перезапустите программу. (Если кнопка уже успешно добавлена и видна, то префикс и суффикс поддерживают горячее изменение, чтобы они оказались в действии, не нужно перезапускать программу.) |
| например |
| ``` |
| "Супер анг-рус": { |
| # Префикс, будет добавлен перед вашим вводом. Например, используется для описания ваших потребностей, таких как перевод, кодинг, редактирование и т. д. |
| "Prefix": "Пожалуйста, переведите этот фрагмент на русский язык, а затем создайте пошаговую таблицу в markdown, чтобы объяснить все специализированные термины, которые встречаются в тексте:\n\n", |
| |
| # Суффикс, будет добавлен после вашего ввода. Например, совместно с префиксом можно обрамить ваш ввод в кавычки. |
| "Suffix": "", |
| }, |
| ``` |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/226899272-477c2134-ed71-4326-810c-29891fe4a508.png" width="500" > |
| </div> |
|
|
| --- |
|
|
|
|
| ## Демонстрация некоторых возможностей |
|
|
| ### Отображение изображений: |
|
|
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/228737599-bf0a9d9c-1808-4f43-ae15-dfcc7af0f295.png" width="800" > |
| </div> |
|
|
|
|
| ### Если программа может понимать и разбирать сама себя: |
|
|
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/226936850-c77d7183-0749-4c1c-9875-fd4891842d0c.png" width="800" > |
| </div> |
|
|
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/226936618-9b487e4b-ab5b-4b6e-84c6-16942102e917.png" width="800" > |
| </div> |
|
|
|
|
| ### Анализ других проектов на Python/Cpp: |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/226935232-6b6a73ce-8900-4aee-93f9-733c7e6fef53.png" width="800" > |
| </div> |
|
|
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/226969067-968a27c1-1b9c-486b-8b81-ab2de8d3f88a.png" width="800" > |
| </div> |
|
|
| ### Генерация понимания и абстрактов с помощью Латех статей в один клик |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/227504406-86ab97cd-f208-41c3-8e4a-7000e51cf980.png" width="800" > |
| </div> |
|
|
| ### Автоматическое создание отчетов |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/227503770-fe29ce2c-53fd-47b0-b0ff-93805f0c2ff4.png" height="300" > |
| <img src="https://user-images.githubusercontent.com/96192199/227504617-7a497bb3-0a2a-4b50-9a8a-95ae60ea7afd.png" height="300" > |
| <img src="https://user-images.githubusercontent.com/96192199/227504005-efeaefe0-b687-49d0-bf95-2d7b7e66c348.png" height="300" > |
| </div> |
|
|
| ### Модульный дизайн функций |
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/229288270-093643c1-0018-487a-81e6-1d7809b6e90f.png" height="400" > |
| <img src="https://user-images.githubusercontent.com/96192199/227504931-19955f78-45cd-4d1c-adac-e71e50957915.png" height="400" > |
| </div> |
|
|
|
|
| ### Трансляция исходного кода на английский язык |
|
|
| <div align="center"> |
| <img src="https://user-images.githubusercontent.com/96192199/229720562-fe6c3508-6142-4635-a83d-21eb3669baee.png" height="400" > |
| </div> |
|
|
| ## Todo и планирование версий: |
| - version 3.2+ (todo): функция плагины поддерживают более многочисленные интерфейсы параметров |
| - version 3.1: поддержка одновременного опроса нескольких моделей gpt! Поддержка api2d, поддержка балансировки нагрузки множества apikey. |
| - version 3.0: поддержка chatglm и других маленьких llm |
| - version 2.6: реструктурировал структуру плагинов, повысил интерактивность, добавил больше плагинов |
| - version 2.5: само обновление, решение проблемы слишком длинного текста и переполнения токена при переводе всего проекта исходного кода |
| - version 2.4: (1) добавлена функция перевода всего PDF-документа; (2) добавлена функция изменения положения входной области; (3) добавлена опция вертикального макета; (4) оптимизация функций многопоточности плагина. |
| - version 2.3: улучшение многопоточной интерактивности |
| - version 2.2: функция плагинов поддерживает горячую перезагрузку |
| - version 2.1: блочная раскладка |
| - version 2.0: модульный дизайн функций плагина |
| - version 1.0: основные функции |
|
|
| ## Ссылки на изучение и обучение |
|
|
| ``` |
| В коде использовано много хороших дизайнерских решений из других отличных проектов, в том числе: |
| |
| # Project1: использование многих приемов из ChuanhuChatGPT |
| https://github.com/GaiZhenbiao/ChuanhuChatGPT |
| |
| # Project2: ChatGLM-6B в Тхуде: |
| https://github.com/THUDM/ChatGLM-6B |
| ``` |
|
|
|
|