Skip to content

BK-1107/GoNexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoNexus

Chat, search, analyze, recognize, and reason with multimodal AI over your private knowledge base.

中文 · 日本語 · English

License Go Gin React Docker AWS

💡 GoNexus は、プライベートナレッジベースを活用した Q&A に対応するフルスタック AI チャットプラットフォームです。ユーザーとの対話中にローカルへアップロードされた内部資料を検索し、大規模言語モデルと組み合わせることで、業務文脈により合った回答を生成します。さらに、ユーザー認証、セッション管理、ストリーミングチャット、画像認識、クラウドデプロイまでを一つのアプリケーションとして統合しています。

GoNexus main interface

技術スタック

  • フロントエンド:React、TypeScript、Vite、Tailwind CSS、Zustand、Axios。
  • バックエンド:Go、Gin、JWT、Eino、OpenAI 互換モデル API。
  • ストレージとミドルウェア:MySQL、Redis Stack、RabbitMQ。
  • デプロイ:Docker、GitHub Actions、AWS。

機能紹介

1. ログインと登録

GoNexus login GoNexus registration

2. AI チャット

GoNexus chat

3. プライベートナレッジベースのアップロード

GoNexus private knowledge base upload

4. 画像分析

GoNexus image analysis

アーキテクチャ

GoNexus architecture

主な機能

  • リアルタイムチャット:Server-Sent Events(SSE)で AI の回答をストリーミング出力します。
  • RAG 対応:文書をアップロードし、ローカル知識を使って AI の回答を強化します。
  • セッション管理:チャット履歴を MySQL に永続化し、複数セッションの同期に対応します。
  • マルチモデル対応:複数の AI モデルプロバイダーを切り替えられ、ローカルモデル Ollama にも対応します。
GoNexus feature overview

AWS アーキテクチャ

GoNexus AWS architecture

ER 図

GoNexus ER diagram

仕組みの説明

セクション 主な内容 状態
01. ユーザー認証 ログインリクエスト、認証情報の検証、JWT の生成と返却
02. チャット連携 SSE ストリーミングチャット、AIHelper、モデル呼び出し、フロントエンド更新
03. 会話とメッセージ永続化 メモリコンテキスト、RabbitMQ 非同期保存、DAO による MySQL 書き込み
04. RAG ナレッジベース連携 文書アップロード、chunk 分割、embedding、Redis ベクトル検索
05. 画像認識連携 画像アップロード、base64 変換、Vision API 呼び出しと結果返却
06. Docker デプロイ連携 Compose 起動、イメージビルド、コンテナ通信、Nginx プロキシ

ローカルでの利用

1. 基盤サービスを起動

Docker がインストールされ、起動していることを確認してから、必要なサービスを起動します。

cd GoNexus
docker-compose up -d

2. バックエンドを設定して起動

  1. GoNexus/config/config.example.tomlGoNexus/config/config.toml にコピーし、ローカル環境に必要な設定を入力します。config.toml は Git にコミットしないでください。
  2. 依存関係をインストールし、バックエンドを起動します。
go mod tidy
go run main.go

クラウドデプロイ時は、次のような環境変数で設定を注入できます。

GONEXUS_MYSQL_HOSTGONEXUS_REDIS_HOSTGONEXUS_RABBITMQ_HOSTGONEXUS_JWT_KEYLLM_API_KEYLLM_MODEL_IDLLM_BASE_URL

3. フロントエンドを設定して起動

  1. GoNexus/frontend ディレクトリに移動します。
  2. 依存関係をインストールし、開発サーバーを起動します。
npm install
npm run dev

コントリビューション

Issue や Pull Request を歓迎します。


ライセンス

このプロジェクトは GNU General Public License v3.0 の下で公開されています。

About

AI chat platform with RAG, image recognition, SSE streaming, JWT auth, Redis, RabbitMQ, and Docker deployment.

Topics

Resources

License

Stars

Watchers

Forks

Contributors