paint-brush
ChatGPT と JavaScript を使用してベルリンに移住した方法@isaksolheim
804 測定値
804 測定値

ChatGPT と JavaScript を使用してベルリンに移住した方法

isak.me3m2023/12/17
Read on Terminal Reader

長すぎる; 読むには

私は、wg-gesucht.de に投稿されるすべての新しいリストに、パーソナライズされたコンテキストを認識したメッセージを自動的に送信するボットを構築しました。ボットがベルリンでアパートを見つけてくれました!
featured image - ChatGPT と JavaScript を使用してベルリンに移住した方法
isak.me HackerNoon profile picture
0-item
1-item

TLDR : wg-geucht.deに投稿されるすべての新しいリストに、パーソナライズされたコンテキストを認識したメッセージを自動的に送信するボットを構築しました。ボットがベルリンでアパートを見つけてくれました!


このプロジェクトの技術的な側面に興味がある場合は、この記事を読みながら自由にコードを調べてください。

イントロ

ベルリン工科大学での交換学期が近づくと、私は住む場所を探し始めました。ベルリンに既存のネットワークがなかったので、私はウェブサイトwg-geuscht.deを使ってフラットシェアの候補者に連絡を取りました。これは非常に反復的なプロセスであったため、自動化することにしました。

JavaScript を使用して退屈な作業を自動化する

私は、 wg-geucht.deで、自分の価格帯のすべての新しいアパートの可能性についてメール アラートを設定し、プッシュ サブスクリプションを備えた Google Cloud Pub/Sub サービスを使用して、Gmail の受信トレイに受信するメールを監視しました。


新しい電子メールが到着すると、サービスは Webhook 通知をサーバーに送信します。

メールを解析する

Expressを使用して JavaScript で記述されたサーバー上で、Gmail の受信トレイにある最新の電子メールを読み、正規表現を使用してそれを解析して、電子メールに wg-geuscht リストへのリンクが含まれているかどうかを確認しました。

リスト内の移動

リストごとに、エンドツーエンドのテスト フレームワークであるPlaywrightを使用して Chromium ブラウザを生成しました。これにより、Web サイトを操作するときと同じように Web サイトを操作できるようになりました。アカウントにサインインし、商品の説明をメモし、メッセージの送信をクリックしました。

GPT-3.5 Turboを使用したメッセージの生成

メッセージはGPT-3.5 Turboを使用して生成され、次のプロンプトが表示されます。

 const prompt = ` Can you spice up the following text: "${starterText}" The updated text should explain why I would fit in the flatshare with the following listing text: "${listingText}". Add some emojies as well. Mention that my semester is from September to March, so a stay for that perioud would be ideal (but Im always flexible)! And if the listing is written in German, the answer should be in German as well. And if the listing says I need to say a specific word, start the whole text with that word! `;

生成されたメッセージは、私の数枚の画像と一緒に送信されました。

結果

リスティングが公開されてからボットが応答を送信するまでにかかった時間は約 10 秒でした。そのため、私は最初の応答者であることに自信を持っていました。これが私にアパートを確保するための返答でした。

 Hallo zusammen! 🦄 Das scheint ja eine richtig coole WG zu sein, in die ich perfekt reinpassen würde! 😄 Ich bin Isak und ich glaube, dass ich perfekt in dein WG-Zimmer passen würde! Mein Semester in Berlin geht von September bis März, also wäre ein Aufenthalt für diesen Zeitraum ideal (aber ich bin auch immer flexibel!). Die Lage der Wohnung klingt super, besonders die Nähe zum RAW-Gelände und zum Boxhagener Platz. Und hey, eine Tram-Station direkt vor der Tür ist auch genial! 🚋 Die Wohnung hört sich toll an, mit Balkon, Badewanne und Waschmaschine. Da fühlt man sich doch gleich wie zuhause! Wenn du Interesse hast, würde ich mich freuen, von dir zu hören. 📞 Liebe Grüße und hoffentlich bis bald! Isak PS Wenn die Anzeige auf Deutsch ist, dann antworte ich auch gerne auf Deutsch. Aber sei gewarnt, mein Deutsch ist manchmal etwas holprig. Ich verstehe nur Bahnhof! 😄


最後に

振り返ってみると、電子メール通知に手動で応答するよりも、ボットをいじるのに多くの時間を費やしていました。しかし、そうは言っても、このプロジェクトの結果には満足しています。ボットが送信する愚かな応答で私は大笑いし、人々が私に返信してくれる頻度が目に見えて増加しました (おそらく私が彼らの最初の応答者だったためです)。


最近再びボットを起動しようとしましたが、6 月に検索して以来、サイトにキャプチャ検証が実装されています。これは良いことかもしれません。私の知る限りでは、リスト自体の多くは ChatGPT を使用して作成されました。