実際に動くものは以下のリンクがあります。
- https://doc-chat-llm.streamlit.app/
- Streamlitが公開しているもの。
- 10回のやり取りに制限されている。
- https://chatgpt-like-clone-clone-kishiyamat.streamlit.app/
- 岸山がcloneして公開しているもの。
- 特に制限はない。
- 岸山に請求が来る(ので、できれば上を使って欲しくはある)。
このREADMEは、Streamlitを使用してChatGPTのクローンを作る方法を説明します。以下のステップに従ってください。 基本的に最終的な成果物は Build a basic LLM chat app ですが、GitHubなどの扱いが難しいと理解し難かったり、 インデントがわかりづらかったりするので補足してあります。
以下は、 (1) 本リポジトリを使って自身のPC経由でChatGPTを動かす方法 と (2) ChatGPTをカスタマイズして公開する方法 です。
- Windows: おそらくWSLを使うのが早いと思います。
- MacOS: Spotlightからterminalで調べると「ターミナル.app」が使えます。
- Linux: 一緒に頑張りましょう。
まず、プロジェクトをあなたのマシンにクローンします。
git clone git@github.com:kishiyamat/chatgpt-like-clone-clone.git
cd chatgpt-like-clone-clone/
次に、Pythonの仮想環境を作成してアクティベートします。 本当はPyenvでPythonのバージョンを指定して Poetryを使ってライブラリを管理するのがよくある方法だと思います。
python -V # Python 3.9.10がインストールされていることを確認
python -m venv venv
activate venv/bin/python3.9
プロジェクトで必要なライブラリをインストールします。
pip install -r requirements.txt
OpenAIのAPIキーを取得し、プロジェクトに設定します。これは、アプリケーションがOpenAIのサービスにアクセスするために必要です。
mkdir .streamlit
touch .streamlit/secret.toml
echo 'OPENAI_API_KEY = "sk-HERECOMESYOUROPENAITOKEN"' > .streamlit/secret.toml
# 注意: OPENAI_API_KEYの名前を変更しないでください(例: OPENAI_KEYやOPENAIAPIKEYは使用不可)
最後に、Streamlitアプリケーションを起動します。
streamlit run app.py
アプリケーションが起動したら、以下のURLでアクセスできます:
- ローカルURL: http://localhost:8501
- ネットワークURL: http://192.168.3.3:8501
これで、Streamlitを使ってChatGPTのクローンがローカル環境で動作するようになります。
それぞれが自由にカスタマイズできるようになることを目的とするため、 このプロジェクトをまずは編集可能にします。 GitHubやStreamlit Cloudというサービスへの登録が必要になりますが、 この際に使えるようにすると捗ります。
- https://github.com/join にアクセス
- GitHubに登録
- https://github.com/kishiyamat/chatgpt-like-clone-clone をFork
具体的な手順は公式ドキュメントを参照
- https://share.streamlit.io/signup にアクセス
- Continue with GitHub を選択
- そのまま進める
- https://share.streamlit.io/ にアクセス
- New app を選択
- Repositoryを選択
- App URLを指定
- Tokenを指定
- Deploy!