Skip to content

Latest commit

 

History

History
360 lines (266 loc) · 35.2 KB

README.Russian.md

File metadata and controls

360 lines (266 loc) · 35.2 KB

Примечание

Этот README был переведен с помощью GPT (реализовано с помощью плагина этого проекта) и не может быть полностью надежным, пожалуйста, внимательно проверьте результаты перевода.

7 ноября 2023 года: При установке зависимостей, пожалуйста, выберите указанные версии из requirements.txt. Команда установки: pip install -r requirements.txt.

GPT Academic (GPT Академический)

Если вам нравится этот проект, пожалуйста, поставьте звезду; если у вас есть удобные горячие клавиши или плагины, приветствуются pull requests! Чтобы перевести этот проект на произвольный язык с помощью GPT, прочтите и выполните multi_language.py (экспериментально).

Примечание

  1. Пожалуйста, обратите внимание, что только плагины (кнопки), выделенные жирным шрифтом, поддерживают чтение файлов, некоторые плагины находятся в выпадающем меню плагинов. Кроме того, мы с радостью приветствуем и обрабатываем PR для любых новых плагинов с наивысшим приоритетом.

  2. Функции каждого файла в этом проекте подробно описаны в отчете о самостоятельном анализе проекта self_analysis.md. С каждым новым релизом вы также можете в любое время нажать на соответствующий функциональный плагин, вызвать GPT для повторной генерации сводного отчета о самоанализе проекта. Часто задаваемые вопросы wiki | обычные методы установки | скрипт одношаговой установки | инструкции по настройке.

  3. Этот проект совместим и настоятельно рекомендуется использование китайской NLP-модели ChatGLM и других моделей больших языков производства Китая. Поддерживает одновременное использование нескольких ключей API, которые можно указать в конфигурационном файле, например, API_KEY="openai-key1,openai-key2,azure-key3,api2d-key4". Если нужно временно заменить API_KEY, введите временный API_KEY в окне ввода и нажмите Enter для его подтверждения.

Функции (⭐= Недавно добавленные функции) Описание
Подключение новой модели Baidu QianFan и WenxinYiYan, TongYiQianWen, Shanghai AI-Lab ShuSheng, Xunfei XingHuo, LLaMa2, ZhiPu API, DALLE3
Улучшение, перевод, объяснение кода Одним нажатием выполнить поиск синтаксических ошибок в научных статьях, переводить, объяснять код
Настройка горячих клавиш Поддержка настройки горячих клавиш
Модульный дизайн Поддержка настраиваемых мощных плагинов, плагины поддерживают горячую замену
Профилирование кода [Плагин] Одним нажатием можно профилировать дерево проекта Python/C/C++/Java/Lua/... или проанализировать самого себя
Просмотр статей, перевод статей [Плагин] Одним нажатием прочитать полный текст статьи в формате LaTeX/PDF и сгенерировать аннотацию
Перевод LaTeX статей, улучшение [Плагин] Одним нажатием перевести или улучшить статьи в формате LaTeX
Генерация пакетного комментария [Плагин] Одним нажатием сгенерировать многострочный комментарий к функции
Перевод Markdown на английский и китайский [Плагин] Вы видели документацию на сверху на пяти языках? README`
Анализ и создание отчета в формате чата [Плагин] Автоматически генерируйте сводный отчет после выполнения
Функция перевода полноценной PDF статьи [Плагин] Изъять название и аннотацию статьи из PDF + переводить полный текст (многопоточно)
Arxiv помощник [Плагин] Просто введите URL статьи на arXiv, чтобы одним нажатием выполнить перевод аннотации + загрузить PDF
Одним кликом проверить статью на LaTeX [Плагин] Проверка грамматики и правописания статьи LaTeX, добавление PDF в качестве справки
Помощник Google Scholar [Плагин] Создайте "related works" с помощью Google Scholar URL по вашему выбору.
Агрегирование интернет-информации + GPT [Плагин] GPT получает информацию из интернета и отвечает на вопросы, чтобы информация никогда не устаревала
⭐Точный перевод статей Arxiv (Docker) [Плагин] Переводите статьи Arxiv наивысшего качества всего одним нажатием. Сейчас это лучший инструмент для перевода научных статей
Реальное время ввода голосом [Плагин] Асинхронно слушать аудио, автоматически разбивать на предложения, автоматически находить момент для ответа
Отображение формул/изображений/таблиц Поддержка отображения формул в форме tex и рендеринга, поддержка подсветки синтаксиса формул и кода
⭐Плагин AutoGen для множества интеллектуальных агентов [Плагин] Используйте Microsoft AutoGen для исследования возможностей интеллектуального всплытия нескольких агентов!
Запуск темной темы Добавьте /?__theme=dark в конец URL в браузере, чтобы переключиться на темную тему
Поддержка нескольких моделей LLM Быть обслуживаемым GPT3.5, GPT4, ChatGLM2 из Цинхуа, MOSS из Фуданя одновременно должно быть очень приятно, не так ли?
⭐Модель ChatGLM2 Fine-tune Поддержка загрузки модели ChatGLM2 Fine-tune, предоставляет вспомогательный плагин ChatGLM2 Fine-tune
Больше моделей LLM, поддержка развертывания huggingface Включение интерфейса Newbing (новый Bing), введение поддержки китайских Jittorllms для поддержки LLaMA и Panguα
⭐Пакет pip void-terminal Без GUI вызывайте все функциональные плагины этого проекта прямо из Python (разрабатывается)
⭐Плагин пустого терминала [Плагин] Используя естественный язык, напрямую распоряжайтесь другими плагинами этого проекта
Больше новых функций (генерация изображений и т. д.) ... Смотрите в конце этого документа ...
  • Новый интерфейс (изменение опции LAYOUT в config.py позволяет переключиться между "расположением слева и справа" и "расположением сверху и снизу")
  • Все кнопки генерируются динамически на основе functional.py и могут быть свободно дополнены, освобождая буфер обмена
  • Улучшение/исправление
  • Если вывод содержит формулы, они отображаются одновременно в виде tex и отрендеренного вида для удобства копирования и чтения
  • Не хочешь смотреть код проекта? Весь проект сразу в уста ChatGPT
  • Смешанное использование нескольких больших языковых моделей (ChatGLM + OpenAI-GPT3.5 + API2D-GPT4)

Установка

Метод установки I: Прямой запуск (Windows, Linux или MacOS)

  1. Скачайте проект
git clone --depth=1 https://github.com/binary-husky/gpt_academic.git
cd gpt_academic
  1. Настройте API_KEY

В файле config.py настройте API KEY и другие настройки, нажмите здесь, чтобы узнать способы настройки в специальных сетевых средах. Инструкции по настройке проекта.

「 Программа будет в первую очередь проверять наличие файла config_private.py с приватными настройками и заменять соответствующие настройки в файле config.py на те, которые указаны в файле config_private.py. Если вы понимаете эту логику, мы настоятельно рекомендуем вам создать новый файл настроек config_private.py рядом с файлом config.py и скопировать туда настройки из config.py (только те, которые вы изменяли). 」

「 Поддерживается настроить проект с помощью переменных среды. Пример настройки переменных среды можно найти в файле docker-compose.yml или на нашей странице вики. Приоритет настроек: переменные среды > config_private.py > config.py. 」

  1. Установите зависимости
# (Выбор I: Если знакомы с Python, python>=3.9). Примечание: используйте официальный pip-репозиторий или пакетный репозиторий Alibaba, временный способ изменить источник: python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python -m pip install -r requirements.txt

# (Выбор II: Используйте 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
Если вам нужна поддержка ChatGLM2 от Цинхуа/MOSS от Фуданя/Раннера RWKV как бэкенда, нажмите, чтобы развернуть

【Опциональный шаг】Если вам нужна поддержка ChatGLM2 от Цинхуа/Сервиса MOSS от Фуданя, вам понадобится дополнительно установить дополнительные зависимости (предполагается, что вы знакомы с Python + PyTorch + у вас достаточно мощный компьютер):

# 【Опциональный шаг I】Поддержка ChatGLM2 от Цинхуа. Примечание к 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_llms/requirements_chatglm.txt

# 【Опциональный шаг II】Поддержка MOSS от Фуданя
python -m pip install -r request_llms/requirements_moss.txt
git clone --depth=1 https://github.com/OpenLMLab/MOSS.git request_llms/moss  # Обратите внимание, что когда вы запускаете эту команду, вы должны находиться в корневой папке проекта

# 【Опциональный шаг III】Поддержка RWKV Runner
Смотрите вики: https://github.com/binary-husky/gpt_academic/wiki/Поддержка-RWKV-Runner

# 【Опциональный шаг IV】Убедитесь, что config.py содержит все нужные вам модели. Пример:
AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "moss"] # + ["jittorllms_rwkv", "jittorllms_pangualpha", "jittorllms_llama"]

  1. Запустите программу
python main.py

Метод установки II: Используйте Docker

  1. Установка всех возможностей проекта (это большой образ с поддержкой cuda и LaTeX; но если у вас медленный интернет или маленький жесткий диск, мы не рекомендуем использовать этот метод). fullcapacity
# Измените файл docker-compose.yml, сохраните метод 0 и удалите другие методы. Затем запустите:
docker-compose up
  1. Чат GPT + 文心一言 + Spark и другие онлайн-модели (рекомендуется для большинства пользователей) basic basiclatex basicaudio
# Измените файл docker-compose.yml, сохраните метод 1 и удалите другие методы. Затем запустите:
docker-compose up

P.S. Если вам нужен функционал, связанный с LaTeX, обратитесь к разделу Wiki. Кроме того, вы также можете использовать схему 4 или схему 0 для доступа к функционалу LaTeX.

  1. Чат GPT + ChatGLM2 + MOSS + LLAMA2 + TakyiQ & Другие попытки ввести в обиход chatglm
# Измените файл docker-compose.yml, сохраните метод 2 и удалите другие методы. Затем запустите:
docker-compose up

Метод установки III: Другие способы развертывания

  1. Скрипты запуска одним нажатием для Windows. Пользователи Windows, не знакомые с окружением Python, могут загрузить одну из версий в разделе Релизы для установки версии без локальных моделей. Скрипты взяты из вкладки oobabooga.

  2. Использование сторонних API, Azure и т. д., см. страницу вики

  3. Руководство по развертыванию на удаленном сервере. Пожалуйста, посетите вики-страницу развертывания на облачном сервере.

  4. Некоторые новые платформы или методы развертывания

Расширенное использование

I: Пользовательские удобные кнопки (академические сочетания клавиш)

Откройте файл core_functional.py в любом текстовом редакторе и добавьте следующие записи, затем перезапустите программу. (Если кнопка уже существует, то префикс и суффикс поддерживают горячую замену без перезапуска программы.) Например,

"Супер-англо-русский перевод": {
    # Префикс, который будет добавлен перед вашим вводом. Например, используется для описания вашего запроса, например, перевода, объяснения кода, редактирования и т.д.
    "Префикс": "Пожалуйста, переведите следующий абзац на русский язык, а затем покажите каждый термин на экране с помощью таблицы Markdown:\n\n",

    # Суффикс, который будет добавлен после вашего ввода. Например, можно использовать с префиксом, чтобы заключить ваш ввод в кавычки.
    "Суффикс": "",
},

II: Пользовательские функциональные плагины

Создавайте мощные функциональные плагины для выполнения любых задач, которые вам нужны и которых вы и не можете себе представить. Создание плагина для этого проекта и его отладка являются простыми задачами, и если у вас есть базовые знания Python, вы можете реализовать свой собственный функциональный плагин, используя наши предоставленные шаблоны. Дополнительную информацию см. в Руководстве по функциональным плагинам.

Обновления

I: Динамические

  1. Функция сохранения диалога. Вызовите "Сохранить текущий диалог" в области функциональных плагинов, чтобы сохранить текущий диалог в виде читаемого и восстанавливаемого html-файла. Кроме того, можно использовать "Загрузить архивный файл диалога" в области функциональных плагинов (выпадающее меню), чтобы восстановить предыдущий разговор. Подсказка: если не указывать файл и просто щелкнуть "Загрузить архивный файл диалога", можно просмотреть кэш сохраненных html-архивов.
  1. ⭐Перевод Latex/Arxiv статей⭐
===>
  1. Void Terminal (понимание пользовательских намерений из естественного языка и автоматическое вызов других плагинов)
  • Шаг 1: Введите "Пожалуйста, вызовите плагин для перевода PDF-статьи, адрес которой https://openreview.net/pdf?id=rJl0r3R9KX".
  • Шаг 2: Нажмите "Void Terminal".
  1. Модульный дизайн функционала, позволяющий реализовать мощные функции с помощью простых интерфейсов
  1. Перевод и анализ других открытых проектов
  1. Функциональность для украшенияmeme (по умолчанию отключена, требуется изменение файла config.py)
  1. Генерация изображений с помощью OpenAI
  1. Анализ и обобщение аудио с помощью OpenAI
  1. Проверка и исправление ошибок во всем тексте LaTeX
===>
  1. Изменение языка и темы

II: Версии:

  • Версия 3.70 (в планах): Оптимизация темы AutoGen и разработка ряда дополнительных плагинов
  • Версия 3.60: Внедрение AutoGen в качестве фундамента нового поколения плагинов
  • Версия 3.57: Поддержка GLM3, Starfire v3, Wenxin One Word v4, исправление ошибок при совместном использовании локальной модели
  • Версия 3.56: Поддержка добавления дополнительных функциональных кнопок в реальном времени, новая страница отчетов в формате PDF
  • Версия 3.55: Переработка пользовательского интерфейса, внедрение плавающего окна и панели меню
  • Версия 3.54: Добавлен интерпретатор кода (Code Interpreter) (в разработке)
  • Версия 3.53: Динамический выбор различных тем интерфейса, повышение стабильности и решение проблемы конфликтов между несколькими пользователями
  • Версия 3.50: Использование естественного языка для вызова всех функциональных плагинов проекта (Void Terminal), поддержка категоризации плагинов, улучшение пользовательского интерфейса, разработка новых тем
  • Версия 3.49: Поддержка платформы Baidu Qianfan и Wenxin One Word
  • Версия 3.48: Поддержка Ali Dharma Institute, Shanghai AI-Lab Scholar, Xunfei Starfire
  • Версия 3.46: Поддержка реального голосового диалога с полной автоматизацией
  • Версия 3.45: Поддержка настраиваемой модели ChatGLM2
  • Версия 3.44: Официальная поддержка Azure, улучшение удобства пользовательского интерфейса
  • Версия 3.4: +Перевод полных текстов PDF, +корректировка латексных документов
  • Версия 3.3: +Интернет-информационные функции
  • Версия 3.2: Поддержка дополнительных параметров в функциональных плагинах (функция сохранения диалога, интерпретация кода на любом языке + одновременный вопрос о любом комбинированном LLM)
  • Версия 3.1: Поддержка одновременного обращения к нескольким моделям gpt! Поддержка API2D, поддержка равномерной нагрузки нескольких api-ключей
  • Версия 3.0: Поддержка chatglm и других небольших моделей llm
  • Версия 2.6: Переработка структуры плагинов для повышения интерактивности, добавление дополнительных плагинов
  • Версия 2.5: Автоматическое обновление, решение проблемы с длиной текста и переполнением токенов при обработке текста
  • Версия 2.4: (1) Добавление функции полного перевода PDF; (2) Добавление функции изменения позиции объекта ввода; (3) Добавление функции вертикального размещения; (4) Оптимизация многопоточных функциональных плагинов.
  • Версия 2.3: Улучшение интерактивности многопоточности
  • Версия 2.2: Поддержка живой перезагрузки функциональных плагинов
  • Версия 2.1: Складываемый макет
  • Версия 2.0: Введение модульных функциональных плагинов
  • Версия 1.0: Базовые функции

GPT Academic Группа QQ разработчиков: 610599535

  • Известные проблемы
    • Некоторые расширения для браузера могут мешать работе пользовательского интерфейса этого программного обеспечения
    • У официального Gradio есть много проблем совместимости, поэтому обязательно установите Gradio с помощью requirement.txt

III: Темы

Вы можете изменить тему путем изменения опции THEME (config.py)

  1. Chuanhu-Small-and-Beautiful ссылка

IV: Ветви разработки этого проекта

  1. Ветка master: Основная ветка, стабильная версия
  2. Ветвь frontier: Ветвь разработки, версия для тестирования

V: Справочники и обучение

В коде использовались многие функции, представленные в других отличных проектах, поэтому их порядок не имеет значения:

# ChatGLM2-6B от Тиньхуа:
https://github.com/THUDM/ChatGLM2-6B

# Линейные модели с ограниченной памятью от Тиньхуа:
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:
https://github.com/oobabooga/one-click-installers

# Больше:
https://github.com/gradio-app/gradio
https://github.com/fghrsh/live2d_demo