Skip to content

Latest commit

 

History

History
329 lines (247 loc) · 22.6 KB

README_JP.md

File metadata and controls

329 lines (247 loc) · 22.6 KB

Note

このReadmeファイルは、このプロジェクトのmarkdown翻訳プラグインによって自動的に生成されたもので、100%正確ではない可能性があります。

When installing dependencies, please strictly choose the versions specified in requirements.txt.

pip install -r requirements.txt

GPT 学术优化 (GPT Academic)

**もしこのプロジェクトが好きなら、星をつけてください。もしあなたがより良いアカデミックショートカットまたは機能プラグインを思いついた場合、Issueをオープンするか pull request を送信してください。私たちはこのプロジェクト自体によって翻訳された英語 |日本語 |한국어 |Русский |FrançaisのREADMEも用意しています。 GPTを使った任意の言語にこのプロジェクトを翻訳するには、multi_language.pyを読んで実行してください。 (experimental)。

注意

  1. 赤色で表示された関数プラグイン(ボタン)のみ、ファイルの読み取りをサポートしています。一部のプラグインは、プラグインエリアのドロップダウンメニュー内にあります。また、私たちはどんな新しいプラグインのPRでも、最優先で歓迎し、処理します!

  2. このプロジェクトの各ファイルの機能は、自己解析の詳細説明書であるself_analysis.mdで説明されています。バージョンが進化するにつれて、関連する関数プラグインをいつでもクリックし、GPTを呼び出してプロジェクトの自己解析レポートを再生成することができます。よくある問題はwikiにまとめられています。インストール方法

  1. このプロジェクトは、chatglmやRWKV、パンクなど、国内の大規模自然言語モデルを利用することをサポートし、試みることを奨励します。複数のAPIキーを共存することができ、設定ファイルにAPI_KEY="openai-key1,openai-key2,api2d-key3"のように記入することができます。API_KEYを一時的に変更する場合は、入力エリアに一時的なAPI_KEYを入力してEnterキーを押せば、それが有効になります。
機能 説明
一键校正 一键で校正可能、論文の文法エラーを検索することができる
一键中英翻訳 一键で中英翻訳可能
一键コード解説 コードを表示し、解説し、生成し、コードに注釈をつけることができる
自分でカスタマイズ可能なショートカットキー 自分でカスタマイズ可能なショートカットキーをサポートする
モジュール化された設計 カスタマイズ可能な強力な関数プラグインをサポートし、プラグインはホットアップデートに対応している
自己プログラム解析 [関数プラグイン] 一键読解このプロジェクトのソースコード
プログラム解析 [関数プラグイン] 一鍵で他のPython/C/C++/Java/Lua/...プロジェクトを分析できる
論文の読み、翻訳 [関数プラグイン] LaTex/ PDF論文の全文を一鍵で読み解き、要約を生成することができる
LaTex全文翻訳校正 [関数プラグイン] LaTex論文の翻訳または校正を一鍵で行うことができる
一括で注釈を生成 [関数プラグイン] 一鍵で関数に注釈をつけることができる
Markdown中英翻訳 [関数プラグイン] 上記の5種類の言語のREADMEを見たことがありますか?
チャット分析レポート生成 [関数プラグイン] 実行後、自動的に概要報告書を生成する
PDF論文全文翻訳機能 [関数プラグイン] PDF論文からタイトルと要約を抽出し、全文を翻訳する(マルチスレッド)
Arxivアシスタント [関数プラグイン] arxiv記事のURLを入力するだけで、要約を一鍵翻訳し、PDFをダウンロードできる
Google Scholar 総合アシスタント [関数プラグイン] 任意のGoogle Scholar検索ページURLを指定すると、gptがrelated worksを作成する
インターネット情報収集+GPT [関数プラグイン] まずGPTにインターネットから情報を収集してから質問に回答させ、情報が常に最新であるようにする
数式/画像/表表示 数式のtex形式とレンダリング形式を同時に表示し、数式、コードハイライトをサポートしている
マルチスレッド関数プラグインがサポートされている chatgptをマルチスレッドで呼び出し、大量のテキストまたはプログラムを一鍵で処理できる
ダークグラジオテーマの起動 ブラウザのURLの後ろに/?__theme=darkを追加すると、ダークテーマを切り替えることができます。
多数のLLMモデルがサポートされ、API2Dがサポートされている 同時にGPT3.5、GPT4、清華ChatGLM復旦MOSSに対応
より多くのLLMモデルが接続され、huggingfaceデプロイがサポートされている Newbingインターフェイス(Newbing)、清華大学のJittorllmのサポートLLaMA, RWKV盘古α
さらに多くの新機能(画像生成など)を紹介する... この文書の最後に示す...
  • 新しいインターフェース(config.pyのLAYOUTオプションを変更することで、「左右配置」と「上下配置」を切り替えることができます)
- All buttons are dynamically generated by reading functional.py, and custom functions can be freely added to free the clipboard.
  • Polishing/Correction
  • If the output contains formulas, they are displayed in both TeX and rendering forms, making it easy to copy and read.
  • Don't feel like looking at the project code? Just ask chatgpt directly.
  • Mixed calls of multiple large language models (ChatGLM + OpenAI-GPT3.5 + API2D-GPT4)

Installation

Installation-Method 1: Directly run (Windows, Linux or MacOS)

  1. Download the project.
git clone https://github.com/binary-husky/chatgpt_academic.git
cd chatgpt_academic
  1. Configure the API_KEY.

Configure the API KEY and other settings in config.py and special network environment settings.

(P.S. When the program is running, it will first check if there is a private configuration file named config_private.py, and use the configuration in it to override the same name configuration in config.py. Therefore, if you can understand our configuration reading logic, we strongly recommend that you create a new configuration file named config_private.py next to config.py, and transfer (copy) the configuration in config.py to config_private.py. config_private.py is not controlled by git and can make your privacy information more secure. P.S. The project also supports configuring most options through environment variables, and the writing format of environment variables refers to the docker-compose file. Reading priority: environment variables > config_private.py > config.py)

  1. Install dependencies.
# (Choose I: If familiar with Python)(Python version 3.9 or above, the newer the better) Note: Use the official pip source or Ali pip source. Temporary switching source method: python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python -m pip install -r requirements.txt

# (Choose II: If not familiar with Python) Use anaconda, the steps are the same (https://www.bilibili.com/video/BV1rc411W7Dr):
conda create -n gptac_venv python=3.11    # Create anaconda environment.
conda activate gptac_venv                 # Activate the anaconda environment.
python -m pip install -r requirements.txt # This step is the same as the pip installation step.
If you need to support Tsinghua ChatGLM/Fudan MOSS as a backend, click to expand.

[Optional Steps] If you need to support Tsinghua ChatGLM/Fudan MOSS as a backend, you need to install more dependencies (precondition: familiar with Python + used Pytorch + computer configuration). Strong enough):

# Optional step I: support Tsinghua ChatGLM. Tsinghua ChatGLM remarks: If you encounter the error "Call ChatGLM fail cannot load ChatGLM parameters normally", refer to the following: 1: The version installed above is torch+cpu version, using cuda requires uninstalling torch and reinstalling torch+cuda; 2: If the model cannot be loaded due to insufficient local configuration, you can modify the model accuracy in request_llm/bridge_chatglm.py, and 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_llm/requirements_chatglm.txt  

# Optional Step II: Support Fudan MOSS.
python -m pip install -r request_llm/requirements_moss.txt
git clone https://github.com/OpenLMLab/MOSS.git request_llm/moss  # Note that when executing this line of code, it must be in the project root.

# 【Optional Step III】Ensure that the AVAIL_LLM_MODELS in the config.py configuration file contains the expected model. Currently, all supported models are as follows (jittorllms series currently only supports the docker solution):
AVAIL_LLM_MODELS = ["gpt-3.5-turbo", "api2d-gpt-3.5-turbo", "gpt-4", "api2d-gpt-4", "chatglm", "newbing", "moss"] # + ["jittorllms_rwkv", "jittorllms_pangualpha", "jittorllms_llama"]

  1. Run.
python main.py
```5. Testing Function Plugin
  • Test function plugin template function (requires gpt to answer what happened today in history), you can use this function as a template to implement more complex functions Click "[Function Plugin Template Demo] Today in History"

## Installation-Methods 2: Using Docker

1. Only ChatGPT (recommended for most people)

 ``` sh
git clone https://github.com/binary-husky/chatgpt_academic.git  # Download project
cd chatgpt_academic                                 # Enter path
nano config.py                                      # Edit config.py with any text editor ‑ configure "Proxy," "API_KEY," "WEB_PORT" (e.g., 50923) and more
docker build -t gpt-academic .                      # installation

#(Last step-Option 1) In a Linux environment, `--net=host` is more convenient and quick
docker run --rm -it --net=host gpt-academic
#(Last step-Option 2) In a macOS/windows environment, the -p option must be used to expose the container port (e.g., 50923) to the port on the host.
docker run --rm -it -e WEB_PORT=50923 -p 50923:50923 gpt-academic
  1. ChatGPT + ChatGLM + MOSS (requires familiarity with Docker)
# Modify docker-compose.yml, delete plans 1 and 3, and retain plan 2. Modify the configuration of plan 2 in docker-compose.yml, and reference the comments for instructions.
docker-compose up
  1. ChatGPT + LLAMA + Pangu + RWKV (requires familiarity with Docker)
# Modify docker-compose.yml, delete plans 1 and 2, and retain plan 3. Modify the configuration of plan 3 in docker-compose.yml, and reference the comments for instructions.
docker-compose up

Installation-Method 3: Other Deployment Methods

  1. How to use proxy URL/Microsoft Azure API Configure API_URL_REDIRECT according to the instructions in config.py.

  2. Remote Cloud Server Deployment (requires cloud server knowledge and experience) Please visit Deployment Wiki-1

  3. Using WSL2 (Windows Subsystem for Linux Subsystem) Please visit Deployment Wiki-2

  4. How to run on a secondary URL (such as http://localhost/subpath) Please visit FastAPI Running Instructions

  5. Run with docker-compose Please read docker-compose.yml and follow the instructions provided therein.


Advanced Usage

Customize new convenience buttons/custom function plugins

  1. Custom new convenience buttons (academic shortcut keys) Open core_functional.py with any text editor, add the item as follows, and restart the program. (If the button has been added successfully and is visible, the prefix and suffix support hot modification without restarting the program.) example:
"Super English to Chinese Translation": {
    # Prefix, which will be added before your input. For example, used to describe your request, such as translation, code interpretation, polish, etc.
    "Prefix": "Please translate the following content into Chinese, and explain the proper nouns in the text in a markdown table one by one:\n\n", 
    
    # Suffix, which will be added after your input. For example, in combination with the prefix, you can surround your input content with quotation marks.
    "Suffix": "",
},
  1. Custom function plugins

Write powerful function plugins to perform any task you can and cannot think of. The difficulty of writing and debugging plugins in this project is low, and as long as you have a certain amount of python basic knowledge, you can follow the template provided by us to achieve your own plugin functions. For details, please refer to the Function Plugin Guide.


Latest Update

New feature dynamics.

  1. ダイアログの保存機能。関数プラグインエリアで '現在の会話を保存' を呼び出すと、現在のダイアログを読み取り可能で復元可能なHTMLファイルとして保存できます。さらに、関数プラグインエリア(ドロップダウンメニュー)で 'ダイアログの履歴保存ファイルを読み込む' を呼び出すことで、以前の会話を復元することができます。Tips:ファイルを指定せずに 'ダイアログの履歴保存ファイルを読み込む' をクリックすることで、過去のHTML保存ファイルのキャッシュを表示することができます。'すべてのローカルダイアログの履歴を削除' をクリックすることで、すべてのHTML保存ファイルのキャッシュを削除できます。
  1. 報告書を生成します。ほとんどのプラグインは、実行が終了した後に作業報告書を生成します。
  1. モジュール化された機能設計、簡単なインターフェースで強力な機能をサポートする。
  1. 自己解決可能なオープンソースプロジェクトです。
  1. 他のオープンソースプロジェクトの解読、容易である。
  1. Live2Dのデコレート小機能です。(デフォルトでは閉じてますが、 config.pyを変更する必要があります。)
  1. 新たにMOSS大言語モデルのサポートを追加しました。
  1. OpenAI画像生成
  1. OpenAIオーディオの解析とサマリー
  1. 全文校正されたLaTeX

バージョン:

  • version 3.5(作業中):すべての関数プラグインを自然言語で呼び出すことができるようにする(高い優先度)。
  • version 3.4(作業中):chatglmのローカルモデルのマルチスレッドをサポートすることで、機能を改善する。
  • version 3.3:+Web情報の総合機能
  • version 3.2:関数プラグインでさらに多くのパラメータインターフェイスをサポートする(ダイアログの保存機能、任意の言語コードの解読+同時に任意のLLM組み合わせに関する問い合わせ)
  • version 3.1:複数のGPTモデルを同時に質問できるようになりました! api2dをサポートし、複数のAPIキーを均等に負荷分散することができます。
  • 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:基本機能

gpt_academic開発者QQグループ-2:610599535

  • 既知の問題
    • 一部のブラウザ翻訳プラグインが、このソフトウェアのフロントエンドの実行を妨害する
    • gradioバージョンが高すぎるか低すぎると、多くの異常が引き起こされる

参考学習

コードの中には、他の優れたプロジェクトの設計から参考にしたものがたくさん含まれています:

# プロジェクト1:清華ChatGLM-6B:
https://github.com/THUDM/ChatGLM-6B

# プロジェクト2:清華JittorLLMs:
https://github.com/Jittor/JittorLLMs

# プロジェクト3:Edge-GPT:
https://github.com/acheong08/EdgeGPT

# プロジェクト4:ChuanhuChatGPT:
https://github.com/GaiZhenbiao/ChuanhuChatGPT

# プロジェクト5:ChatPaper:
https://github.com/kaixindelele/ChatPaper

# その他:
https://github.com/gradio-app/gradio
https://github.com/fghrsh/live2d_demo