-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
I created Japanese translated README.
- Loading branch information
Showing
3 changed files
with
187 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,185 @@ | ||
## 📃 NextAGIFuture | ||
|
||
<p align="center"> | ||
<a href="./README_cn.md">简体中文</a> | | ||
<a href="./README.md">English</a> | | ||
<a href="./README_ja.md">日本語</a> | | ||
<a href="#how-to-get-started">始め方</a> | ||
</p> | ||
|
||
LangChain、LangGraph、およびその他のフレームワークに基づいたチャットボット、RAG、エージェント、およびマルチエージェントアプリケーションプロジェクトで、オープンソースであり、オフライン展開が可能です。 | ||
<video src="https://private-user-images.githubusercontent.com/49232224/365880079-72564225-6675-4eda-b1c6-c87bb3e4bd24.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5Mzg2MzksIm5iZiI6MTcyNTkzODMzOSwicGF0aCI6Ii80OTIzMjIyNC8zNjU4ODAwNzktNzI1NjQyMjUtNjY3NS00ZWRhLWIxYzYtYzg3YmIzZTRiZDI0Lm1wND9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEwVDAzMTg1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVlZTVkZmQxY2YxZDRhMWJmYTY1ZmRjNzAxMzAwODJjNjZiMjQxOGRjMTkzZTlkYTA3ZTRiN2M4OWFhYjM2NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.E2MtHMi_cgeo6p7LKdIUj-iJt9JHA2li8pVxbI6Wazc" data-canonical-src="https://private-user-images.githubusercontent.com/49232224/365880079-72564225-6675-4eda-b1c6-c87bb3e4bd24.mp4?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5Mzg2MzksIm5iZiI6MTcyNTkzODMzOSwicGF0aCI6Ii80OTIzMjIyNC8zNjU4ODAwNzktNzI1NjQyMjUtNjY3NS00ZWRhLWIxYzYtYzg3YmIzZTRiZDI0Lm1wND9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTEwVDAzMTg1OVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVlZTVkZmQxY2YxZDRhMWJmYTY1ZmRjNzAxMzAwODJjNjZiMjQxOGRjMTkzZTlkYTA3ZTRiN2M4OWFhYjM2NDYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.E2MtHMi_cgeo6p7LKdIUj-iJt9JHA2li8pVxbI6Wazc" controls="controls" muted="muted" class="d-block rounded-bottom-2 border-top width-fit" style="max-height:640px; min-height: 200px"> | ||
</video> | ||
|
||
### 🤖️ 概要 | ||
|
||
![image](https://github.com/user-attachments/assets/22583a25-4cee-43af-9d8e-38a491377875) | ||
|
||
#### ワークフロー | ||
|
||
![image](https://github.com/user-attachments/assets/a4e33565-7acf-45d9-8e82-5a740cd88344) | ||
![image](https://github.com/user-attachments/assets/4d5874f1-aeb0-47c5-b907-21878a2fa4d9) | ||
|
||
#### 画像 | ||
|
||
![image](https://github.com/user-attachments/assets/4097b087-0309-4aab-8be9-a06fdc9d4964) | ||
|
||
#### ヒューマン・イン・ザ・ループ(人間の承認またはLLMの再考または人間への助けを求める) | ||
|
||
<p> | ||
<img src="https://github.com/user-attachments/assets/ec53f7de-10cb-4001-897a-2695da9cf6bf" alt="image" style="width: 49%; display: inline-block;"> | ||
<img src="https://github.com/user-attachments/assets/1c7d383d-e6bf-42b8-94ec-9f0c37be19b8" alt="image" style="width: 49%; display: inline-block;"> | ||
</p> | ||
|
||
NextAGIFutureは、大規模言語モデル(LLM)アプリケーションを開発するためのオープンソースプラットフォームを目指しています。これは、LangChainとLangGraphの概念を利用したLLMベースのアプリケーションです。チャットボット、RAGアプリケーション、エージェント、およびマルチエージェントシステムをサポートするLLMOpsソリューションのスイートを作成し、オフライン操作の機能を備えることを目指しています。 | ||
|
||
[StreetLamb](https://github.com/StreetLamb)プロジェクトおよびその[tribe](https://github.com/StreetLamb/tribe)プロジェクトに触発され、NextAGIFutureは多くのアプローチとコードを採用しています。この基盤の上に、新しい機能と方向性を導入しています。 | ||
|
||
このプロジェクトのレイアウトの一部は、[Lobe-chat](https://github.com/lobehub/lobe-chat)、[Dify](https://github.com/langgenius/dify)、および[fastgpt](https://github.com/labring/FastGPT)を参考にしています。これらはすべて優れたオープンソースプロジェクトであり、感謝しています🙇。 | ||
|
||
### 👨💻 開発 | ||
|
||
プロジェクトの技術スタック:LangChain + LangGraph + React + Next.js + Chakra UI + PostgreSQL | ||
|
||
### 💡ロードマップ | ||
|
||
1 アプリ | ||
|
||
- [x] チャットボット | ||
- [x] シンプルRAG | ||
- [x] 階層エージェント | ||
- [x] シーケンシャルエージェント | ||
- [ ] ワークフロー ---進行中 | ||
- [ ] さらに多くのマルチエージェント | ||
|
||
2 モデル | ||
|
||
- [x] OpenAI | ||
- [x] ZhipuAI | ||
- [x] Siliconflow | ||
- [x] Ollama | ||
- [ ] Qwen | ||
- [ ] Xinference | ||
|
||
3 その他 | ||
|
||
- [x] ツール呼び出し | ||
- [x] I18n | ||
- [ ] Langchainテンプレート | ||
|
||
### 🏘️ハイライト | ||
|
||
- 永続的な会話:チャット履歴を保存および維持し、会話を続けることができます。 | ||
- 可観測性:LangSmithを使用してエージェントのパフォーマンスと出力をリアルタイムで監視および追跡し、効率的に動作するようにします。 | ||
- ツール呼び出し:エージェントが外部ツールやAPIを利用できるようにします。 | ||
- 検索強化生成:エージェントが内部知識ベースを利用して推論できるようにします。 | ||
- ヒューマン・イン・ザ・ループ:ツール呼び出し前に人間の承認を有効にします。 | ||
- オープンソースモデル:llama、Qwen、GlmなどのオープンソースLLMモデルを使用します。 | ||
- マルチテナンシー:複数のユーザーとチームを管理およびサポートします。 | ||
|
||
### 始め方 | ||
|
||
#### 1. 準備 | ||
|
||
##### 1.1 コードをクローン | ||
|
||
git clone https://github.com/Onelevenvy/NextAGIFuture.git | ||
|
||
##### 1.2 環境設定ファイルをコピー | ||
|
||
```bash | ||
cp .env.example .env | ||
``` | ||
|
||
##### 1.3 秘密鍵を生成 | ||
|
||
.envファイルのいくつかの環境変数には、デフォルト値としてchangethisが設定されています。 | ||
これらを秘密鍵に変更する必要があります。秘密鍵を生成するには、次のコマンドを実行します: | ||
|
||
```bash | ||
python -c "import secrets; print(secrets.token_urlsafe(32))" | ||
``` | ||
|
||
内容をコピーしてパスワード/秘密鍵として使用します。もう一度実行して別の安全な鍵を生成します。 | ||
|
||
##### 1.3 postgres、qdrant、redisをインストール | ||
|
||
```bash | ||
cd nextagi | ||
docker compose up -d | ||
``` | ||
|
||
#### 2. バックエンドを実行 | ||
|
||
##### 2.1 基本環境のインストール | ||
|
||
サーバーの起動にはPython 3.10.xが必要です。Python環境を迅速にインストールするには、pyenvを使用することをお勧めします。 | ||
|
||
追加のPythonバージョンをインストールするには、pyenv installを使用します。 | ||
|
||
```bash | ||
pyenv install 3.10 | ||
``` | ||
|
||
"3.10" Python環境に切り替えるには、次のコマンドを使用します: | ||
|
||
```bash | ||
pyenv global 3.10 | ||
``` | ||
|
||
次の手順に従います: | ||
"backend"ディレクトリに移動します: | ||
|
||
```bash | ||
cd backend | ||
``` | ||
|
||
環境をアクティブにします。 | ||
|
||
```bash | ||
poetry env use 3.10 | ||
poetry install | ||
``` | ||
|
||
##### 2.2 初期データの設定 | ||
|
||
```bash | ||
# DBを起動させる | ||
python /app/app/backend_pre_start.py | ||
|
||
# マイグレーションを実行 | ||
alembic upgrade head | ||
|
||
# DBに初期データを作成 | ||
python /app/app/initial_data.py | ||
``` | ||
|
||
##### 2.3 unicornを実行 | ||
|
||
```bash | ||
uvicorn app.main:app --reload --log-level debug | ||
``` | ||
|
||
##### 2.4 celeryを実行(rag機能を使用する場合のみ) | ||
|
||
```bash | ||
poetry run celery -A app.core.celery_app.celery_app worker --loglevel=debug | ||
``` | ||
|
||
#### 3. フロントエンドを実行 | ||
|
||
##### 3.1 webディレクトリに移動して依存関係をインストール | ||
|
||
```bash | ||
cd web | ||
pnpm install | ||
``` | ||
|
||
##### 3.2 webサービスを起動 | ||
|
||
```bash | ||
cd web | ||
pnpm dev | ||
|
||
# または pnpm build してから pnpm start | ||
``` |