郷土料理合成研究所~郷LABO~

AWS

Python

Angular

Lambda

GraphQL

都道府県を2つ選んで郷土料理を勝手にミックス!

どりー_ハックツ

kami9811

Morita

推しアイデア

郷土料理を最新技術で魔改造!!

作った背景

テーマ「地方を楽しむ」 他では食べない組み合わせの郷土料理をさらにMIXしたらカオスになるんじゃね???

推し技術

今話題の生成AIの技術をふんだんに取り入れました。 - OpenAI API - Stable diffusion API - AI Talk - AWS - Ionic

プロジェクト詳細

「郷土料理合成研究所〜郷LABO〜」とは

地方をもっと楽しむをテーマに、日常生活の「食」に注目したアプリケーションです。 日頃あまり触れることのない各地方の郷土料理を美味しく・楽しく調理できるようなレシピを提案します。

チーム名

九州縦断隊

メンバーと各担当範囲

川上

EM,リードエンジニア 機械学習を主に担当

森田

バックエンド担当 サポートでフロントエンドとバックエンドの繋ぎこみ

長谷川

機械学習,フロント(ロジック実装)担当

フロント(View実装)担当

湯舟

PM,アプリデザイン,プレゼン,AppStoreConnect担当

技術仕様

構成図

image

使用言語と動作環境

フロントエンド

  • Ionic
    • Angular
  • AWS Amplify

バックエンド

  • Serverless Framework
    • Python

利用しているライブラリ・ミドルウェアとその利用目的

  • チームで Angular 開発経験が共通していたため、Ionicを採用
  • Serverless Framework を利用することで、AWSサービスを一元的に管理

利用しているサービスとその利用目的

利用しているサービス

  • ChatGPT - OpenAI
    • レシピ生成
  • Stable Diffusion — Stability AI
    • 料理後のイメージ作成
  • AITalk
    • レシピの読み上げ
  • AWS AppSync
    • GraphQL API
    • リアルタイムいいねの通知
  • Amazon DynamoDB
    • データベース
  • Amazon API Gateway
    • API
  • AWS Lambda
    • API実行環境
  • Amazon Location Service
    • 位置情報取得
  • Amazon S3
    • コンテンツ管理

利用している生成AIサービスとその利用目的

  • ChatGPT - OpenAI
    • レシピ生成
    • 郷土料理取得
  • Stable Diffusion — Stability AI
    • 郷土料理を合成したイメージ作成
  • AITalk
    • レシピの読み上げ

技術的に工夫した点・苦労した点

工夫した点

  • AWSリソースの管理をServerlessFrameworkを用いてIaC化
  • 究極の多様性を持つ地方 x 食における面白さをこだわり抜いた.
  • フロントは全員で作業するため,GitHub,Dockerなどコード・バージョン管理を徹底した.
  • 最新のプロンプトエンジニアリング手法を活用し,生成形AIのパフォーマンスを向上させた.
  • LLMによる文章出力安定化を,プログラミング手法によって解決した.
  • 地方 x 楽しい食体験を実現させるための体験構築にこだわった.(実際に作ってみた.美味しかった)
  • 複数の大規模モデルをストレスの少ない形で扱った.
  • ライブラリの使用を減らして、調べるコストを削減したこと
  • 郷土料理をOpenAI から取得する際、全く関係ないテキストを送ってくることがあったため、その場合は弾いて再リクエストを送るようにした
  • AI生成ロジックが複雑なので、どうしてもユーザーを待たせてしまうところを、Loading画面を作成しプログレスバーやTapEventで対策した

苦労した点

  • サーバレスなのでデバッグとテストに苦労した
  • Web画面で使える機能とスマホで使える機能が異なり、それに気づくのに時間がかかった
  • Stable diffusion API のリクエスト上限に来てしまったので課金をせざるをえなかった

最終プレゼン資料

https://drive.google.com/file/d/1b7k9VSbAPJU9qDFLTYT5b5yYL-am3CWs/view?usp=drive_link

どりー_ハックツ

@Friedrich_buryu