AI / LLM
RAG(ベクトル検索)
埋め込みベクトルのコサイン類似度で関連文書を検索して回答する
この機能には環境変数の設定が必要です
.env.local に以下を設定すると動作します。未設定でも画面は開けますが、実行時にエラーが返ります。
- OPENAI_API_KEY
検索対象の文書(6件)
soloの構成方針
soloは機能(Feature)を最小単位で実装し、それらを組み合わせてデモ(Demo)を作るリポジトリです。トップページは機能一覧とデモ一覧へのリンク集で、機能は /features、デモは /demos の配下に配置します。
機能とデモの関係
デモは既存の機能をimportして組み合わせるだけで作ります。デモ側に新しいビジネスロジックは書かず、ロジックは機能側に閉じ込めます。まず機能を作り、その後でデモを作るという順番を守ります。
ディレクトリ構成
src/app配下はルーティングのための入れ物で、実装本体はsrc/features/<slug>/に置きます。これによりデモ側からも同じコンポーネントをimportして再利用できます。共通UIはsrc/components、共通ロジックはsrc/libに置きます。
レジストリ
機能とデモのメタデータはsrc/lib/registry/features.tsとdemos.tsに集約します。一覧ページとトップページはこのレジストリを参照してリンクを自動生成するため、新規追加時はレジストリへの登録が必要です。
技術スタック
Next.js 16のApp Router、React 19、Tailwind CSS v4、Supabase、TypeScriptを使用します。Next.js 16ではMiddlewareがProxyに名称変更され、proxy.tsファイルで定義します。デプロイ先はVercelを想定しています。
環境変数
Supabase関連はNEXT_PUBLIC_SUPABASE_URLとNEXT_PUBLIC_SUPABASE_ANON_KEY、AI機能はOPENAI_API_KEYを.env.localに設定します。未設定でも各機能ページは開けるようになっており、必要な設定内容が画面に案内されます。