Fukui-AI

https://github.com/

GitHub

AWS

Python

Docker

PostgreSQL

お悩み相談と面談予約ができるふくいさんdiscord bot

Huyu

Natarou

Satoi Yamaguchi

yuika

Satoshi

推しアイデア

ふくいさんのチャット上での口調を徹底的に分析して再現。

作った背景

ふくいさんが忙しそうかつ、面談予約LINEがあまり活用されていなかったため。

推し技術

claudeにふくいさんの特徴を教え、ふくいさんのような返答ができるようにしました。

プロジェクト詳細

現状の課題

  • 福井さんがお悩み相談の1on1を開催している。 →福井さんが色々やりすぎてて、忙しそう・時間が取れない。 →Bot化して負担を軽減させよう。
  • LINEのLIFFアプリから1on1の面談を募集しているが、活発なDiscord鯖から申し込めるようにした方が良い。 →Discordにしよう! チャットプラットフォームを利用できる! →Botにすれば、チャットプラットフォーム開発が必要ない。 Chat機能を自作すると、難しい、時間が足りない。 →Discord BotのAPIを使おう。

MVP開発

開発期間も短く、まずは最低限機能するための要件を整理した。 以下2つの最低限の機能として、開発を進めた。

1. チャット機能

  • 質問者がテキストで質問すると、AI福井さんがテキストで返信をする。
  • チャットの内容・プロンプトチューニング(お悩み相談、就活、雑談、プロレスモード、しりとり) →福井さんの特徴を反映

2. 1on1の日程を管理する機能

  • 福井さんのスケジュール管理機能
  • 1on1予約機能(福井さんの空き時間にCRUDできるようにする)

今後の展望

  • リマインダー機能
  • エラー処理 ex) 都合が悪くなる(レスポンス速度が遅い)またはエラー時に、忍者わんこが出てきて謝罪する
  • ツイート機能 →投稿されたYoutubeの宣伝、イベント告知をBotでツイートしたい。
  • 多言語対応 →福井さんのカタコト英語ver
  • 音声チャット機能
  1. テキストだけでなく、音声で通話できるようにする
  2. 質問者がテキストで質問すると、AI福井さんが、テキストとAI音声で返信をする。
  3. 質問者が音声で質問すると、AI福井さんがAI音声で返信をする。
  • 福井さんのボイス集(ファン向けw)

実装上の工夫点など

  • チャット機能でAmazonのBedrockを使用しました。 モデルはClaude3.5のSonnetを使用しました。 選定理由は、Claudeが日本語に対してつよいことと、AWSにあるClaudeの中ではもっとも性能が良いとされていたためです。

  • Paginatorを使用し、スケジュール確認のUXを向上しました。 image

DB設計

次の3つのテーブルを用意しました。

  1. Progate社の面談をしてくれる方を管理するMentorテーブル
  2. Mentorのスケジュールを管理するScheduleテーブル
  3. 一つ一つの面談を管理するSessionテーブル

ER図は以下のように設計しました。 image

プロジェクト構成

AWSでデプロイしました。

. ├── Dockerfile ├── README.md ├── compose.yaml ├── docs ├── public │   ├── icons │   └── images ├── requirements.lock ├── requirements.txt └── src ├── cogs │   ├── converse.py │   ├── ping.py │   ├── request_session.py │   ├── schedule.py │   └── session.py ├── constants.py ├── main.py └── utils ├── __init__.py ├── bedrock_client.py ├── database.py └── **paginator.py**

Huyu

@Huyu2239