Spaces:
Running
Running
> **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 | |
``` | |