Difyのコードブロックを使い、スプレッドシートからデータを取得して回答する仕組みを作る
Summary
TLDRこのビデオスクリプトでは、DEFYというツールを使って独自のデータ分析フローを作成し、実行する方法が紹介されています。スクリプトでは、ワークフローの定義やチャットフローの構築、コードブロックを通じてプログラミングコードを実行し、外部データを取り扱う方法について学ぶことができます。スプレッドシートからデータを取得し、Google Apps Scriptを使用してデータを操作するプロセスが解説され、実際のデータを使って分析を実行し、結果を返す方法が示されています。このプロセスを通じて、ユーザーはDEFYツールの柔軟性と強力な機能を理解し、データ分析のスキルを向上させることができました。
Takeaways
- 😀 スクリプトでは、DEFYというツールを使って独自のデータ分析フローを構築する方法が紹介されています。
- 🔍 DEFYではワークフローやチャットフローを定義し、コードブロックを使って個々の作業を作りながら実行できる機能があります。
- 📝 コードブロックを使用することで、外部からデータを取得したり、他のデータを活用して処理することが可能です。
- 📚 スクリプトでは、スプレッドシートからデータを取得し、そのデータを使って回答を返すプロセスが説明されています。
- 🛠️ スプレッドシートのデータを取得するためには、Google Apps Scriptを使用してデータを公開する必要があります。
- 🔗 スクリプトでは、スプレッドシートからデータを取得するためのJavaScriptコードの例が提供されています。
- 📈 スクリプトでは、データを取得し、それを元にユーザーの質問に答える方法が実演されています。
- 📝 スクリプトでは、DEFY上でPythonを使用してデータを取得し、それを応用する例が紹介されています。
- 👨🏫 スクリプトでは、GPT(CHAT GPT)と相談しながら問題を解決し、学びを深めるプロセスが示されています。
- 🔧 スクリプトでは、エラーが出た場合でも、自分で対処できるようになるプロセスを体験することが目的とされています。
- 🎓 スクリプト全体を通して、DEFYツールを使ったデータ分析のワークフローの作り方と、それを使った応用方法が学べる内容となっています。
Q & A
DEFYとはどのようなツールですか?
-DEFYは、ワークフローやチャットフローを定義し、個々の作業をブロックとして作成できるツールです。コードブロックを用いて、プログラミングのコードを実行し、外部データの取り扱いが可能です。
コードブロックとは何を意味していますか?
-コードブロックは、DEFY内でプログラミングコードを実行できる特定のブロックです。これにより、外部からデータを取得したり、他のデータを使用したりする処理が可能になります。
スプレッドシートからデータを取得するにはどうすればよいですか?
-スプレッドシートからデータを取得するには、Google Apps Scriptを用いてデータを取得するプログラムを作成し、公開して外部から利用できるように設定する必要があります。
スプレッドシートのデータを取得する際に必要なGoogle Apps Scriptの設定とは何ですか?
-Google Apps Scriptを公開して、外部からのアクセスを可能にすることが必要です。具体的には、「デプロイ」を行って、Webアプリとして公開する設定を行います。
DEFYで作成したプログラムのテストはどう行われますか?
-DEFY内でテスト機能を使用して、プログラムを実行し、期待される結果が得られるかを確認することができます。
スプレッドシートのデータをDEFYで取得するにはどうすればよいですか?
-公開したスプレッドシートのデータを取得するには、DEFYのコードブロック内でGoogle Apps ScriptのURLを指定し、データを取得するPythonコードを記述します。
DEFYで使用するPythonコードの書き方には注意点はありますか?
-Pythonコードを書く際には、DEFYの依存関係に応じて必要なモジュールをインポートし、取得したデータを文字列データに変換して返却する必要があります。
DEFYで得られたデータはどのように使用されることがありますか?
-DEFYで得られたデータは、次のステップで使用されるため、回答の作成や他の処理に活用されます。
スプレッドシートのデータを取得する際に、不要なデータも取得してしまう場合はどうすればよいですか?
-取得したいデータの範囲を指定するプログラムを作成することで、不要なデータの取得を避けることができます。
DEFYでのデータの取り扱いと分析のフローはどのようになるでしょうか?
-DEFYでは、データを取得し、必要なデータだけを抽出し、それを元に分析を行い、結果をユーザーに返却する一連のフローを構築できます。
DEFYを使用する際のエラーが発生した場合、どのように対処すればよいですか?
-エラーが発生した場合は、エラーメッセージを確認し、必要に応じてコードの修正やGPTの助言を求めることが重要です。
Outlines
😀 DEFYを使ったスプレッドシートデータの取得と分析
この段落では、DEFYというツールを使ってスプレッドシートからデータを取得し、独自の分析フローを作成するプロセスが説明されています。DEFYのチャットフローを通じて、ワークフローを定義し、コードブロックを使ってプログラミングを実行することができます。特に、コードブロックを使用して外部データを取り込み、処理することができました。スプレッドシートからデータを取得するためには、Google Apps Scriptを用いてデータを公開する必要があることが強調されています。
😉 JSON形式のデータ表示とスプレッドシートからのデータ取得
第二段落では、JSON形式でデータを表示し、スプレッドシートから必要なデータのみを取得するプロセスが解説されています。JSONビューアを使用することで、データの可読性が向上することが示されています。また、スプレッドシートの拡張機能であるApps Scriptを使用して、外部からデータを取得するためのデプロイの重要性が説明されています。公開されたApps Script URLを使って外部からデータを取得し、DEFYのPython上でデータを扱う方法が紹介されています。
🎓 DEFYでのデータの取得とPythonでのデータ処理
最後の段落では、DEFYで公開されたスプレッドシートデータを使用して、Pythonでデータを取得し、加工する手順が説明されています。リクエストモジュールの設定や、JSON形式でのデータの取り扱い方、文字化けの修正方法などが詳述されています。さらに、取得したデータを元にユーザーの質問に答えるプロセスが示され、DEFYでのワークフローの柔軟性と強力さが強調されています。
Mindmap
Keywords
💡DEFY
💡コードブロック
💡スプレッドシート
💡Google Apps Script
💡デプロイ
💡JSON
💡データ取得
💡Python
💡エラー
💡ユーザーの質問
Highlights
DEFYを使用して独自の分析フローを構築する計画を立てた。
ワークフローやチャットフローを定義し、タスクをブロックで作成することができる。
コードブロックを使ってプログラミングコードを実行し、外部データを取り扱う。
スプレッドシートからデータを取得し、分析するプロセスを説明した。
Google Apps Scriptを使ってスプレッドシートのデータを取得し、外部で使用できるように設定する。
スプレッドシートのデータを取得するためのJavaScriptコードの作成方法を共有した。
DoGetというGoogle Apps Script関数を使用してデータを取得する。
テスト用にDoGet関数を実行し、データを確認する方法を紹介した。
不要なデータを除外し、必要なデータのみを取得する修正方法を提案した。
JSON形式でデータを表示し、整形ツールを使ってデータの確認を容易にする。
スプレッドシートのデータを特定の条件で取得するコードの調整方法を説明した。
Google Apps Scriptのデプロイ機能を使ってデータを公開し、外部からアクセスできるようにする。
DEFYのPythonコードを使って公開されたスプレッドシートデータを取得する。
取得したデータをリターン変数で返却し、次のステップで使用する。
Pythonコードのエラーを修正し、文字列データとして正しくデータを取得する。
ユーザーの質問に応じて、スプレッドシートのデータを使用して回答を生成するプロセスを紹介した。
DEFYを使ったプログラムのワークフローを作成し、データの取得から回答生成までを自動化する。
エラーが発生しても、GPTの助けを借りて問題を解決し、学習を進める方法を示した。
Transcripts
さてDEFYを学んでいきたいと思いまし
て毎度おなじみえTATGPT研究さんが
出してる内容を見ながら実行してみると
いうのやっていきたいと思いますで今回の
お題はこちらDEFYでコードブロックを
使い独自デートの分析のフロを構築しよう
ということでどういうものかと言うとま
DEFYを使うとこうワークフローとか
チャットフローといって流れを定義して
どういう順番でどういう作業をするのかと
いうことができまブロックを作りながら1
個1個の作業を作れるとこの1つの
ブロックの中にコードブロックというもの
がありましてこの1つのブロックの中は
プログラミングのコードを実行できるので
プログラミングのコドを実行すると例えば
外部からデータを持ってきたり他のデータ
を使うということができたりするわけです
ねさてで今回はこのコードブロックを使っ
てデータをガスから持ってきて処理する
みたいなことをやっていくというのが今回
のお題になりましてえこれを実際やり
ながら学んでいきたいと思いますちょっと
内容回すのは申し訳ないのでLINEを
出さずにトライしていきたいと思いますつ
いうわけでデファイに行きまして最初から
でチャットフロートえ
スプレッドシートからデータ取得して分析
こういうのにしまして作成をしていきます
とさてこんな感じがありますとまず1番
最初開始をしたらllmで
え質問するという感じになってわけですね
この場合はデバクとプレビューで最初これ
ボックスにコンテンツを入れてねという
感じになっており1回テストしてみると
テストと入れるとここに行って回答を作っ
てくれて
えクエリデータを入れてくれて返答した
結果が取得されたやつを回答ステップで
出してくれてるという感じなったわけです
ねでここの中でこれだと普通のまチャット
と変わんないんで何か質問されたらまず
スプレッドシートからデータを取ってきて
そのデータを使ってここで何かしら回答し
てえ回答を返すというステップにしていき
たいと思いますでスプレッドシートまこれ
テストのやつなんですけど適当にこんな
感じでデータがあるのでここからデータを
取得してこのデータを質問ができるという
感じでしたいと思いますプラスをしまして
コードを作るでここでえプログラミングを
することによってデータを取得することが
できるわけですねでスプレッドシートから
データを取ってくるためにはまず
スプレッドシート側でデータを上げる
Javascriptというか
GoogleappScriptを書いて
あげてそれが外から使えるようにしなく
ちゃいけないというのがありますのでまず
その設定をしていきたいと思いますこれは
デファイがよりはスプレッドシート側でし
てこれからやる作業はあのGPTから
データを持ってくる時にも同じことが必要
になるのでま参考になるかなと思いますで
まず拡張機能でアスクリプトを押しまして
このページを開きますでこのコードの中に
スプレッドシートのデータをま自分の2位
で出力するというプログラムを書いていき
ますでこの中身なんですけどえこれ
スプレッドシートをGPTで取得すれたの
はガス作成というのを作りましてま今回も
同じなんでこれでやっていきますで
シート今回シート1なのでシート1のA
からD列
の全てのデータを取得するという風に依頼
するとこのためのプログラムを書いて
くれるのでまこれあのGPTで公開され
てるので共有するので使える方は使って
くださいま最近無料でも使えようになり
ましたからねでこれどんな風になってるか
と言とコピーしてこっちに持ってくわけな
んですけどまずこの構成としてはですね
Doゲットっていうのがえまデータを持っ
てこいって処理なんですねこの名前は固定
じゃなくちゃいけなくてこのDoGトって
いう名前で外からデータをこの
Googleアスクリプトまこの
スプレッドシートに依頼することができる
のでまずこれが必須になりますとで何し
てるかと言とレスポンスデーターをゲット
シートデータから持ってきてこれを返却し
てあげるよということをこの処理ではやっ
ていますで続けて
えこっちですねゲットシートデータという
ところでこれは何をしてるかというとこの
中身ですねゲットシートデータですけど
これはすごいシンプルでシート1のAから
D列のデータを全部取ってくるというのを
やっていましてそれだけですねで1番下
これテストDOGは何かと言うとこれは
このDoGっていうのをこのプログラム上
でテストするためになってまして実際本番
では使わないんですけどこれを実際使って
みてもらうとどういうデータが取れるか
分かりますこの右上行ってtestDo
Getで実行すると今のDoゲッってやつ
をこんな風に確認することができるんです
ねはいでこれやってみると見てもらった
わかるようにちょっとこうデータがですね
こんな感じでいらない量が含まれちゃっ
てると全部のデータ持ってこいって言っ
てるのでそうなっちゃってるわけですねえ
取得
するデータはチート1のデータが含まれて
いる行だけにしてとかっていう風に修正の
依頼を送ると今テストデータが違うという
ことが分かったのでそこの確認ができまし
てこれコピーしましてこれを1回消して
貼り付けしますともう1回このテストDo
ゲットを実行するとどう取れるのかそう
すると必要なデータだけがこんな感じで
取れるのでまこれで問題ないという感じな
わけですねちなみにこれ出てる文字列の
この書き方のことをえJSON形式という
風に言いましてまこれちょっとこれだと
分かりにくいんですけどJSON形式を
表示してくれるやつがあるのでジェイソン
ビューアーですねえっと
ジソン
表示分かりやすく表示かなJSONのです
ね内容を確認してくれるページがありまし
てJSON表示整形とかですかねJSON
表示整形ツール入力するとこんな感じ見し
んですけどまこれ同じデータをちょっと
表現を変えるとこんな感じになったわけ
ですね要はレスポンスって返却があって
IDカンパニー売上タイプってありその
データがそれぞれこんな感じでありますよ
みたいなま表現形式になっておりまこう
いうデータ中身になってますという感じ
ですねまこういうデータ形式になると
プログラマ読みやすいらしいんですねま
これ実際にはあの本当は1行ずつIDが1
でカンパニーが会社へとかっていう風に
多分なってる方がいいんですけどま一旦
こういう風なデータが入ってくるという
感じですねでこのデータをどう取ってくる
かっていうのはこのスプレあのPTSの方
でこれこれれこういう風にデータを取り
たいんだよとつまり全部ではなくて1秒目
だけ取ってくるとかユーザーが入力した
数字だけ取ってくるみたいなことはま調整
したらできますのでまこんなことをやって
いきながらまこのスプレッドシートの拡張
機能のアプスクリプトで貼り付けてデータ
を作りますとそしたらちょっとこれ分かり
にくいんですけどここから今この状況だと
スプレッドシート外からデータ持ってくる
ことはできないんですね中では処理できる
けれども外に公開されてないとこの公開
することをデプロイという作業でありまし
て新しいデプロイで左上ここですね見て
もらってWebアプリと押しましてWeb
アプリで全ての人がアクセスできる状況で
デプロイするデプロイすると何ができるか
と言うと外からこのURLを持ってくる
ようなこのURLがこうなんて言うんです
かね指定されるというかあの公開されるん
ですね実際この公開されたものを押して
みる
と外からこうデータを見ることができると
いう風になっていますでもこれ全員が
見れる状況とデプロイしたので外から誰で
も見ることができるとでもちろんこれは
全員ではなくて他に自分だけとかですね
権限持ってる人とか調整することもできる
のでま詳しい方はそういう形で調整し
ながらえ外から持ってくる人を限定範囲
範囲を限定するということはできますけど
ま1回テストなんで全員が取れますよとそ
したらディファイに戻りましてこの
ディファイのPython上でこの
え公開したスプレッドシートを使って
データ持ってくるとでえリザルトとして
このなんて言うんですかねアーグ1とやつ
ですかねていうところにデータを返すと
いうことができるわけです
ねそしてこのリターンというところでこの
リザルトっていう風なえ結果を返すと
リザルトで返されたデータが次のステップ
で使えるデータになるのでまこれをやって
いきますとでこれPythonですけど
もちろん自分で書くのは大変なのでこっち
に行きましてえっと以下のようなパイソン
を作ってとデータを以下から
取得取得したデータ
をリザルト変数でリターンする
とデータ持ってきまして持ってきたデータ
をえリザルトしてるとかです
ねでコピーします
ああれかちょっとこのディファイの多分
書き方がこうなってるんでまこの書き方に
沿った方がいいかなごめんなさいちょっと
変えまし
て以下のよう
な構成に作り替えてと
このメインっていうのがあのプログラムの
中で多分実行するとこのディファイのその
プログラムがこうなってるなでこれを尊重
してあげてそういう構成に作り替えるとま
こんな感じであまり長身詳しく分からなく
てもやりたいことを伝えた上で参考を出し
てあげると使えるわけなんでこれ貼って
あげて下はいるかないらない気がするけど
テスト執行あ失敗しちゃうか
これたいらない
よ
うんとあリクエストがモジュールがない
ですねとあでこのコードのあれかえ依存
関係と書いてあるところにこの使いたい
リクエストっていうのを設定しなくちゃ
いけなくてこれを設定しますとでこれで
実行してあげるとどうなるかと言う
とデータを持ってこようとしているがあれ
アウトプットリザルトがストリングである
必要がありますとなるほど
なんでこれをちょっとまたチャットGPT
に行きまし
て以下のパイソンで以下のパイソンこれ
ですよねこの下のやつはいらないから決し
てここですね
このリザルト
を文字列データに変換してと
うんなるほどねなんでこの上の部分だけ
取得した上
で戻りましてでこれインポートってところ
でこの
当然このJソンて書いてあるのでま多分
JSONが必要になるんでしょう
ねあJもかなくてもいいのかな実行して
みよ
するとこんな感じでデータが取得できるよ
とでちょっと文字が文字化けしてるな
よいしょ実行するとこんな感じでできてる
がえ取得
するデータが以下のように文字化けして
いると修正したい
とま今やっててるような感じでチット
GPTを使うと大体できるってことですね
あの相談しながらやってくとで相談する
ことであなんかこういう風に変更するんだ
なとかこの辺りを見でいきながらあの学ぶ
こともできますしやっぱすごいすよねこれ
多分自分だけだとほ途中で多分エラー出
たらそこで終了しちゃってるわけなんです
けどそれが自分だけでもなんとかなると
いうのが本当面白いとこですよね
実行できましたねまデータが取れましたよ
とでこれデータが取れまして取れたデータ
がリザルトてあるので次こllmに行き
まして取得できるデータ今取ったリザル
トっていうものが使うことができるので
このデータで
え以下
のユーザーの質問に対して以下のデータを
用いて回答してください
とこれはもうラグ的な感じですよねで質問
っていうの何かって言うと1番最初に
ユーザーが入れた質問ですよねこの右上の
Xって書いてあるところを押すことによっ
て前の過程で取得したデータをま使うこと
ができるとでデータでこれは何かと言うと
さっき取得したリザルトですよねでやって
あげるとでこれでやるとユーザーが質問し
たらま質問とは関係なく1回スプシから
データ持ってきてユーザーの質問とスプシ
のデータをガっちゃんこした上で回答を
作るよという感じになったわけですね
テストしてみましょうではプレビューで
バックトプレビューに行きまして売上が
1番大きい会社は
とまずコードからデータ持ってきていて
こんな風になってくるとで売上が大きい
会社はDで売上はこな感じなんですよねと
いう感じで作ることができるわけですねと
ことでまこのコードブロックというですね
パーツというかパターンを作ることによっ
て外からデータ持ってくるであったりとか
え様々なえ処理を行うことができるという
ところでま今回外からデータ持ってきまし
たけどこの前の過程に対してもう1回違う
処理をしてチェックをプログラムの行動で
するみたいなことも当然できるわけですね
なのでまそういった処理をしていきながら
確認することもできるのでまいろんな形で
このdfyを使ったプログラムの
ワークフローを作ることができるという
過程かなと思いまして今回も学ばせて
いただきましたありがとうございました
Voir Plus de Vidéos Connexes
5.0 / 5 (0 votes)