AIベクトル検索搭載 ホーチミン観光ガイドプラットフォーム
ホーチミン市の観光スポット情報をAIベクトル検索で探せる次世代観光ガイドプラットフォームを開発しました。従来のキーワード検索では見つけにくかった「雰囲気」や「目的」に基づいた場所の発見を可能にしています。
プロジェクト概要
- AIベクトル検索による観光スポット検索
- セマンティック検索による意味的な情報検索
- Rails 8.0 / PostgreSQL 16 with pgvector
- OpenAI Embeddings API統合
依頼者の目指した目標と解決したい課題
従来の観光ガイドサイトは、特定のキーワードでしか検索できず、「ロマンティックな川沿いのレストラン」のような曖昧な要望に応えることが困難でした。また、情報が断片的で、利用者が自分の目的に合った場所を見つけるのに時間がかかっていました。
開発したシステムの特徴
このプラットフォームの最大の特徴は、AIベクトル検索の実装です。主な機能として:
- セマンティック検索: 「静かで落ち着いた雰囲気のカフェ」といった自然言語での検索
- 類似スポット推薦: 訪問したスポットと似た雰囲気の場所を自動推薦
- 多言語対応: 日本語・英語での検索と表示
- リアルタイム更新: Turboによる高速なページ遷移
技術的背景
Rails 8.0をベースに、PostgreSQL 16のpgvector拡張を活用してベクトル検索機能を実装しました。OpenAI Embeddings APIを使用して観光スポットの説明文をベクトル化し、コサイン類似度による高精度な検索を実現しています。
Docker Composeによる開発環境の統一化、RuboCopとslim-lintによるコード品質管理、RSpecによる包括的なテスト実装により、保守性の高いシステムを構築しました。
GitHub Actionsを活用したCI/CDパイプラインにより、コード品質チェック、セキュリティスキャン(Brakeman)、自動テストを実行し、高品質なコードベースを維持しています。
解決された問題
AIベクトル検索の導入により、利用者は自然な言葉で検索でき、キーワードに依存しない柔軟な情報検索が可能になりました。観光客は自分の好みや目的に合った場所を効率的に発見でき、満足度の高い旅行体験を実現できるようになりました。
チーム構成
- (KW) プロジェクトマネージャー
- (KW) AIエンジニア
- (KW) バックエンドエンジニア
- (KW) フロントエンドエンジニア
(KW) はKaito Wingsが担当
プロジェクト期間
- 技術検証・設計 - 1.5ヶ月
- 開発・テスト - 3.5ヶ月
- ベクトルデータ生成・調整 - 1ヶ月
システム構成
- Ruby on Rails 8.0 / PostgreSQL 16
- pgvector (ベクトル検索)
- OpenAI Embeddings API
- Turbo / Tailwind CSS / Stimulus.js
- Docker / Docker Compose
- GitHub Actions (CI/CD)