> **Note**
>
> このReadmeファイルは、このプロジェクトのmarkdown翻訳プラグインによって自動的に生成されたもので、100%正確ではない可能性があります。
>
# ChatGPT 学術最適化
**このプロジェクトが気に入ったらスターを付けてください。また、より便利な学術用ショートカットまたは機能プラグインを考案された場合は、問題を開いたり、プルリクエストを投げたりすることができます。さらに、このプロジェクト自体によって翻訳された[README(英語)](docs/README_EN.md)もあります。**
> **注意**
>
> 1. 取り込まれたファイルを読み込むことができるのは、**赤色**で表示されている関数プラグイン(ボタン)のみであり、一部のプラグインはプラグイン領域の**ドロップダウンメニュー**にあります。さらに、新しいプラグインに関するいかなるPRでも、最優先で歓迎・処理いたします。
>
> 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)で詳しく説明されています。バージョンが進化するにつれて、関連する関数プラグインをクリックしてChatGPTを呼び出し、プロジェクトの自己解析レポートを再生成することもいつでもできます。一般的な問題は[`wiki`](https://github.com/binary-husky/chatgpt_academic/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)にまとめられています。
機能 | 説明
--- | ---
一键修正 | 一键で論文の文法エラーを検索・修正できます
一键日英翻訳 | 一键で英日の相互翻訳ができます。
コードの自動解釈 | コードが正しく表示され、解釈できます。
[カスタムショートカット](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) | [関数プラグイン] arxiv記事URLを入力すると、要約を自動翻訳+PDFをダウンロードできます。
[PDF論文全文翻訳機能](https://www.bilibili.com/video/BV1KT411x7Wn) | [関数プラグイン] PDF論文のタイトルと要旨を抽出しながら、全文を翻訳できます(マルチスレッド)。
[Google Scholar統合アシスタント](https://www.bilibili.com/video/BV19L411U7ia) | [関数プラグイン] Google Scholarの検索ページURLを入力すると、gptが興味深い記事を選択します。
数式、画像、表の表示 | 数式のtex形式とレンダリング形式を同時に表示し、公式、コードのハイライトがサポートされます。
マルチスレッド関数プラグインサポート | chatgptのマルチスレッド呼び出しがサポートされ、大量のテキストまたはプログラムを一括で処理できます。
Dark gradioスタイルの起動(https://github.com/binary-husky/chatgpt_academic/issues/173) | ブラウザのURLに```/?__dark-theme=true```を追加すると、ダークテーマに切り替えることができます。
[多数のLLMモデル](https://www.bilibili.com/video/BV1wT411p7yf)のサポート、[API2D](https://api2d.com/)インターフェースのサポート | 同時に、GPT3.5、GPT4、[清華ChatGLM](https://github.com/THUDM/ChatGLM-6B)がサポートされている感覚は、きっと素晴らしいはずですね?
huggingfaceが提供する科学技術ウェブ[体験版](https://huggingface.co/spaces/qingxu98/gpt-academic) | huggingfaceにログインした後[このスペース](https://huggingface.co/spaces/qingxu98/gpt-academic)をコピーしてください。
…… | ……
- 新しいインターフェース(config.pyのLAYOUTオプションを変更すると、左右のレイアウトと上下のレイアウトを切り替えることができます)。
- All buttons are dynamically generated by reading functional.py, and custom functions can be added, freeing up the clipboard.
- Polishing/Error Correction
- If the output contains formulas, it will be displayed in both tex form and rendering form at the same time for easy copying and reading.
- Tired of looking at the project code? Just show chatgpt's mouth the whole project
- Various large language models are mixed and called (ChatGLM + OpenAI-GPT3.5 + [API2D](https://api2d.com/)-GPT4)
Multiple large language models mixed call [huggingface beta](https://huggingface.co/spaces/qingxu98/academic-chatgpt-beta) (huggingface version does not support chatglm)
---
## Installation-Method 1: Run Directly (Windows, Linux or MacOS)
1. Download the project
```sh
git clone https://github.com/binary-husky/chatgpt_academic.git
cd chatgpt_academic
```
2. Configure API_KEY and proxy settings
In `config.py`, configure the overseas proxy and OpenAI API KEY, as explained below.
```
1. If you are in China, you need to set up overseas proxies to use the OpenAI API smoothly. Please read config.py carefully for the setting method (1. Change USE_PROXY to True; 2. Modify the proxies according to the instructions).
2. Configure OpenAI API KEY. You need to register and obtain the API KEY on the OpenAI official website. Once you have the API KEY, configure it in the config.py file.
3. Issues related to proxy networks (network timeout, proxies not working) are summarized at https://github.com/binary-husky/chatgpt_academic/issues/1
```
(P.S. When the program is running, it will first check whether there is a private configuration file named `config_private.py` and use the configuration therein to override the same-named 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, which can make your privacy information more secure.)
3. Install dependencies
```sh
# (Option 1) Recommended
python -m pip install -r requirements.txt
# (Option 2) If you use anaconda, the steps are similar:
# (Option 2.1) conda create -n gptac_venv python=3.11
# (Option 2.2) conda activate gptac_venv
# (Option 2.3) python -m pip install -r requirements.txt
# Note: Use the official pip source or Ali pip source. Other pip sources (such as some universities' pip) may have problems. Temporary switching source method:
# python -m pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
```
If you need to support Tsinghua ChatGLM, you need to install more dependencies separately (if you are not familiar with Python or your computer configuration is not good, it is not recommended to try):
```sh
python -m pip install -r request_llm/requirements_chatglm.txt
```
4. Run
```sh
python main.py
```
5. Test function plugin
```
- Test Python project analysis
In the input area, enter `./crazy_functions/test_project/python/dqn`, and then click "Analyze the Entire Python Project"
- Test self-code interpretation
Click "[Multi-threaded Demo] Analyze this Project Itself (Self-Translating Source Code)"
- Test experimental functional template function (requires gpt to answer what happened in history today), you can use this function as a template to implement more complex functions
Click "[Function Plugin Template Demo] In History Today"
- There are more features to choose from in the function plugin dropdown menu
```
## Installation-Method 2: Using Docker (Linux)
あなたは、プロの学術論文翻訳者です。
1. ChatGPTのみを使用(一般的にはこのオプションが推奨されます)
``` sh
# プロジェクトをダウンロードします
git clone https://github.com/binary-husky/chatgpt_academic.git
cd chatgpt_academic
# 海外ProxyとOpenAI API KEYを構成する
config.pyをテキストエディタで開いて編集します。
# インストール
docker build -t gpt-academic .
# 実行
docker run --rm -it --net=host gpt-academic
# 関数プラグインのテスト
## 関数プラグインテンプレート関数をテストします(gptが「今日の歴史で何が起こったか」と答えるように要求します)。この関数をテンプレートとして使用して、より複雑な機能を実装できます。
[関数プラグインテンプレートDemo]をクリックしてください。
## 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
# How to build | 構築方法(Dockerfile+ChatGLMはdocsのパスにありますので、まずcd docsを実行してください)
docker build -t gpt-academic --network=host -f Dockerfile+ChatGLM .
# How to run | 実行方法 (1) 直接実行:
docker run --rm -it --net=host --gpus=all gpt-academic
# How to run | 実行方法 (2) コンテナに入って調整することを予め行いたい場合:
docker run --rm -it --net=host --gpus=all gpt-academic bash
```
## Installation-Method 3: その他のデプロイ方法
1. クラウドサーバーにリモートでインストールする
[デプロイ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サブシステム)
[デプロイ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)
## Installation-プロキシ構成
### 方法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": "以下の内容を中国語に翻訳し、専門用語が含まれる場合はマークダウン表で1つずつ説明してください:\n\n",
#サフィックス、プレフィックスと組み合わせて、入力内容を引用符で囲むことができます。
"Suffix": "",
},
```
---
## 一部の機能のデモ
### 画像表示:
### プログラムが自分自身を読み取り、分解できる場合:
### 他のPython/Cppプロジェクトの分析:
### LaTeX論文の読解と要約の自動生成
### 自動レポート生成
### モジュール化された機能設計
### ソースコードを英語に変換する
## タスクとバージョン計画:
- 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: 基本機能
## 参考と学習
```
多くの優れたプロジェクトの設計を参考にしています:
# 参考プロジェクト1:ChuanhuChatGPTから多くの技術を借りました
https://github.com/GaiZhenbiao/ChuanhuChatGPT
# 参考プロジェクト2:清華ChatGLM-6B:
https://github.com/THUDM/ChatGLM-6B
```