tmmr
2024 年 8 月 30 日午前 7:23
1
初めまして。プログラミング等の経験が一切ありません。Bubbleの設定でつまづいており、調べてもどうしてもうまくいかず、こちらを見つけました。助けていただけると幸いです…!不足情報がありましたらご教示ください。
1.前提条件
・現状、Repeating groupのテキストに行ごとに違う文章が表示されている(記事の見出しとなるテキスト)
・設置ボタンを押すことでこの文章を1つずつAPI連携したGPTに送信し、1つずつ結果を得たい(スクリプトは記入済み & API連携済み)
・結果はまとめて1つのデータベースに保存したい
2.発生している問題
・データベースに何も保存されない
・ボタンを押しても一瞬でローディングが終了するので、おそらくそもそもGPTに送信できていない
3.エラーメッセージ
・エラーメッセージは確認できません
4.実装したい機能
・全体としては記事を作成するアプリを作成するため、Repeating groupに構成の見出しを1つずつ表示させるところまでが完了しています。この後、見出しごとに記事を生成して1つの記事にしたいです。
6.試したこと
・API Workflowで自分なりに試してみましたが、設定が正しくできていないのかと思います。カスタムステートの理解も不足しており、どこで不具合が起きているのかもわからない状態です…
7.補足情報 (調べたURL/参考になりそうな事例)
参考にしたページ:Bubble、Schedule API Workflowを使いN個の繰り返し処理を行う|おばとりっぷブログ
PreviewしているURLの末尾に?debug_mode=trueを追加してみてください。
そうすると、デバッグモードが使えるようになります。
デバッグモードの状態で[Step-by-step]を選択した状態で動かすと、どのWorkFlowが作動しているのか1つずつ順を追ってみることができるので、エラーが出ていなくても、調査することができます。
わからなかったところがいくつかあるので、質問です。
1.Bubbleからどのような形式のテキストデータを送ることが理想なのか
例:配列データ[text1,text2,text3]
2.ChatGPTから渡される値はどのようなものか
例:1つの長文テキスト[これはchatgptの回答です]
3.結果として保存したい形式は何か
例:text型
「いいね!」 1
tmmr
2024 年 9 月 2 日午前 1:32
3
ご回答いただきありがとうございます!
デバッグモードを使用してみました。
ただ、現在失敗している設定ではボタンはAPI Workflowをスケジュールする動作のみで、主な動作はAPI Workflowで設定しています。Backend workflowはプレビューできなかったため、調査ができませんでした…
ご質問ありがとうございます!
以下に記載いたします。
1.Bubbleからどのような形式のテキストデータを送ることが理想なのか
添付のように、リピーティンググループに表示されているテキストをそのまま送るのが理想です。リピーティンググループは最初はデータベースに保存している構成を見出しごとに分割して表示していますが、それをページ上で編集可能にしています。ボタンを押すとその編集したデータを元にGPTが作動するのが理想です。
2.ChatGPTから渡される値はどのようなものか
見出しごとに生成される200~300字程度のテキストです。GPTへの指示で、見出し文とそれに適した本文以外は出力しないようなプロンプトになっています。
3.結果として保存したい形式は何か
文章なので勝手にテキスト型かと思っていたのですが、他にも適している形式がありますでしょうか?
また、設定画面のキャプチャも添付いたします。もしお気づきのことがございましたらご教示いただけますと幸いです!
[ボタンのワークフロー]
[API workflow]
添付のように、リピーティンググループに表示されているテキストをそのまま送るのが理想です。リピーティンググループは最初はデータベースに保存している構成を見出しごとに分割して表示していますが、それをページ上で編集可能にしています。ボタンを押すとその編集したデータを元にGPTが作動するのが理想です。
RepeatingGroup text’s List of textsでは[H1:セルフネグレクト…, H2:セルフネグレクトとは?,]というテキストの配列出力になります。
そのまま送るというのがよくわからないのですが、配列テキストにして送るのことが「そのまま送る」になりますか?
RepeatingGroupの内容を見出しとして、見出しごとに300文字程度の文章をChatGPTに考えて欲しいというアプリと仮定すると、繰り返し処理を使わなくても出力できると思います。
Bubbleから [見出しの配列データ]を渡す(RepeatingGroup text’s List of texts)
ChatGPTのプロンプト[見出し配列テキストを渡すので、見出しにあった300文字の文章を作成してくださいなど]
Bubbleに記事全文を返す。[作成された記事(text型)]
tmmr
2024 年 9 月 2 日午前 10:15
6
ご回答ありがとうございます!
繰り返し処理をせず、全ての構成を一度に渡してchat GPTへのプロンプトを「見出しごとに生成して」という内容にするということであっておりますでしょうか?
一度に構成を渡すと記事生成の精度が低いため(文字数や内容)、見出しごとに生成をさせることを繰り返したいという意図がございます。
何度もお手数をおかけしますが、よろしくお願いいたします。
一度に構成を渡すと記事生成の精度が低いため(文字数や内容)、見出しごとに生成をさせることを繰り返したいという意図がございます。
理解しました。
それでは、Backend workflowを使う必要がありますね。
以下のようなフローでいけると思います。
リストデータを送信:Schedule API Workflow on a list
backend1[リストデータ分処理を実行:ChatGPTのAPI呼び出し]
backend2[CreateデータにてChatGPTの返り値を保存]
backend3[Make change toにて3のデータをリスト化して保存]
必要に応じて3のデータの削除(必須ではない)
添付画像の[ボタンのワークフロー]のところをSchedule API Workflow on a listに変更して、繰り返し処理ができるようにすると繰り返し処理が可能になります。
tmmr
2024 年 9 月 2 日午後 2:13
8
ご回答ありがとうございます!
Schedule API Workflow on a listにしたところ、データに生成文章が保存されました!
ただ結果を見るに構成をまとめて生成しており、見出しごとに生成(繰り返し)ができていないようです。
添付の設定に何か間違いがありますでしょうか?(Make a change toのリスト化はわからず設定できておりません)
Schedule API Workflow on a listにしたところ、データに生成文章が保存されました!
おめでとうございます!
Headingに設定する値はThis textにすると配列データの一つの値を指定して取得できますよ。
例えばこのような[text1,text2,text3]リストデータを送った場合、This textを指定すると、1回目はtext1,2回目はtext2のようにbackendにデータを送ることができます。
あとはAPI callの後の保存先が内容に思えます。
以下の処理をBackendに追加してみてください。
backend2[CreateデータにてChatGPTの返り値を保存]
backend3[Make change toにて3のデータをリスト化して保存]
「いいね!」 1
tmmr
2024 年 9 月 2 日午後 4:08
10
ご回答いただきありがとうございます!
This textを選択してみたのですが、赤字(エラー)になり正しく設定できませんでした…List to run onの内容が間違っているのでしょうか?
APIの保存先につきまして、
backend2[CreateデータにてChatGPTの返り値を保存]
→添付の設定ではおかしいでしょうか?(ArticleContentというデータベースに、生成テキストと見出しの列を設けています)
backend3[Make change toにて3のデータをリスト化して保存]
→こちらの設定がうまくいきません…。間違いをご指摘いただけますと幸いです。
初心者で基礎が理解できておらず、たびたびお手数をおかけして申し訳ございません。
This textを選択してみたのですが、赤字(エラー)になり正しく設定できませんでした…List to run onの内容が間違っているのでしょうか?
受け側のデータがlistになっているのに、渡している値が単数からですね。
backend2[CreateデータにてChatGPTの返り値を保存]
→添付の設定ではおかしいでしょうか?(ArticleContentというデータベースに、生成テキストと見出しの列を設けています)
おかしくないと思います。
backend3[Make change toにて3のデータをリスト化して保存]
→こちらの設定がうまくいきません…。間違いをご指摘いただけますと幸いです。
生成ボタンクリックしたときにCreateしてデータを作成し、そのデータに対してAdd listしていくイメージでした。
私が仮説を立てた実装方法なので、ご自身のやりやすい方法で良いですよ。
「いいね!」 1