paint-brush
Как я переехал в Берлин, используя ChatGPT и JavaScriptк@isaksolheim
794 чтения
794 чтения

Как я переехал в Берлин, используя ChatGPT и JavaScript

к blog.isak.me3m2023/12/17
Read on Terminal Reader

Слишком долго; Читать

Я создал бота, который автоматически отправляет персонализированные контекстно-зависимые сообщения каждому новому объявлению, опубликованному на wg-geucht.de. Бот нашел мне квартиру в Берлине!
featured image - Как я переехал в Берлин, используя ChatGPT и JavaScript
blog.isak.me HackerNoon profile picture
0-item
1-item

TLDR : я создал бота, который автоматически отправляет персонализированные контекстно-зависимые сообщения каждому новому объявлению, опубликованному на wg-geucht.de . Бот нашел мне квартиру в Берлине!


Если вас интересует техническая сторона этого проекта, смело копайтесь в коде , читая эту статью!

вступление

По мере приближения моего семестра по обмену в Берлинском техническом университете я начал искать жилье. Не имея существующей сети в Берлине, я использовал веб-сайт wg-geuscht.de , чтобы связаться с потенциальными арендаторами квартир. Это был очень повторяющийся процесс, и я решил его автоматизировать.

Автоматизируйте скучные вещи с помощью JavaScript

Я настроил оповещения по электронной почте обо всех новых потенциальных квартирах в моем ценовом диапазоне на wg-gesurt.de и использовал службу Google Clouds Pub/Sub с принудительной подпиской , чтобы отслеживать любые входящие электронные письма на мой почтовый ящик Gmail.


Как только приходит новое электронное письмо, служба отправляет уведомление веб-перехватчика на мой сервер.

Анализ электронной почты

На сервере, написанном на JavaScript с помощью Express , я прочитал последнее электронное письмо в своем почтовом ящике Gmail и проанализировал его с помощью Regex, чтобы увидеть, содержит ли электронное письмо ссылки на какие-либо списки wg-geuscht.

Навигация по листингу

Для каждого листинга я создал браузер Chromium, используя Playwright , среду комплексного тестирования. Это позволило мне перемещаться по веб-сайту так же, как если бы я сам с ним взаимодействовал. Я вошел в свою учетную запись, прочитал описание объявления и нажал «Отправить сообщение».

Генерация сообщения с использованием 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! 😄


Заключительные мысли

Оглядываясь назад, я понимаю, что потратил больше времени на работу с ботом, чем на ответы на уведомления по электронной почте вручную. Но, учитывая вышесказанное, я доволен тем, как сложился этот проект. Я много смеялся над глупыми ответами, которые отправлял бот, и частота людей, которые мне отвечали, заметно увеличилась (скорее всего, потому, что я был их первым ответчиком).


Недавно я снова попробовал раскрутить бота, но с момента моего поиска в июне на их сайте была реализована проверка по капче. Возможно, это к лучшему. Насколько мне известно, многие списки были созданы с использованием ChatGPT.