Skip to content

otowanWorks/TBS_SearchAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

東京ビッグサイト イベント案内AI

TBS_SearchAI01 miibo(会話AI)とRAG検索を組み合わせた、展示会・イベント検索インターフェースです。 チャットで質問すると、ナレッジデータストアからイベント情報を検索し、カード形式で表示します。

ライセンス:MIT License

概要

項目 内容
使用AI miibo(mebo)
検索方式 RAG(ナレッジデータストア)
フロントエンド Vanilla JS + 素のCSS
デプロイ Vercel(サーバーレス関数でAPIキー管理)

バージョンについて

このプロジェクトにはローカル版とVercel版の2種類があります。

ver_local ver_vercel
用途 動作確認・開発用 本番公開用
APIキー管理 js/api_id.js に直接記述 Vercel環境変数で管理
起動方法 VSCode Live Server など Vercelにデプロイ
APIキーの露出 あり(ブラウザから見える) なし(サーバーレス関数で隠蔽)

基本的な流れ: ver_local でローカル動作確認 → 問題なければ ver_vercel をVercelにデプロイ


ディレクトリ構成

東京ビッグサイト検索AI/
├── ver_local/              # ローカル動作確認用(Live Server)
│   ├── index.html
│   ├── css/style.css
│   └── js/
│       ├── api_id.js       # APIキーをここに直接記述
│       └── script.js
├── ver_vercel/             # Vercelデプロイ用
│   ├── index.html
│   ├── css/style.css
│   ├── js/
│   │   ├── api_id.js       # Vercel版では不使用(環境変数で管理)
│   │   └── script.js
│   ├── api/
│   │   └── chat.js         # Vercelサーバーレス関数(APIキー隠蔽)
│   └── package.json
└── README.md

セットアップ手順

1. miibo管理画面の設定

以下の4ステップで設定します。

  1. ナレッジデータストアにCSVを登録

  2. エージェントにデータストアを紐付ける

  3. システムプロンプト(SystemPrompt.txt)をmiiboのプロンプト内に設定する

  4. APIキーとエージェントIDを取得する


2-A. ローカルで動作確認する場合(ver_local)

ver_local/js/api_id.js を開き、APIキーを書き換えます。

const MEBO_API_KEY  = "あなたのAPIキー";
const MEBO_AGENT_ID = "あなたのエージェントID";

VSCode の Live Serverver_local/index.html を開いて動作確認します。


2-B. Vercelにデプロイする場合(ver_vercel)

ver_vercel/ ディレクトリをGitHubリポジトリのルートとしてVercelに接続します。

Vercelダッシュボード → Settings → Environment Variables に以下を追加します。

変数名
MEBO_API_KEY miiboのAPIキー
MEBO_AGENT_ID miiboのエージェントID

APIキーはサーバーレス関数(api/chat.js)で処理され、フロントエンドには露出しません。


画面構成

左右のスプリットレイアウトになっています。

┌─────────────────┬──────────────────────────────┐
│   チャットパネル  │       イベントカードパネル       │
│                 │                              │
│  AIの返答       │  ┌──────┐ ┌──────┐ ┌──────┐  │
│  (吹き出し)    │  │カード │ │カード │ │カード │  │
│                 │  └──────┘ └──────┘ └──────┘  │
│  クイックリプライ │                              │
│  入力フォーム    │                              │
└─────────────────┴──────────────────────────────┘

Extension(構造化データ)仕様

miiboのレスポンスにはテキストの他に、以下のJSON形式のExtensionブロックが含まれます。
script.js がこれを解析してイベントカードとして描画します。

```extension
{
  "type": "show_events",
  "events": [
    {
      "name":        "展示会名",
      "period":      "4/8(水)〜 4/10(金)",
      "venue":       "東1-3ホール",
      "target":      "一般・商談",
      "admission":   "無料(要登録)",
      "description": "イベントの概要説明",
      "sub_events":  ["同時開催の専門展1", "同時開催の専門展2"],
      "url":         "https://example.com"
    }
  ],
  "followups": ["一般向けを探す", "IT・DX系", "ファッション系"]
}
```
フィールド 説明
events イベントカードの配列(最大5件)
sub_events 同時開催・専門展のリスト。なければ []
followups クイックリプライボタンのテキスト(2〜3件)

ナレッジデータストアについて

イベントデータの入手方法

東京ビッグサイトのイベントデータは以下の東京都オープンデータカタログサイトからダウンロードしてください。

https://catalog.data.metro.tokyo.lg.jp/dataset/t001001d0000000001

ダウンロードしたデータをCSVにする場合、miibo用フォーマットに変換してから登録します。

miibo用CSVフォーマット

miibo のナレッジデータストアは以下のフォーマットのCSVのみ受け付けます。

label, url, text
  • 元データ(n件)を会期・会場でグループ化してn件に圧縮しています
  • 圧縮ルール:(内) 表記の子イベントは親イベントに統合し、同会場・同会期のイベントもまとめています

免責事項

  • 本コードは個人が学習・実験目的で作成したものです
  • 使い方に関するサポートは行いません
  • 本コードの使用によって生じたいかなる損害・トラブルについても、作者は一切の責任を負いません
  • 動作を保証するものではありません

動作確認チェックリスト

  • ナレッジデータストアにCSVを登録済み
  • エージェントにデータストアを紐付け済み
  • システムプロンプトを設定済み
  • APIキーとエージェントIDを設定済み
  • Live Serverまたは Vercel でページが開く
  • クイックリプライを押してイベントカードが表示される
  • 「詳細を見る →」のリンクが正しいURLに飛ぶ

About

miibo(会話AI)とRAG検索を組み合わせた、展示会・イベント検索インターフェースです。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors