【生成AI】ハッカソン参加レポート vol.2

🕓本記事の最終更新日は です。

筆者のスペック

参加したイベント

イベント名シンプルな生成 AI ハッカソン #4
URLシンプルな生成 AI ハッカソン #4
主催SimpleForm
参加対象者「プログラマもしくはデザイナであればどなたでも参加いただけます!」

技術選定

我々はPython × Streamlitで作りました。ソース管理はGitHubです。

私たちのチームが作ったもの

私たちが作ったのはニュースをポジティブにするwebアプリケーションです。以下のようなフローで作成しました

  1. ニュースのURLを入力
  2. URLの記事の内容を取得
  3. プロンプトを作る
  4. API叩く
  5. 結果表示

驚くほど簡単なStreamlitの導入方法

streamlitをはじめて使ったのですが、驚くほど簡単に使うことができました。導入に当たってやることは以下の3つの手順だけ!

  1. streamlitのインストール
    pip install streamlit
  2. Pythonで、Hello world!を書く
    import streamlit as st
    st.write("Hello world")
  3. Pythonプログラムの実行
    streamlit run app.py

参考リンク

2024 , 【15分で出来る】Streamlit爆速入門

プロンプト

私は以下のようなプロンプトを投げました。(実際には動的にプロンプトを生成しています)

以下の手順で、記事の内容をポジティブにしてください。記事の内容を要約してはいけません。Let's think step by step.
  【手順1】
  例えば、以下の様にポジティブな表現に変えてください。この時に、引用された発言は書き換えてはいけません。また、文章は要約せずに忠実に変換してください。
  ・「積極性に欠ける」は「控えめな性格」
  ・「頭が悪い」は「天然」
  ・「貧乏」は「清貧」
  ・「忙しい」は「充実している」
  ・「キモイ」は「優しそう」
  【手順2】
  例えば、以下の様に過激な表現やグロテスクな表現は柔らかい表現に変更して下さい。
  ・「殺す」は「天国へ導いた」
  【手順3】
  見出しは作らずにポジティブにしたニュースをプレーンテキストで出力してください。
  【手順4】
  出力言語は日本語にしてください。
  【手順5】
  ・出力言語が日本語の場合、語尾は「なんだよ💓」や「だよ」や「だって~!」とか「らしいよ✨」とか「♡」にしてください。
  ・語尾が絵文字の時は「。」を削除してください。
  ・出力言語が日本語以外の場合は「♡」とか「★」とか「😊」とか「💕」や「🍀」を使ってください。
  【注意点】
  ・記事の内容を要約せずにポジティブにして表示してください
  ・日本語に直して表示してください。
記事は以下です。
~~~~~~~~

工夫した点としては、LLMの指示で思考のプロセスを与えたことです。 順を追って考えさせることで、LLMの性能が劇的に改善すると知られています。

変換後の文章が要約されてしまう問題にぶつかりました。 ハッカソン当日には解決できなかったのですが、プロンプトの最後に「注意点」としてもう一度指示すると要約しなくなりました。

成果物

ソースコードが気になる方はこちら GitHub↗

テキストボックスやプルダウン、ボタンなども1行で実装できました!!渾身のプロンプトのおかげでちゃんとニュース記事がポジティブになっております✨

生成されたLP

おわりに

ハッカソン、に参加すると普段使ったことのない技術に触れられるのが楽しいです。

今回は学生さんも参加されていたので、無理せずに作りました。予定通りの時間でタスクを完了できました✨会社のメンバーで参加している方もいて、楽しそうだな~と思いました。

ハッカソンの参加レポートは他にもあるので、ぜひご覧ください。 vol.1↗ vol.3↗

最後まで読んでくださり、ありがとうございました。