1話目はこちら
前回の続きです
5・ChatworkのアカウントIDが必要なので、GASで取得できるようした
この辺りからこの記事のように外部公開を想定し始めたので、
少しでも手間が減ることを意識して、後ほど利用を行うChatworkアカウントIDの取得をGAS経由で取得して、なおかつカスタムプロパティに登録するようした。
怠惰になるための努力は惜しまない。ふぁっきん美徳。
コードは↓
function getMyAccountId() {
var apiKey = PropertiesService.getScriptProperties().getProperty('Chatwork_API');
var url = 'https://api.chatwork.com/v2/me';
var options = {
'method' : 'get',
'headers' : {'X-ChatWorkToken': apiKey}
};
var response = UrlFetchApp.fetch(url, options);
var json = JSON.parse(response.getContentText());
var accountId = parseInt(json.account_id, 10); // アカウントIDを整数に変換
// アカウントIDをログに表示
Logger.log(accountId.toString());
// アカウントIDをカスタムプロパティ「Chatwork_ID」として保存
PropertiesService.getScriptProperties().setProperty('Chatwork_ID', accountId.toString());
}
6・GCPプロジェクトとの連携を行うことで、開発をしやすくしようとした
開発しやすくしようとしました。
ちょっとここは説明できないです。
あまりちゃんと理解しないまま進めたから、他人様に説明できねぇですので、大幅に割愛。
※❌俺たち ◯当記事の著者
てめぇとは違うわ、と不快に思われた読者様に置かれましては陳謝いたします
7・とりあえずオウム返しが出来るようにした
なんだかんだでログが残る事自体は確認できました
※Error以上のログ以外残らないように設定したはずが、それは正常に動作しなかった🤔
別の意味でググレカスって感じです
(ここでのググレカスとは、
『Google Cloud Plathomeの設定難しすぎるだろうが!
……いや、GCPに八つ当たりするのは違う。理解するまで精進できていない私がカスなのだ』
の意。恐らく日本初出の使い方ですが、壁ドンとかの意味もスグに変わったから、そのうちこの意味に置き換わると思います)
あ、オウム返しをするコードを載せようと思ってましたが、無くなってました😶
って、いま前回の記事見直してたら載せてあったですわ
若年性アレですね。あれ。健忘症?
8・目的を忘れてたことを思い出す
私ですね。
このChatBOTを作り始めた理由の1つに
LangChainを使うことで、AI開発の造詣を深めたい!
というのがあったんですね。
まぁ、なんというかLangChainは
- Python版
- TypeScript版
しかないのです。もちろん事前に調べてはいたのですが、
「ふぇぇぇ、Pythonは使い慣れてるけど、レンタルサーバーとか使って、常時動いてくれるシステム作るのとかしたことないよぉ🥺」
ってカワイイ感じで嘆いてるうちに
「GASならレンタルサーバーとか考えなくてよくね?私かしこい」
って気付いちゃったわけなんです。気付いたときには、LangChainのことすっかり忘れてましたね
物語は、次の記事へ…
このChatworkボットを作成する上で、Langchainを使う理由としては
- ユーザーからの質問を専用のQ&Aリストと突き合わせて、答えを提出する機能(文字列をベクトル化して、似てるか調べてくれるらしい)
- 記憶機能の実装
の2点でした
この時点で選択できる手段は3つ
- 開発をやめる
- Python等を利用して開発をし直す(コスト面が恐らくUP)
- GASを利用して開発を続ける(GASの仕様で実現不可能な可能性もある)
果たして私はどのようにしたのでしょうか……
あ、関係ないかも知れませんが、この記事のタイトルには
Chatworkに廉価でQ&Aボットちゃんを導入する方法
といった文言が含まれています
Chatworkに廉価でQ&Aボットちゃんを導入する方法
それでは次回もよろしくお願いします
コメント