Spaces:
Running
A newer version of the Gradio SDK is available:
5.7.1
Hinweis
Dieses README wurde mithilfe der GPT-Übersetzung (durch das Plugin dieses Projekts) erstellt und ist nicht zu 100 % zuverlässig. Bitte überprüfen Sie die Übersetzungsergebnisse sorgfältig.
- November 2023: Beim Installieren der Abhängigkeiten bitte nur die in der
requirements.txt
angegebenen Versionen auswählen. Installationsbefehl:pip install -r requirements.txt
.
GPT Academic (GPT Akademisch)
Wenn Ihnen dieses Projekt gefällt, geben Sie ihm bitte einen Star. Wenn Sie praktische Tastenkombinationen oder Plugins entwickelt haben, sind Pull-Anfragen willkommen!
Wenn Ihnen dieses Projekt gefällt, geben Sie ihm bitte einen Star.
Um dieses Projekt mit GPT in eine beliebige Sprache zu übersetzen, lesen Sie multi_language.py
(experimentell).
Hinweis
Beachten Sie bitte, dass nur die mit hervorgehobenen Plugins (Schaltflächen) Dateien lesen können. Einige Plugins befinden sich im Drop-down-Menü des Plugin-Bereichs. Außerdem freuen wir uns über jede neue Plugin-PR mit höchster Priorität.
Die Funktionen jeder Datei in diesem Projekt sind im Selbstanalysebericht
self_analysis.md
ausführlich erläutert. Sie können jederzeit auf die relevanten Funktions-Plugins klicken und GPT aufrufen, um den Selbstanalysebericht des Projekts neu zu generieren. Häufig gestellte Fragen finden Sie imWiki
. Standardinstallationsmethode | Ein-Klick-Installationsskript | Konfigurationsanleitung.Dieses Projekt ist kompatibel mit und unterstützt auch die Verwendung von inländischen Sprachmodellen wie ChatGLM. Die gleichzeitige Verwendung mehrerer API-Schlüssel ist möglich, indem Sie sie in der Konfigurationsdatei wie folgt angeben:
API_KEY="openai-key1,openai-key2,azure-key3,api2d-key4"
. Wenn Sie denAPI_KEY
vorübergehend ändern möchten, geben Sie vorübergehend den temporärenAPI_KEY
im Eingabebereich ein und drücken Sie die Eingabetaste, um die Änderung wirksam werden zu lassen.
Funktionen (⭐= Kürzlich hinzugefügte Funktion) | Beschreibung |
---|---|
⭐Neues Modell integrieren! | Baidu Qianfan und Wenxin Yanyi, Tongyi Qianwen, Shanghai AI-Lab Shusheng, Xunfei Xinghuo, LLaMa2, Cognitive Graph API, DALLE3 |
Verfeinern, Übersetzen, Codierung erläutern | Ein-Klick-Verfeinerung, Übersetzung, Suche nach grammatikalischen Fehlern in wissenschaftlichen Arbeiten, Erklärung von Code |
Eigene Tastenkombinationen definieren | Eigene Tastenkombinationen definieren |
Modulare Gestaltung | Ermöglicht die Verwendung benutzerdefinierter leistungsstarker Plugins, Plugins unterstützen Hot-Reload |
Programmanalyse | [Plugin] Ermöglicht die Erstellung einer Projekthierarchie für Python/C/C++/Java/Lua/... mit nur einem Klick oder Selbstanalyse |
Lesen von Forschungsarbeiten, Übersetzen von Forschungsarbeiten | [Plugin] Ermöglicht eine Umwandlung des gesamten Latex-/PDF-Forschungspapiers mit nur einem Klick und generiert eine Zusammenfassung |
Latex-Übersetzung des vollständigen Textes, Ausbesserung | [Plugin] Ermöglicht eine Übersetzung oder Verbesserung der Latex-Forschungsarbeit mit nur einem Klick |
Erzeugen von Batch-Anmerkungen | [Plugin] Erzeugt Funktionserläuterungen in Stapeln |
Markdown- En-De-Übersetzung | [Plugin] Haben Sie die README in den oben genannten 5 Sprachen gesehen? |
Erzeugen eines Chat-Analyseberichts | [Plugin] Generiert einen zusammenfassenden Bericht nach der Ausführung |
PDF-Textübersetzungsmerkmal | [Plugin] Extrahiert Titel und Zusammenfassung des PDF-Dokuments und übersetzt den vollständigen Text (mehrfädig) |
Arxiv-Assistent | [Plugin] Geben Sie die URL eines Arxiv-Artikels ein, um eine Zusammenfassung zu übersetzen und die PDF-Datei herunterzuladen |
Automatische Überprüfung von Latex-Artikeln | [Plugin] Überprüft die Grammatik und Rechtschreibung von Latex-Artikeln nach dem Vorbild von Grammarly und generiert eine PDF-Vergleichsdatei |
Google Scholar Integration Assistant | [Plugin] Geben Sie eine beliebige URL der Google Scholar-Suchseite ein und lassen Sie GPT Ihre Verwandten Arbeiten schreiben |
Internetinformationsaggregation + GPT | [Plugin] Ermöglicht es GPT, Fragen durch das Durchsuchen des Internets zu beantworten und Informationen immer auf dem neuesten Stand zu halten |
⭐Feine Übersetzung von Arxiv-Artikeln (Docker) | [Plugin] Übersetzt Arxiv-Artikel mit hoher Qualität mit einem Klick - das beste Übersetzungstool für wissenschaftliche Artikel |
⭐Echtzeit-Spracheingabe | [Plugin] Asynchrones Lauschen auf Audio-Eingabe, automatisches Zerschneiden des Textes, automatische Suche nach dem richtigen Zeitpunkt zur Beantwortung |
Darstellen von Formeln/Bildern/Tabellen | Zeigt Formeln sowohl in TEX-- als auch in gerenderten Formen an, unterstützt Formeln und Code-Hervorhebung |
⭐AutoGen Multi-Agent Plugin | [Plugin] Erforscht die Möglichkeiten des emergenten Verhaltens von Multi-Agent-Systemen mit Microsoft AutoGen! |
Start im Dark-Theme | Um das Dark-Theme zu aktivieren, fügen Sie /?__theme=dark am Ende der URL im Browser hinzu |
Mehrsprachige LLM-Modelle unterstützt | Es ist sicherlich beeindruckend, von GPT3.5, GPT4, ChatGLM2 der Tsinghua University, MOSS der Fudan University bedient zu werden, oder? |
⭐ChatGLM2 Feinabstimmungsmodell | Unterstützt das Laden von ChatGLM2-Feinabstimmungsmodellen und bietet Unterstützung für ChatGLM2-Feinabstimmungsassistenten |
Integration weiterer LLM-Modelle, Unterstützung von Huggingface-Deployment | Hinzufügen der Newbing-Schnittstelle (neues Bing), Einführung der Jittorllms der Tsinghua University zur Unterstützung von LLaMA und PanGu Alpha |
⭐void-terminal Pip-Paket | Verwenden Sie das Projekt in Python direkt, indem Sie das gesamte Funktionsplugin verwenden (in Entwicklung) |
⭐Void-Terminal-Plugin | [Plugin] Verwenden Sie natürliche Sprache, um andere Funktionen dieses Projekts direkt zu steuern |
Weitere Funktionen anzeigen (z. B. Bildgenerierung) …… | Siehe das Ende dieses Dokuments …… |
Neues Interface (Ändern Sie die LAYOUT-Option in der
config.py
, um zwischen "Links-Rechts-Layout" und "Oben-Unten-Layout" zu wechseln)Alle Schaltflächen werden dynamisch aus der
functional.py
generiert und ermöglichen das beliebige Hinzufügen benutzerdefinierter Funktionen zur Befreiung der Zwischenablage.Überarbeiten/Korrigieren
If the output contains formulas, they will be displayed in both tex format and rendering format for easy copying and reading.
Don't want to look at the project code? Show off the whole project directly in chatgpt's mouth.
Multiple large language models mixed calling (ChatGLM + OpenAI-GPT3.5 + API2D-GPT4)
Installation
Installation Method I: Run directly (Windows, Linux or MacOS)
- Download the project
git clone --depth=1 https://github.com/binary-husky/gpt_academic.git
cd gpt_academic
- Configure API_KEY
In config.py
, configure API KEY and other settings, click to view special network environment configuration methods. Wiki page.
「 The program will first check if there is a confidential configuration file named config_private.py
and use its configuration to override the configuration with the same name in config.py
. If you understand this reading logic, we strongly recommend that you create a new configuration file named config_private.py
next to config.py
and move (copy) the configuration in config.py
to config_private.py
(only copy the configuration items that you have modified). 」
「 You can configure the project through environment variables
. The format of environment variables can refer to the docker-compose.yml
file or our Wiki page. The priority of configuration reading is: environment variables
> config_private.py
> config.py
. 」
- Install dependencies
# (Option I: if you are familiar with python, python>=3.9) Note: Use the official pip source or Ali pip source, temporary method to change the source: python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python -m pip install -r requirements.txt
# (Option II: Using Anaconda) The steps are similar (https://www.bilibili.com/video/BV1rc411W7Dr):
conda create -n gptac_venv python=3.11 # Create an anaconda environment
conda activate gptac_venv # Activate the anaconda environment
python -m pip install -r requirements.txt # This step is the same as installing with pip
If you need support for Tsinghua ChatGLM2/Fudan MOSS/RWKV as backend, please click to expand.
[Optional] If you need to support Tsinghua ChatGLM2/Fudan MOSS as the backend, you need to install additional dependencies (Prerequisites: Familiar with Python + Have used PyTorch + Strong computer configuration):
# [Optional Step I] Support Tsinghua ChatGLM2. Tsinghua ChatGLM note: If you encounter the error "Call ChatGLM fail cannot load ChatGLM parameters normally", refer to the following: 1: The default installation above is torch+cpu version. To use cuda, you need to uninstall torch and reinstall torch+cuda; 2: If you cannot load the model due to insufficient computer configuration, you can modify the model accuracy in request_llm/bridge_chatglm.py. Change AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) to AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
python -m pip install -r request_llms/requirements_chatglm.txt
# [Optional Step II] Support Fudan MOSS
python -m pip install -r request_llms/requirements_moss.txt
git clone --depth=1 https://github.com/OpenLMLab/MOSS.git request_llms/moss # When executing this line of code, you must be in the root path of the project
# [Optional Step III] Support RWKV Runner
Refer to the wiki: https://github.com/binary-husky/gpt_academic/wiki/Support-RWKV-Runner
# [Optional Step IV] Make sure the AVAIL_LLM_MODELS in config.py includes the expected models. The currently supported models are as follows (the jittorllms series only supports the docker solution at present):
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"]
- Run
python main.py
Installation Method II: Use Docker
- Deploy all capabilities of the project (this is a large image that includes cuda and latex. But if you have a slow internet speed or a small hard drive, it is not recommended to use this)
# Modify docker-compose.yml, keep solution 0 and delete other solutions. Then run:
docker-compose up
# Modify docker-compose.yml, keep solution 1 and delete other solutions. Then run:
docker-compose up
P.S. If you need the Latex plugin functionality, please refer to the Wiki. Also, you can directly use solution 4 or 0 to get the Latex functionality.
- ChatGPT + ChatGLM2 + MOSS + LLAMA2 + Thousand Questions (Requires familiarity with Nvidia Docker runtime)
# Modify docker-compose.yml, keep solution 2 and delete other solutions. Then run:
docker-compose up
Installation Method III: Other Deployment Methods
Windows One-Click Script. Windows users who are completely unfamiliar with the python environment can download the one-click script for installation without local models in the published Release. The script is contributed by oobabooga.
Use third-party APIs, Azure, Wenxin's words, Spark, etc., see Wiki page
Pit avoidance guide for cloud server remote deployment. Please visit the Cloud Server Remote Deployment Wiki
Some new deployment platforms or methods
- Use Sealos one-click deployment.
- Use WSL2 (Windows Subsystem for Linux). Please visit the deployment wiki-2
- How to run under a subpath (such as
http://localhost/subpath
). Please visit FastAPI Running Instructions
Fortgeschrittene Nutzung
I: Benutzerdefinierte Tasten hinzufügen (akademische Hotkeys)
Öffnen Sie die Datei core_functional.py
mit einem beliebigen Texteditor und fügen Sie folgenden Eintrag hinzu. Starten Sie dann das Programm neu. (Wenn die Schaltfläche bereits vorhanden ist, können sowohl das Präfix als auch das Suffix schnell geändert werden, ohne dass das Programm neu gestartet werden muss.)
Beispiel:
"Übersetzung von Englisch nach Chinesisch": {
# Präfix, wird vor Ihrer Eingabe hinzugefügt. Zum Beispiel, um Ihre Anforderungen zu beschreiben, z.B. Übersetzen, Code erklären, verbessern usw.
"Präfix": "Bitte übersetzen Sie den folgenden Abschnitt ins Chinesische und erklären Sie dann jedes Fachwort in einer Markdown-Tabelle:\n\n",
# Suffix, wird nach Ihrer Eingabe hinzugefügt. Zum Beispiel, um Ihre Eingabe in Anführungszeichen zu setzen.
"Suffix": "",
},
II: Benutzerdefinierte Funktionsplugins
Schreiben Sie leistungsstarke Funktionsplugins, um beliebige Aufgaben zu erledigen, die Sie wünschen oder nicht erwartet haben. Das Erstellen und Debuggen von Plugins in diesem Projekt ist einfach und erfordert nur Grundkenntnisse in Python. Sie können unser bereitgestelltes Template verwenden, um Ihre eigene Plugin-Funktion zu implementieren. Weitere Informationen finden Sie in der Plugin-Anleitung.
Aktualisierungen
I: Neuigkeiten
Dialogspeicherungsfunktion. Rufen Sie im Funktionspluginbereich "Aktuellen Dialog speichern" auf, um den aktuellen Dialog als lesbare und wiederherstellbare HTML-Datei zu speichern. Darüber hinaus können Sie im Funktionspluginbereich (Dropdown-Menü) "Dialoghistorie laden" aufrufen, um frühere Sitzungen wiederherzustellen. Tipp: Wenn kein Dateiname angegeben ist, können Sie direkt auf "Dialoghistorie laden" klicken, um den Verlauf des HTML-Archivs anzuzeigen.
⭐ Latex/Arxiv-Papierübersetzungsfunktion ⭐
===>Leere Terminaloberfläche (Verständnis der Benutzerabsicht und automatischer Aufruf anderer Plugins aus natürlicher Spracheingabe)
- Schritt 1: Geben Sie "Bitte Plugin aufrufen, um das PDF-Papier zu übersetzen, dessen Adresse https://openreview.net/pdf?id=rJl0r3R9KX ist" ein.
- Schritt 2: Klicken Sie auf "Leere Terminaloberfläche".
Modulare Funktionsgestaltung mit einfacher Schnittstelle für leistungsstarke Funktionen
Übersetzung und Lösung anderer Open-Source-Projekte
Funktionen zur Dekoration von live2d (standardmäßig deaktiviert, config.py muss geändert werden)
OpenAI-Bildgenerierung
OpenAI-Audioanalyse und Zusammenfassung
Latex-Volltextkorrektur
===>Sprach- und Themenwechsel
II: Versionen:
- Version 3.70 (ausstehend): Optimierung des AutoGen-Plugin-Themas und Entwicklung einer Reihe von abgeleiteten Plugins
- Version 3.60: Einführung von AutoGen als Grundlage für neue Plugin-Generation
- Version 3.57: Unterstützung von GLM3, SparkV3, WenxinYiyanV4, Behebung von Problemen bei gleichzeitiger Verwendung von lokalen Modellen
- Version 3.56: Dynamische Hinzufügung von Basisfunktionsbuttons, neue Übersichtsseite für PDFs
- Version 3.55: Überarbeitung der Benutzeroberfläche, Hinzufügung von Schwebefenstern und Menüleiste
- Version 3.54: Neuer dynamischer Code interpretier (Code Interpreter) (unfertig)
- Version 3.53: Unterstützung für dynamische Auswahl verschiedener Oberflächenthemen, Verbesserung der Stabilität und Behebung von Mehrbenutzerkonflikten
- Version 3.50: Verwenden Sie natürliche Sprache, um alle Funktionen dieses Projekts aufzurufen (leeres Terminal), Unterstützung für Plugin-Kategorien, verbesserte Benutzeroberfläche, neue Themen
- Version 3.49: Unterstützung für Baidu Qianfan Platform und WenxinYiyan
- Version 3.48: Unterstützung für Alibaba Damo Academy Tongyi Qianwen, Shanghai AI-Lab Shusheng, Xunfei Spark
- Version 3.46: Vollständig automatisierter Echtzeit-Sprachdialog
- Version 3.45: Anpassbare ChatGLM2-Feinjustierung
- Version 3.44: Offizielle Unterstützung für Azure, Verbesserung der Benutzerfreundlichkeit der Benutzeroberfläche
- Version 3.4: Hinzufügen von Arxiv-Papierübersetzung, LaTeX-Papierkorrektur
- Version 3.3: Hinzufügen von Internet-Informationen
- Version 3.2: Funktionsplugins unterstützen weitere Parameter (Dialog speichern, beliebigen Code analysieren und nach beliebigen LLM-Kombinationen fragen)
- Version 3.1: Unterstützung für die gleichzeitige Abfrage mehrerer GPT-Modelle! Unterstützung für API-Schlüssel-Lastenausgleich
- Version 3.0: Unterstützung von ChatGLM und anderen kleinen LLMs
- Version 2.6: Neugestaltung der Plugin-Struktur, Verbesserung der Interaktivität, Hinzufügen weiterer Plugins
- Version 2.5: Auto-Update zur Lösung von Problemen mit zu langem Text oder Tokenüberschuss beim Zusammenfassen von Code
- Version 2.4: (1) Hinzufügen der Funktion zur Übersetzung des vollständigen PDF-Texts; (2) Neues Feature zum Wechseln der Position des Eingabebereichs; (3) Hinzufügen der Option für eine vertikale Ausrichtung; (4) Verbesserung der Multithreading-Funktionen von Plugins.
- Version 2.3: Verbesserte Multithreading-Interaktivität
- Version 2.2: Funktionsplugins können heiß neu geladen werden
- Version 2.1: Faltbare Layouts
- Version 2.0: Einführung modularer Funktionsplugins
- Version 1.0: Grundfunktionen
Entwickler-QQ-Gruppe von GPT Academic: 610599535
- Bekannte Probleme
- Einige Browserübersetzungsplugins beeinflussen die Frontend-Ausführung dieser Software
- Die offizielle Version von Gradio hat derzeit viele Kompatibilitätsprobleme. Installieren Sie Gradio daher unbedingt über
requirement.txt
.
III: Themen
Sie können das Theme ändern, indem Sie die Option THEME
(config.py) ändern.
Chuanhu-Small-and-Beautiful
Link
IV: Entwicklungszweige dieses Projekts
master
Branch: Hauptzweig, stabile Versionfrontier
Branch: Entwicklungsbranch, Testversion
V: Referenzen und Lernen
Der Code basiert auf dem Design anderer herausragender Projekte. Die Reihenfolge ist beliebig:
# ChatGLM2-6B von Tsinghua:
https://github.com/THUDM/ChatGLM2-6B
# JittorLLMs von Tsinghua:
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 One-Click-Installations:
https://github.com/oobabooga/one-click-installers
# Weitere:
https://github.com/gradio-app/gradio
https://github.com/fghrsh/live2d_demo