|
> **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 |
|
``` |
|
|
|
|