【要約】Elixir製NotebookLMクローン「Notex」をDocker (Ubuntu 24.04) で動かす&ai& Inference検証 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
筆者がNotexをDocker環境で動作させようとした際、リポジトリの初期状態では以下の技術的課題に直面した。
- ・ネットワーク接続の拒否:config/dev.exsのバインド設定が127.0.0.1であったため、コンテナ外からアクセスできなかった。
- ・LiveViewのクラッシュ:ソース追加時に、フォームパラメータのネスト指定が漏れていたため、FunctionClauseErrorが発生した。
// Approach
筆者はNotexを安定して動作させ、各種AI機能を検証するために、以下の修正と環境構築を行った。
- ・Dockerfileの最適化:Ubuntu 24.04をベースに、ffmpegやopen-jtalk等のメディア系パッケージを統合した。
- ・ネットワーク設定の修正:バインドアドレスを0.0.0.0に変更し、ホストからの通信を許可した。
- ・LiveViewのパッチ適用:to_form呼び出し時に「as: :source」を明示し、パラメータ構造を修正した。
- ・API互換性の活用:NOTEX_LLM_PROVIDERに"openai"を指定し、ai& Inference等の外部APIを利用可能にした。
// Result
修正後の環境において、Notexの主要なAI機能が正常に動作することを確認した。
- ・RAG機能:登録したソースに基づき、引用リンク付きの正確な回答が得られた。
- ・メディア生成:マインドマップ、スライド、およびffmpegを用いた動画生成が実現した。
- ・API検証:ai& Inference経由でのRAG動作を確認し、高い互換性を実証した。
Senior Engineer Insight
> Elixir/Phoenix LiveViewの採用により、極めて低レイテンシなUI体験を実現している。RAGとローカルのメディア生成ツールを組み合わせたアーキテクチャは、プロトタイピングにおいて非常に強力だ。ただし、動画生成等の重いプロセスを同一コンテナで実行する場合、リソースの分離とスケーラビリティの設計が実運用上の鍵となる。