Azure-Samples/serverless-chat-langchainjs
Build your own serverless AI Chat with Retrieval-Augmented-Generation using LangChain.js, TypeScript and Azure
What it solves
このプロジェクトは、特定の企業ドキュメントに基づいて質問に答えるサーバーレス AI チャットボットを構築するためのリファレンス実装を提供します。JavaScript/TypeScript を用いた Retrieval‑Augmented Generation(RAG)の実装プロセスを簡素化し、開発者がサーバー管理なしでスケーラブルかつコスト効果の高いチャット体験を作成できるようにします。
How it works
アプリケーションは、複数の統合コンポーネントからなるサーバーレスアーキテクチャを使用します:
- Frontend:Lit で構築されたチャット Web コンポーネントで、Azure Static Web Apps にホストされています。
- Backend API:Azure Functions と LangChain.js で構築されたサーバーレス API で、ドキュメントの取り込みとクエリ生成を処理します。
- Vector Database:抽出されたテキストと生成されたベクトルを効率的に検索できるように、Azure Cosmos DB for NoSQL に保存します。
- Storage:ソースドキュメントは Azure Blob Storage に格納されます。
- Local Option:開発中のクラウドコストを回避するため、LLM と埋め込みモデルに Ollama を使用してシステム全体をローカルで実行できます。
Who it’s for
JavaScript エコシステムと Azure のサーバーレスインフラを利用して RAG ベースの AI アプリケーションを構築したい開発者、またはエンタープライズ向けチャットボットの出発点を探している方に最適です。
Highlights
- Serverless Deployment:Azure Functions と Static Web Apps を使用した完全サーバーレススタック。
- RAG Implementation:LangChain.js を用いたドキュメント取り込みと検索の統合パイプライン。
- Histry Management:ユーザーごとのチャットセッション履歴を保持します。
- Flexible Model Hosting:Azure OpenAI と Ollama を介したローカルモデルの両方をサポート。