Ai-Medical-Assistant:音声対応医療RAGアシスタント

AI/ML

概要

Ai-Medical-Assistantは、医療従事者が音声で患者情報を効率的に取得できる音声対応の質問応答(RAG: Retrieval-Augmented Generation)システムです。フロントエンドにReactを採用し、ユーザーの音声入力を収録。バックエンドはFlaskで構築され、OpenAIのWhisper APIを活用した音声認識、Pineconeによる患者情報のベクトル検索、ElevenLabsの自然な音声合成、さらにGPT-3.5を用いた高度な言語生成を組み合わせています。これにより、医師は手を使わずに患者の基本情報を素早く取得でき、診療の効率化と患者対応の質向上を狙います。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 6
  • メインの言語: JavaScript

主な特徴

  • 音声入力による自然な対話で患者情報を取得可能
  • OpenAI Whisper APIを用いた高精度音声認識機能
  • Pineconeのベクトルデータベースによる高速かつ精度の高い情報検索
  • ElevenLabsの高品質テキスト音声合成による自然な返答音声の生成

技術的なポイント

本プロジェクトは、医療現場に特化した音声対話型RAGシステムのMVP(Minimum Viable Product)として設計されています。フロントエンドはReactを使用し、ユーザーのマイクから音声を収録。録音された音声はバックエンドのFlask APIに送信されます。バックエンドでは、OpenAIのWhisper APIで音声データをテキストに変換し、自然言語処理を実施。変換されたテキストをもとに、Pineconeのベクトル検索により患者情報データベースから関連データを高速に抽出します。Pineconeはベクトル表現を用いて類似度検索を行うため、多様な表現の質問にも柔軟に対応可能です。

抽出された情報をもとに、OpenAI GPT-3.5-turboモデルが質問に対する応答を生成。これにより、単なる情報検索に留まらず、文脈を理解した自然な文章での回答が得られます。さらに、応答テキストはElevenLabsのテキスト音声合成APIに送られ、高品質かつ自然な音声に変換されてユーザーに返されます。これにより医師は画面を注視せずとも、音声で情報を得られ、ハンズフリーでの利用が可能です。

技術スタックとしては、フロントエンドのReactが音声録音やUIの管理を担当し、バックエンドのFlaskがAPIとして音声認識や生成処理を統括。また、OpenAI、Pinecone、ElevenLabsといった外部APIを連携させることで、最新のAI技術を活用した高度な音声対話システムを低工数で実装しています。スケーラブルな設計により、将来的には患者数の増加や多言語対応、さらなる高度な医療情報処理への拡張も見据えています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: Git管理除外設定ファイル
  • README.md: プロジェクト概要およびセットアップ手順
  • backend: Flaskを用いたAPIサーバーのソースコード
  • frontend: Reactによるユーザーインターフェース
  • scripts: API連携やデプロイ用スクリプト

その他に環境変数管理ファイルや設定ファイルが含まれ、Dockerなどのコンテナ化は現段階では実装されていませんが、モジュールごとに明確に分離されているため保守拡張が容易です。

まとめ

音声対話で医療情報取得を効率化する実用的なMVP。

リポジトリ情報: