Skip to content

Commit

Permalink
Merge pull request #5 from xica/fix_for_invalid_blocks
Browse files Browse the repository at this point in the history
Fix "invalid blocks" error
  • Loading branch information
mrkn authored Jul 9, 2024
2 parents 7ab3152 + 59b614c commit 1aef6d9
Show file tree
Hide file tree
Showing 6 changed files with 508 additions and 323 deletions.
39 changes: 34 additions & 5 deletions app/jobs/magellan_rag_query_job.rb
Original file line number Diff line number Diff line change
Expand Up @@ -129,11 +129,26 @@ def perform(params)
user: message.user
)

posted_message = Utils.post_message(
channel: message.conversation.slack_id,
thread_ts: message.slack_thread_ts,
**post_params
)
begin
posted_message = Utils.post_message(
channel: message.conversation.slack_id,
thread_ts: message.slack_thread_ts,
**post_params
)
rescue Exception => err
logger.warn "Error occurred on post_message: #{err.full_message(highlight: false)}"

post_params = format_simple_rag_response(
answer,
user: message.user
)

posted_message = Utils.post_message(
channel: message.conversation.slack_id,
thread_ts: message.slack_thread_ts,
**post_params
)
end
logger.info posted_message.inspect

unless posted_message.ok
Expand Down Expand Up @@ -172,6 +187,20 @@ def perform(params)
{"answer" => s}
end

private def format_simple_rag_response(answer, user:)
answer = rewrite_markdown_link(answer)
text = "<@#{user.slack_id}> 回答は次のとおりです。\n\n#{answer}"
response = SlackBot.format_chat_gpt_response(text)
feedback_block = response[:blocks].pop
response[:blocks] << { "type": "divider" }
response[:blocks] << feedback_block
response
end

private def rewrite_markdown_link(s)
s.gsub(/\[(.+?)\]\((.+?)\)/) { "<#{$2}|#{$1}>" }
end

private def format_rag_response(answer, user:)
answer_blocks = format_answer_blocks(answer, user)
text = "#{answer_blocks[0][:text][:text]}\n\n#{answer}"
Expand Down
1 change: 1 addition & 0 deletions test/fixtures/files/rag_answer-002.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"answer":"オークラヤ住宅株式会社_オークラヤ住宅の事例では、予算シミュレーションに関して、シミュレーション対象成果を売却・購入全体に変更し、反響数比率を設定したパターンと設定しないパターンの2パターンのシミュレーションを算出した結果が報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: ※予算配分更新※【オークラヤ住宅様】初回レポート報告_20220303.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1Yw22hVaQvzZOhyXlp7PNC444k8KZQrTK/preview?authuser=0)\n- 該当部分: 予算シミュレーションに関して、以下の変更を実施。シミュレーション対象成果を売却・購入全体に変更。反響数比率を設定したパターンと設定しないパターンの2パターンのシミュレーションを算出。\n\n株式会社ボルテックス_全サービスの事例では、2019年度および2020年度の予算を基準とした最適予算プランニングを行い、予算最適化により同予算で成果増が見込まれるシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【ボルテックス様】初回レポート報告_20210121.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1-xx2lkcuETc52jRm8RHXh74pK6GnTRB5/preview?authuser=0)\n- 該当部分: 2019年度および2020年度の予算を基準とした最適予算プランニング。予算最適化により、同予算で成果増が見込まれるシミュレーション。\n\n株式会社ヴィエリス_キレイモの事例では、予算指定(3億、4億の上限内で最適化)および成果指定(昨対同水準維持、昨対から+20%の成果獲得案)のシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【ヴィエリス様】初回レポート報告_20190808_MTG内容反映.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/11R8MpN4d9F_zVRmGN0o1E9-HTiyuRRcs/preview?authuser=0)\n- 該当部分: 予算指定(3億、4億の上限内で最適化)および成果指定(昨対同水準維持、昨対から+20%の成果獲得案)のシミュレーション。\n\n株式会社クラシアン_水のトラブル水回りリフォームの事例では、2022年1月1日~2022年12月31日における予算を最適化した場合のシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【クラシアン様】初回レポート報告_20220202.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1XP42i9px_U58ylPXuGPDQoSfJdxZwwmZ/preview?authuser=0)\n- 該当部分: 2022年1月1日~2022年12月31日における予算を最適化した場合のシミュレーション。予算配分最適化により同予算で成果増が図れる可能性がある。\n\n株式会社三井住友銀行_カードローンの事例では、2020年7月度予算をプランニングし、成果「申込数」および「承認数」の最大化シミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【三井住友銀行様】最新モデルご報告_20200619.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1yE6lM6nFFmS-o6nOcnA6K4Bj6tN3v3g2/preview?authuser=0)\n- 該当部分: 2020年7月度予算をプランニングし、成果「申込数」および「承認数」の最大化シミュレーション。\n\n株式会社秀英予備校_秀英予備校の事例では、各エリア×季節間における目標達成に向けたシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【秀英予備校様】第1回レポート報告_20230130.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1jt64Ml81vcaxnGF99I6epE0IN-KQcm6G/preview?authuser=0)\n- 該当部分: 各エリア×季節間における目標達成に向けたシミュレーション。計画予算と頂いた制約条件では、静岡、愛知が目標未達の見込み。\n\nライフネット生命保険株式会社_ライフネット生命の事例では、21年4月~22年3月の予算を申込件数最大化のために最適化した場合のシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【ライフネット生命様】21年度プロモーション振り帰り_20220530.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/157PNvlQU95758frg0rCOuYvg7gSqvYAC/preview?authuser=0)\n- 該当部分: 21年4月~22年3月の予算を申込件数最大化のために最適化した場合のシミュレーション。予算配分最適化により同予算で+5,034件(4.3%)の成果増が見込める。\n\nホーユー株式会社_シエロの事例では、2021年3月~2021年4月および2020年10月~2020年11月のプロモーション予算を最適化した場合のシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【ホーユー様】分析結果ご報告(3回目)_20210629.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1URt6bXOjQ6RjKhy2r-wlH8kHTa6-deBJ/preview?authuser=0)\n- 該当部分: 2021年3月~2021年4月のプロモーション予算を最適化した場合のシミュレーション。予算配分最適化により同予算で成果増が図れた可能性がある。\n\n- ファイル名: 【ホーユー様】分析結果ご報告(2回目)_20210219.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1m7bjBIEThC0p2WWt5J0iK-h7DfbxcUot/preview?authuser=0)\n- 該当部分: 2020年10月~2020年11月のプロモーション予算を最適化した場合のシミュレーション。予算配分最適化により同予算で成果増が図れた可能性がある。\n\n株式会社マンダム_ギャッツビーの事例では、2021年1月~5月の予算を最適化した場合のシミュレーションが報告されています。\n詳細は以下のファイルで確認できます。\n- ファイル名: 【マンダム様】第一弾分析結果ご報告_20210727.pdf\n- ファイルのURL: [こちら](https://drive.google.com/file/d/1yoZx0o0uCDsV3i5EYhmvDLhEONeGmaFd/preview?authuser=0)\n- 該当部分: 2021年1月~5月の予算を最適化した場合のシミュレーション。予算配分最適化により同予算で成果増が図れる可能性がある。"}
1 change: 1 addition & 0 deletions test/fixtures/files/rag_answer-003.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"answer":"はるやまの事例に関する情報は見つかりませんでした。他の企業の事例についての情報が必要であれば、お知らせください。"}
Loading

0 comments on commit 1aef6d9

Please sign in to comment.