【要約】Container RuntimeのSiSアプリにサードパーティコンポーネントを使った常駐チャットUIをのせる方法とその仕組みに迫ってみた [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
データエンジニアがSiSで高度なUIを作る際、従来のWarehouse Runtimeには強い制約があった。既存の環境では、以下の問題に直面していた。
- ・利用可能なライブラリがAnacondaのリポジトリに限定されていた。
- ・asset_dirを持つサードパーティ製コンポーネントが動作しなかった。
- ・Reactベースの高度なUIコンポーネントの導入が困難であった。
// Approach
筆者はContainer Runtimeを採用し、外部接続とパッケージ管理を適切に設定して制約の解消を試みた。具体的な手順は以下の通りである。
- ・uvを用いたpyproject.tomlによるパッケージ管理の導入。
- ・External Access Integration (EAI) を設定し、PyPIへの接続を許可。
- ・streamlit-floating-containerを用いた常駐チャットUIの実装。
- ・コンポーネントが/_stcore/bidi-components経由でJSを取得する仕組みの検証。
// Result
Container Runtimeの導入により、SiS上でもサードパーティ製コンポーネントを用いた柔軟なUI構築が可能となった。得られた成果は以下の通りである。
- ・streamlit-floating-containerによるチャットUIの動作を確認。
- ・asset_dirを持つコンポーネントが動作する技術的理由を特定。
- ・Reactを用いた自作UIの展開も可能であるという展望を得た。
Senior Engineer Insight
> Container Runtimeへの移行は、SiSの閉鎖性を克服する重要なステップだ。EAIによるPyPI接続やHTTPリクエストの許可により、開発体験は劇的に向上する。ただし、外部接続を許可するため、セキュリティポリシーとの整合性確認は必須だ。UIの自由度が増す一方で、依存ライブラリの管理コスト増大も考慮すべきである。