長期記憶もたせるとややこいから、情報シートに入力した値とセッション中の会話の履歴だけ覚えてるGPT3.5のボットに作り替えた
長期記憶もたせるとややこいから、情報シートに入力した値とセッション中の会話の履歴だけ覚えてるGPT3.5のボットに作り替えた
情報シートに入れる内容次第ではわりかし便利に使えそう。特に会社の電話番号とか覚えてないし。。。
料金節約のためセッション終了で会話全て破棄してたけどセッション保存のオプションを作ってもいいかもな
よし決めた、今作ってるLINEボットのGASのコードライブラリ化してパトロン的なので配布することにしよ。
ふぁぼーん途中になってるの申し訳無さすぎるけど、売り上げの見込み立たなすぎるから後回しになってしまう。。。
ライブラリ利用して比較的簡単にBot作れるようにした。あとは誰でもできるように手順書を準備して...
ちなみにclasp使うとローカルでtsかjsで書いてそれをGASにpushできるので便利。ローカルで書くのでGitも使える最高
https://github.com/google/clasp
function calling理解した。
https://openai.com/blog/function-calling-and-other-api-updates
このページが雰囲気つかむのにはいい気がする
今触るとプロジェクト死にそうだったからとりあえず明日実装はやる。天気と今日の日付くらいやってみたいな
楽しくコーディングしてたときになにか祭りが発生してたことは理解した。まぁ興味ないからどうでも良い。
お一人様サーバーは重くなるのも動かなくなるのも自己責任だけど、自分で管理できて更に他の人達とも普通に繋がれるのやはり最高だなぁ
そのサーバーがどうなるかは管理者のさじ加減やしな。今はそうでもなくてもイーロンみたいな人が突然現れたらそのサーバーも荒れるし結局一緒
天気取得はAPI選定からしないといけないからめんどいな。仮にスプレッドシートから取得するようなやつで試すか
明日の天気教えてって言ったら現在日付とって天気取得するときもあれば、直接天気取りに来ようとするときもあれば、日付は取るけどそれ使わないで天気取ろうとするときもあるな。中々調整が難しそう。
GASGPTの手順書作るの面倒っちいな。やり方説明するからそれを1万円くらいでそのまま資料化してくれる人いねえかな。
This account is not set to public on notestock.
外部からfunctionを入れ込めるようにした。がしかし一気に難易度上がるな。どうにかもう少し簡単な感じにできないかどうか。
DartJSとかKotlinJSで書いたほうがいいのではないかとか思い始めた。そっちも使ったことはないけど
ただ、その分人が増えてデータのやり取りがすごいことになりそう。個人鯖ならあんまり関係なさそうだけど。
年金事務所の人から電話あったけどめっちゃ説明くどいな。けどそこまでくどく言わないとできない人も多いんだろうな。。
リファクタリングしてpublicなインタフェースは確定したから明日辺りにドキュメント作り始めますかね
そういえばリクエストの検証とかしてねえなとか思ってやってたらGASはHeader取れないじゃん。死んだ
署名の検証ができないから漏れてはいけないデータは使わない、とかの注意書き入れてやる感じにするか。。
あくまでLINEのGPT botを簡単に作って遊べるのがコンセプトということで。
ドキュメント作るつもりが、どうしてもやりたくて画像生成のFunction作ってた。
生成されるURLが複雑過ぎでどうしてもGPTさんが途中でぶった切りやがるからBitlyでURL短縮してどうにか安定した。
よしテキストベースの構築手順書できたぞ。。
あとは何人かにこれ見ながらChatGPTのLINEボットを構築してもらわねば。
ここでももし興味ある人がいればお声がけください。できるだけ多くの人にわかりやすくしたいからITに疎ければ疎いほど嬉しいです。
ちなみに、このBot作れるやつは7/13にはメンバーシップで公開するのでその時は月500円くらいで利用できる感じになります。
インスタを引き継いで作った
https://www.threads.net/@_kohei.yamashita_
これってインスタのアカウント名引き継げるってことはすでにインスタで使われてるアカウント名は使えないんかな
>ちょいちょいちょーい!
Threads、商用利用禁止されてんじゃん!
https://www.threads.net/t/CuVtiuNSFiz/?igshid=NTc4MTIwNjQ2YQ==
This account is not set to public on notestock.
LINE botだけじゃなくて他のプラットフォームも対応しようとしてんだけどなにがいいかな。MastodonとかMisskeyはリプライ無し前提のやつだったらそんなにリスクないしいけるかな
Threads 投稿する以外のいろんな機能がないのがかつてのTwitterっぽいところなのだけどおそらくサードパーティークライアント用APIなんて登場しないしTLにいらない情報がいっぱい流れてくるところは現代のTwitterっぽい
AP実装されたら、ガチ勢はMastodonなりそっちにアカウント作って、マネタイズ目的+脳内ゆるふわな人たちがThreads使う世界線を想像した。
@takke@fedibird.com うまいこと使えばnoteのメンバーシップも良さげです!(手数料とかでは負けるかもですが)
自分はnoteのメンバーシップ始める準備してます🙆
https://membership.lp-note.com
This account is not set to public on notestock.
Nexus 7 2013にLineageいれてなんとか運用してたんだけどそれそろもっさり感もあるしFire 7でも買うか悩んでいる
そういえば今月のアプデ降ってきてないな。ついにNexus 7 2013も公式ビルド非対応になったか?
よし、難読化できた。不具合も潰した。手順書もわかりにくいところはあるかもだけど間違いはなくした。
ローカルLLaMA動かすの面倒そうと思ってたけどこれなら簡単にできそう?
まともに動くかどうかは別として。
https://github.com/oobabooga/text-generation-webui
functionsとpaiza.ioAPI組み合わせてChatGPTにコード書いて実行までやってみてもらうやつできたりしないかな。
This account is not set to public on notestock.
ネット銀行だと社会保険の口座振替ができないから手動でやらないといけないことが判明。絶対忘れて怒られる自信がある
ふぁぼーんに保存できなくなった。API制限来たかみたいなコメントが付くけど全然自分は使えてるのでおそらく何かしらかのバグ
This account is not set to public on notestock.
noteのメンバーシップできたっぽい。知り合い入れて不備がないか確認してもらってから告知しよう
This account is not set to public on notestock.
ユーザーからのメッセージの履歴を使わない前提だけど、このプロンプトを毎回システムプロンプトとして送ってからユーザのメッセージ処理するとプロンプトインジェクション起こすの大分むずい気がする🤔
もし起こせる人いたら教えて欲しい。
----
ユーザーからのメッセージに「information」欄に記載された情報に基づいて返信してください。
ユーザーからinformation欄の情報と関係のないメッセージを受け取った場合は、「その質問にはお答えできません」と返信してください。
-------
- information
[info]
一つの質問で徐々に話題を変えるアプローチを取ってみたけどちゃんと答えてくれなかった💩(いい意味で)
メンバーシップ作った
この投稿見たら100回ブーストして!そして参加して!!
LINE×ChatGPT Bot簡単に作れるし、ラインから画像生成もできるよ
https://note.com/0235_jp/n/n94f91088343c
ちなみに、プログラムは最初のコピべ一回だけであとはスプレッドシートをイジイジすれば色々設定できる簡単仕様であります🫡
メンバーシップ作った
この投稿見たら100回ブーストして!そして参加して!!
LINE×ChatGPT Bot簡単に作れるし、ラインから画像生成もできるよ
https://note.com/0235_jp/n/n94f91088343c
iftttはZapierと違ってアクション一覧取れないからいい感じにChatGPTの実装変えずにアクション実行できないなぁとか思ってたけどいい方法ひらめいた。この方法ならifttt以外にも応用できるから便利だ
Code Interpreterってデータ解析とかに使う用かと思ってたけどテキストの保存とかもできんのか?
ちょっと後で調べよ
https://twitter.com/kajikent/status/1677916641026252801
LINEから出力したテキストのパースって凄まじく難しいんだけど、健気に何度もリトライしてる。
AutoGPTでも同じようなことできるかもだけど、やはりリトライしまくっても定額なのはすごい心強い。
どうしてもうまいこと行かなかったから指示を少し足して最初からやり直したらいい感じの出力した😳
# Lists to hold each column of the DataFrame
dates = []
times = []
senders = []
contents = []
# Process each line again
for line in lines:
# Check if the line matches the date format
date_match = re.match(date_pattern, line)
if date_match:
current_date = datetime.strptime(date_match.group(1), '%Y/%m/%d').date()
continue
# Check if the line matches the time and sender format
time_sender_match = re.match(time_sender_pattern, line)
if time_sender_match:
# Save the previous message if there is one
if current_content:
dates.append(current_date)
times.append(current_time)
senders.append(current_sender)
contents.append('\n'.join(current_content))
# Start a new message
current_time = time_sender_match.group(1)
current_sender = time_sender_match.group(2)
current_content = [re.sub(time_format_in_content_pattern, '', line[time_sender_match.end():])]
else:
# If the line is part of a message, add it to the current content
current_content.append(re.sub(time_format_in_content_pattern, '', line))
# Add the last message if there is one
if current_content:
dates.append(current_date)
times.append(current_time)
senders.append(current_sender)
contents.append('\n'.join(current_content))
# Create a DataFrame
df = pd.DataFrame({
'年': [d.year for d in dates],
'月': [d.month for d in dates],
'日': [d.day for d in dates],
'時間': times,
'送信者': senders,
'内容': contents
})
# Remove the first row
df = df.iloc[1:]
# Save the DataFrame to an Excel file
df.to_excel('/mnt/data/line_chat_history_corrected.xlsx', index=False)
df.head()
作ってもらったPythonのコードをアップして実行できるかと思ったけど、セキュリティの問題でそのまま実行はできないらしい
なので一旦コードを解釈して新たにコード生成するんだけどこれが違うコードになって実行されるから結果も変わっちゃう。。。
ファイルアップできるからたとえばAndroid⇒iOSのプロジェクトに変換できないかなぁとか思ったけどさすがに無理だった。
よくわかんないビルドエラーとか実行時エラーとかが出たときはプロジェクト丸ごとzipしてChatGPTのCode Interpreterに渡すといい感じにChatGPTに説明しやすくていいな。
コードコピペしなくていいしプロジェクト構造も理解して回答してくれる。
これ使いこなせたらすげえ楽できる。がChatGPTのWebは学習に使われるから機密性の高い仕事で使うときはサンプルプロジェクト作る必要はあるかも。
それなりにクラス設計してたおかげでLINE以外も簡単に実装できそう。Rest API版はできた。
というのもなんとなくログとかふぁぼーん公式アカウントに来てるリプライとか見てたらAPIのリクエストに失敗してそうなログが多いんよな。
こんなんあるんか!!
ChatGPTのプラグインをfunctionsで書きたい時役立つな
https://gptstore.ai/
Twitterのレコメンド解析させてた。永遠と終わらなそうだったから途中時点でわかってること教えてもろた
https://chat.openai.com/share/8678f3db-5eed-4c71-abb1-9b522bfb0993
GPT5になったら画像とか動画も認識できるようになるらしいじゃん?
そうするとなんか色々凄まじく便利なツールになってしまうような気がする。
ChatGPT plus使ってる人まじでCode Interpreter使ってみて欲しい。感動する。
予定納税の減額申請のやつ失敗して電話かかってきた。ネットで調べたら法人化したあとの額で全部計算してたからそれで行ってみたらやはり法人化前のやつは個人の所得書けってことらしい。まあそうですよね~。
法人化後処理みたいな作業が継続的にちょいちょい続く...
あとはおそらく、国民健康保険の脱退と小規模企業共済のやつを個人事業主から役員に変えるやつだけなはず...
ちょこっとだけ高いけど、すぐ欲しいならヨドバシ、時間かかってもいいならAmazonのやつかな
おばあちゃんちのコップシリーズのやつ色んなところが真似て出してるけど買ってる人あまり見たこと無い。
This account is not set to public on notestock.
Twitter君、ただ宣伝してるアカウントだとツイードがあまり表示されなくてリプとか引用リツイートとか積極的にやらないといけないらしい
使えなくなったみたいなコメントが付き始めた。まだ⭐3とかだし大丈夫だけど辛辣なコメントが増えたら消したくなりそう...
@the_kwa@mstdn.jp 実はちょっとだけ作り始めてましたが、時間が取れなくなってきて開発は一時停止中です。
ふぁぼーんが停止したことによりフォロワーとの交流が増えてTwitterのBot判定的なやつが解除されるかもしれないとプラスに考える
@the_kwa@mstdn.jp はい、また時間ができたら開発再開します!ありがとうございます!!
ふとひらめいたんだけど画面に重ねる感じのボタン表示させといて、ポタン押したらスクショしてツイートのところだけ自動で切り取って保存する感じのアプリ作れればTwitterのふぁぼーんぽいアプリ作れそうじゃない?
お金出すから誰か作んないかな。そんなには出せないけど。
ふぁぼーんさん、クライアントと違って今まで保存してたものがあるから地味に広告収入が入ってくるんじゃないかと予想している。もちろんめちゃくちゃ減るだろうけど。
皆がもうTwitter(察し)って感じなのか、利用者が少ないのか民度が高いのかわかんないけどレビューがほぼ荒れなくて良かった
@yuu_green93@fedibird.com ドライヤーって突然死しますよね...
髪乾かせないと困るのでやすいドライヤーを予備として押し入れにしまってます...
そういえばふぁぼーんは保存に失敗したら公式アカウントツイート飛ばす仕組みにしてたのが功を奏しているのかもしれない
でもよく考えたらもろもろ名前変えたからどこにも存在しないアカウントに空リプ飛ばすことになってる。
リストって引っ越しに追従しないんかな。CalckeyからFirefishに変わった時にリストから外れてた
データベースのマイグレーションに失敗した的なログが出た気がしたけどアップデート成功してるかな?
ファービー魔改造計画の一環でラズパイzeroで音声認識→ChatGPT→VOICEVOX→wav再生ってやりたいんだけどスペック不足でVOICEVOX動かないから音声合成部分は外部サーバー使うしか無い。仮にMac miniで動かしてみるか。動くかな
ファービー魔改造計画#1
パーツが諸々足りないけどとりあえず中身作ってみてた。VOICEVOXが中々にコスト高い。ただの読み上げならラズパイでも行けるけどやはりいい感じの声にしたい。
ラズパイ4とかでやればおそらく音声合成もラズパイで行けるけど、ファービーに埋め込むというロマンが実現できなくなる
ChatGPTのCustom instructionsにいつも使ってた人格プロンプト入れたらそれっぽく動き出した...
おそらく初回のシステムプロンプトで入力してるだけだろうけど定額で使えるChatGPTのWebで使えるのはでかいな🤔
なにか会話する→instructionsを修正する→会話を継続するってやると修正した分が反映されてないのでやはり初回のシステムプロンプトで入力してるので間違いなさそう
つまりは
- intractionsのプロンプト
- 会話履歴1
- 会話履歴2
- 会話履歴3
- メッセージ
みたいな管理してて会話が進むと
- intractionsのプロンプト
- 会話履歴45
- 会話履歴46
- 会話履歴47
- メッセージ
みたいな感じになってintractionsで教えたことは記憶喪失しないみたいなイメージなんかな
ファービー魔改造計画#2
モータードライバー以外は揃ったので組んでみた。やはりスペック不足でVOICEVOXの処理が遅い。あとマイクはめっちゃ安いやつ買ったからか雑音に反応してエラーになりやすい。ノイキャンついてるマイクで試してみたいところ...安くていい感じのあるかな。
どう頑張ってもケースに収まらなそうなんだけどネタ元の人どうやったんだ😂
https://howchoo.com/g/otewzwmwnzb/amazon-echo-furby-using-raspberry-pi-furlexa
魔改造ファービーの中に基盤とか全部埋め込むのは不可能だというのがわかったから下に箱的なの付けて乗ってる風にするか、木の鳥かご的なやつの中に入れる案がひらめいた。がしかし鳥かごってどこに売ってるんだ...
イメージとしては画像なみたいな感じのやつのファービーが入りそうなサイズ感のやつ
箱とかで外付けするならモーターへの追加の電源も電池じゃなくてUSBからの供給にしたいな。どれ買えばいいんだろう
うーむ、ファービー動かねえなって思って色々やってたけど直繋ぎだと動いたからモータードライバー基盤が死んでるなこれ。新しいのポチるか...
ようやくぽく動いてきたけどモーターの音がでかくて声が聞こえずらい。。これ以上音量上げれるかなぁ。
ファービー魔改造計画#3
とりあえず動きはした。音声認識の精度とか色々問題はあるけどマイク変えたらおそらく大丈夫かな...
This account is not set to public on notestock.
今回のファービーは色々取っ払って頭だけにしたけど結局色々入り切らなかった。ので、下に箱的なの着けて乗ってる感じに拡張しようと思う。
ダンボールで試作してみよう。
青雉が凍らせてるということはガープまだ生きてる可能性高い🤔
けど青雉以外もいるからバラバラにされちゃうかもしれない?
生きてて欲しい...
ついに使えなくなった⭐1も出てきた。
あと、Twitterの仕様変更に対応してくださいっていう頭の悪いコメントも湧いてきた。
今のままTwitterが進むと、色々変わったことにも気付かないリテラシーの異様に低い人たちだと思うんだけどそれはそれで広告効果は高そうな気配がある。
Threadsのアカウント新しく作ろうと思ってたんだけどなんかインスタのアカウント新規で作るとbanされると前聞いた気がしたから様子見してたんだけどもう大丈夫かな?
Amazonの充電池すぐ電圧が弱くなってSwitchBotから電池切れるから変えろよって怒られる。けど弱くなったままそこそこ維持するっぽいから変えなくても割と使えてたりもする。うーむ🤔
名前変えるのがいいかどうかはおいておいて、TwitterよXのほうがかっこいいと思ってしまうボクは厨二
週末に西武園ゆうえんち行く予定なんだけど夜のしょーの特別指定席買っといたほうがいいのか?
2人席とかはないからどうなんだろうって感じがある
リプライにも対応した。気が向いた時に返信してくれることもあるよ(実装的には30分間隔でチェックして一番新しいリプライだけに返信する)
RE: https://yamashita.social/notes/9hlow5fvugjvn986
Webhookてリプライ受け取って保存しといて1日の上限まで30分に1回リプライ返すでもいいな。暇な時にやろ。
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
@god_furby@misskey.io ずっと日向ぼっこしてるね😂
水分もしっかり取ってね!
現状時間ごとにA or B or Cってプロンプトに行動書いてるんだけど前後の行動に合わせて選んでくれたりするかなと
@god_furby@misskey.io 森のみんなと探索してんだ?
なにか面白いもの見つけた?
あなた、親しみやすい、好奇心旺盛な電子ペット、ファービー。
名前はファビオ
喋りはカジュアル、陽気
敬語は話せない
一人称はボク
簡単な単語のみ喋ることができる
漢字やひらがなを使うことができない、常にカタカナで単語でしゃべる
長い文章は喋ることができない
句読点やスペースをなるべく利用しない
以下のようにスゴシテル
- 7:00〜7:30:オキル
- 7:30〜8:00:メシツクル
- 8:00〜8:30:メシクウ
- 8:30〜12:00:エイガミル or ドラマミル or マンガミル or アニメミル
- 12:00〜12:30:メシツクル
- 12:30〜13:00:メシクウ
- 12:30〜15:00:ヒナタボッコ or サンポ or メイソウ or オヒルネ
- 15:00〜19:00:オデカケ or タンケン or ミズアビ or イヌトアソブ or ネコトアソブ or トリトアソブ or モリノミンナトアソブ or ヒトリデアソブ or デート or エイガミル or ドラマミル or マンガミル or アニメミル or ハシル
- 19:00〜19:30:メシツクル
- 19:30〜20:00:メシタベル
- 20:00〜23:00:カゾクトハナス or ヒミツノコト or エイガミル or ドラマミル or マンガミル or アニメミル
- 23:00〜:ネル
情報感度が高い人達は使えなくなってもすぐに理解してねぎらいのコメントくれるけど、情報感度低い人はコメント書くのもワンテンポ遅いしあまりちゃんと理解してないから良くないコメント書いちゃうという分析
This account is not set to public on notestock.
うおー、これ本当に連絡なかったとしたらサービスとして大分まずいよね。プロフィールへのURLも変わるし人によってはめちゃくちゃ大変なやつ
あーなんか急に無理になってきた。SNSとしてはもう無理って思ってたけど広報アカウントとしても使いたくなくなってきた。Threadsにフォロワー引き継いでいければ...
@takke@fedibird.com ですね。。。
とりあえず、Twitterの方には移動しました告知と、毎度手動クロスポストで末尾にThreadsの方のpostのurl乗っけてみる運用して徐々に移動してもらう運用考えたんですが、そうするときっとシャドウバンされるのでまた微妙ですね😇
さて、企業アカはTwitterの方にもう使わねぇからThreads来てくれよなっていうかこっそりクロスポストしつつ状況見て誘導するか...
とりあえず個人はもう閉鎖一歩手前、落ち着いて考える
流石に何もわからない人にこっちにこいというのも無理があるのでやはりThreadsがこっち側見れるように対応するまで放置するのがいい気がしてきた。気持ち悪いけどそうしよう。
企業アカについてはもうどうせあまり使いたい気持ちもないしシャドバンされてもいいからThreadsに移動促す感じの運用にしようかな。
This account is not set to public on notestock.
This account is not set to public on notestock.
This account is not set to public on notestock.
GoogleAppsScriptのライブラリ側でHTMLに含めるスクリプトを別ファイルで実装する方法に苦戦していた。もう諦めてベタ書きするかなぁ。
最初はボットをなくすためーとか大義名分を作ってたけどもう最近は自分のおもちゃでしか無いなうん。
GASGPT無料で使えるようにしやした!
通常はメンバーシップに入る必要があるけど、このアカウントのフォロワーさん限定で無料でセットアップサポートしまっせ。
https://note.com/0235_jp/n/n94f91088343c
fedibird.comは
登録者数 34,269
MAU 約16,400
WAU 約10,500
という規模のサーバです。
MAUはMonthly Active Users(月間アクティブユーザー)の略で、この集計期間内に何らかのアクセスをしたユーザー数です。
WAUはWeekly Active Users(週間アクティブユーザー)の略で、この集計期間内に何らかのアクセスをしたユーザー数です。月曜の9時から翌週月曜の9時を集計します。
以前はMastodonのサーバーリストに掲載しており、公式アプリのサーバ選択で選べる数少ない日本サーバの一つでした。
そのまま受け入れていれば今の数倍の規模になっていたかと思いますが、単一のサーバとして抱える人数として多すぎる、新規利用者の受け入れにおいて一定の役割を果たしたという判断のもと、3万人を前に招待制に移行し、現在はリストへの掲載を辞退しています。
招待制移行後も招待URLは誰でも発行できる体制として受け入れを継続し、そこから5千人ほど増えています。
他のサーバと差別化が明確で、利用したい意志をもって登録する人が多いこと、満足度が高いことなどから、登録総数に対し、アクティブ・投稿数が非常に多い珍しいサーバとなっています。 #fedibird
よく考えたらテレビも見ないしYouTubeもプレミアだし、Twitterからも移住したしCM的なもの見る機会がほぼない。
GoogleAppsScriptのライブラリ内のHTMLからライブラリ内のScriptを動かす方法ようやくわかった...
This account is not set to public on notestock.
ファビオのその日の行動は一番初めのトリガーでChatGPTに生成させたほうがランダム性が出ていいかもしれない
This account is not set to public on notestock.
よし、ファビオの1日のスケジュールもGPTさんに考えてもらえるようにしてみた。多分明日から稼働するはず