GDG DevFest Tokyo 2024でセッション登壇をしました

GDG DevFest Tokyo 2024でセッション登壇をしました

こんにちは!TechJourneyを運営しているkoimaiです!

今回は、GDG DevFest Tokyo 2024に参加をしたので、その経験についてまとめていきたいと思います。

はじめに

GDG DevFest Tokyo 2024のイベントサムネイル

2024年11月30日、私の所属する東京国際工科専門職大学(以下、「IPUT」)で「GDG DevFest Tokyo 2024」が開催されました。

このイベントはGoogleのテクノロジーに関する最新情報や現場でのノウハウを学べる大規模な開発者向けイベントで、今年で9回目の開催となります。

今回のDevFestでは、新設の専門職大学である本学で開催されただけでなく、基調講演では村上憲郎学長(元Google米国本社副社長兼Google日本法人代表取締役社長)が「Google × IPUT 〜世界のあたりまえを生み出す Be a Global Professional〜」というテーマで講演がされました。

そんな記念すべきイベントで、私は学生登壇者として「Google技術とRAGで実現するQ&AのためのChatBotの構築と活用」というテーマでセッションを担当させていただきました。セッションでは、GoやGemini、GCP、Weaviateなどの技術を活用して開発したIPUTのためのQ&A ChatBotについてプレゼンしました。

学生の立場でこのようなカンファレンスで登壇する機会をいただけたことは、私にとって大きなチャレンジであり、同時に貴重な経験となりました。

GDG DevFest Tokyo 2024の概要

DevFest(Developer Festival)は、Google Developer Group(GDG)コミュニティによって世界各地で開催されているデベロッパー向けイベントです。

東京では、Android、Google Cloud、Web、Firebase、Machine Learning(ML)、Flutter、Goなど、幅広いGoogleテクノロジーの最新動向や実践的な知見を共有する場として、毎年開催されています。

今年のDevFestは、IPUTのコクーンタワーで開催され、基調講演をはじめとする2つのホール(コクーンホールA, B)で、様々なセッションが行われました。

各セッションでは、Google Developer Expert(GDE)の方々による2024年のアップデート内容の振り返りや、技術の深掘りした内容などが発表されました。

登壇内容

GDG DevFest Tokyo 2024のkoimaiのセッション登壇サムネイル

私の登壇では、IPUTのために開発したQ&A ChatBotについてプレゼンさせていただきました。

このプロジェクトでは、Go、Gemini、GCP、Weaviateなどの技術を組み合わせ、特にRAGという手法を用いて回答の質を高めることに注力しています。

以下では、プロジェクトの背景から具体的な技術的取り組みまでをご紹介させていただきます。

プロジェクトの背景

IPUTは2020年に設立された新しい情報系の専門職大学です。

そのため、まだ卒業生も少なく、ネット上にも情報が限られています。「この大学で本当に学べるのだろうか」「就職はできるのだろうか」といった不安を、進学を検討している高校生が抱えているという課題がありました。

私自身も高校3年生(2022年)であった当時、この課題を抱えておりました。

この課題を解決するため、私はIPUTのためのQ&A ChatBotの開発に取り組んでいます。RAG(Retrieval Augmented Generation)の手法を採用し、大学の公式情報に基づいた正確な回答を提供できるシステムの構築を目指しています。

具体的には、大学の情報をマークダウン形式で構造化し、それをベクトルデータベースに格納。ユーザーからの質問に対して、関連する情報を効率的に検索し、Geminiを用いて自然な日本語で回答を生成するシステムを実装しております。

このプロジェクトは、技術的なチャレンジに加えて、実際の教育機関が抱える課題を解決するための取り組みです。

技術的な取り組み

RAGシステムを実装するにあたり、以下の3つのポイントに特に注力しました。

  • ドキュメント管理の工夫
  • Embedding処理の効率化
  • Weaviateでの検索最適化

まず、ドキュメント管理では、フロントマターを活用してメタデータを構造化しました。カテゴリー、タグ、部署などの情報を整理することで、より正確な情報検索を可能にしています。

以下に具体例を示します。

title: "教育理念"
category: "大学案内"
tags: ["教育理念", "Designer in Society", "専門職大学"]
department: "全学部共通"
updated_at: "2024-11-30"

次に、文書のチャンキング(分割)においては、文書構造に基づいた最適化を行いました。

マークダウン形式の見出しレベルによる階層構造の維持、句点による文章の区切り、括弧でのまとまりの認識など、日本語文書特有の構造を考慮した分割を実装しています。

また、Embedding処理の効率化では、Gemini Go SDKのBatchEmbedContentsを活用し、複数のチャンクを一括でGemini APIにリクエストすることで、処理速度の向上を実現しました。

さらに、Weaviateでの検索においては、コンテンツタイプごとに重み付けを行い、より適切な検索結果が得られるよう調整しています。

重みが重いほど、独立したコンテンツとして扱われるようになる意図です。

  • リスト形式のコンテンツ:重み0.8
  • コードブロック:重み1.2
  • テーブル:重み1.5

これらの最適化により、ユーザーからの質問に対して、より正確で関連性の高い情報を提供できるシステムを実現しようと試みています。

登壇資料はこちら

内容は、2024年11月30日の登壇時点のものになります。

学生ツアーへの参加

DevFestでは、技術カンファレンス・コミュニティイベント初心者(参加経験:0-1回)の学生を対象に「DevFest Tokyo 2024 学生参加ツアー」が開催されました。

このツアーでは、学生スタッフが初めての参加者をサポートしながら、一緒に講演を聴き、イベントの楽しみ方を伝えていく企画です。

私は学生登壇者として、少し学生ツアーに参加させていただきました。

高校生との交流

学生ツアーに参加して特に印象に残ったのは、IPUTへの進学が決まっている高校3年生と、進学を検討している高校2年生にお会いしたことでした。

彼らと直接話す中で、大学の情報が少ないことへの不安を抱えているという生の声を聞くことができました。

「大学の情報が少なくて、本当に進学していいか不安になったことある」といった意見があり、私が課題だと考えていた”情報の少なさによる不安”が確かに存在することを、改めて実感しました。

今後の展望

今回のDevFestでの発表と高校生との交流を通じて、このプロジェクトをさらに発展させていく必要性を感じました。

特に以下の2点に注力して改善を進めていきたいと考えています。

RAGシステムの精度向上

現在のRAGシステムでも一定の精度は実現できていますが、まだまだ改善の余地があると考えています。

この精度は、Webアプリケーションを使用していただいたユーザーの満足度に直結するので、突き詰めていきたいです。

ログの取得と可視化

アプリケーションの改善には、実際の利用状況の分析も大事だと思います。

そこで、質問ログの収集機能の実装を考えています。

よく問い合わせられる内容の傾向分析や、回答精度の低い質問パターンの特定を行うことで、システムの弱点を把握し改善に活かしていきたいです。

これらの改善を通じて、より正確で使いやすいQ&A ChatBotを目指していきたいと思います。

まとめ

GDG DevFest Tokyo 2024のエンディングの集合写真

GDG DevFest Tokyo 2024という大規模な技術カンファレンスで、学生の立場から登壇させていただいたことは、私にとって貴重な経験となりました。

自分が個人で取り組んでいるプロジェクトについて発表することは緊張もしましたが、質疑応答も含めトラブルなく登壇を終えることができ、また高校生との交流を通じて開発の意義も再確認できました。

技術カンファレンスは最新の技術動向を学べるだけでなく、様々な知見や経験を持つ方々と交流できる貴重な機会だと実感しています。

しかし、1つだけ後悔があるとすれば、登壇者側のため控え室に移動しなければいけなかったりで忙しくて、他の登壇者の方のセッションを全然聞くことができなかったことです。

そのため、今後も技術カンファレンスには参加者側でも参加していきたいと考えています。また、登壇の機会があれば、今回の経験を活かしてさらに良いプレゼンができるよう挑戦していきたいと思います。

最後まで読んでいただき、ありがとうございました!