Проектирование системы RAG: контекстно-осведомленная поддержка клиентов для управления недвижимостью с использованием смешанной информации, специфичной для объектов, и глобальной информации.

Содержание
  1. Вопрос или проблема
  2. Контекст
  3. Источники данных и уникальные проблемы
  4. 1. Исторические разговоры (более 80 000 за 7 лет)
  5. 2. Информация об объекте недвижимости
  6. 3. Этапы пути гостя
  7. 4. Дополнительная информация о бизнесе и каналах продаж
  8. Технические вопросы
  9. ДЕТАЛИ РЕЗЕРВАЦИИ И ПОБОЛТАРКА
  10. Хронологически упорядоченные сообщения между Гостем и Хозяином
  11. Все сообщения
  12. Ответ или решение
  13. Проектирование системы RAG: контекстная поддержка клиентов для управления недвижимостью с использованием смешанной информации о свойствах
  14. Введение
  15. Источники данных и уникальные вызовы
  16. 1. Исторические разговоры (более 80,000 за 7 лет)
  17. 2. Информация о недвижимости
  18. 3. Состояния пути гостя
  19. 4. Дополнительная информация о бизнесе и каналах продаж
  20. Технические вопросы
  21. 1. Стратегия векторной базы данных
  22. 2. Временная релевантность
  23. 3. Контекстуальный поиск
  24. 4. Безопасность и соблюдение политики
  25. Заключение

Вопрос или проблема

Контекст

Я управляю портфелем объектов недвижимости на таких платформах, как Airbnb, осуществляя поддержку клиентов на протяжении всего пребывания гостей (от предварительного бронирования до завершения проживания). Я создаю систему RAG для автоматизации ответов на запросы гостей.

Источники данных и уникальные проблемы

1. Исторические разговоры (более 80 000 за 7 лет)

  • Сохранены в PostgreSQL
  • Актуальность данных зависит от типа запроса:
    Пример А: "Какой пароль от WiFi?" 
    → Только недавние разговоры актуальны (пароли меняются)
    
    Пример B: "Есть ли рядом парк?" 
    → Старые разговоры все еще ценны
    

2. Информация об объекте недвижимости

  • Подробные и актуальные описания объектов (удобства, местоположение, правила, окружающая среда, любые специфические правила для объекта)

  • Объекты имеют иерархические отношения:

    Здание
    ├── Квартира А
    ├── Квартира B (идентичная планировка/приборы как у A)
    └── Квартира C (другая планировка, но такие же удобства в здании)
    
    
    Вопрос: "У меня возникла проблема с включением конфорки для объекта X". 
    
    (X находится в здании с несколькими другими объектами) 
    
    → RAG должен быть выполнен для объекта X, но также для других объектов в том же здании
    

3. Этапы пути гостя

Каждый разговор происходит на одном из этих этапов:

ПЕРЕД БРОНИРОВАНИЕМ → ПОСЛЕ БРОНИРОВАНИЯ → В ДЕНЬ ПРИБЫВАНИЯ → В ТЕЧЕНИЕ ПРЕБЫВАНИЯ → ПОСЛЕ ПРЕБЫВАНИЯ

На один и тот же вопрос могут потребоваться разные ответы в зависимости от состояния:

В: "Какой код для бокса с ключами?"
- ПЕРЕД БРОНИРОВАНИЕМ: Риск безопасности, не делитесь
- ПОСЛЕ БРОНИРОВАНИЯ: По-прежнему не делитесь
- В ДЕНЬ ПРИБЫВАНИЯ: Поделитесь кодом + отметьте человека, чтобы проверить, почему он не был отправлен ранее

4. Дополнительная информация о бизнесе и каналах продаж

  • Глобальные политики (время выезда, правила отмены)
  • Правила, специфичные для платформ (Airbnb против других платформ). Например, у Airbnb есть правило не запрашивать удостоверения личности с фотоснимком до подтверждения бронирования

Технические вопросы

  1. Стратегия векторной базы данных

    • Как структурировать встраивания для разных типов информации?
    • Проблемы стратегии разбивки:
      • Части одиночных сообщений: теряется контекст разговора
      • Многочисленные части сообщений: сколько сообщений сохраняют связность?
      • Целые куски разговоров: могут быть слишком широкими для специфичных запросов
      • Как сохранить контекст бронирования (состояние гостя, детали объекта) внутри частей?
    • Должна ли информация, специфичная для объектов, и глобальная информация находиться в отдельных векторных пространствах?
    • Как обрабатывать иерархии объектов в векторном поиске?
  2. Временная актуальность

    • Как по-разному оценивать актуальность разговора в зависимости от типа запроса?
    • Как сочетать текущие документы объекта с историческими разговорами?
  3. Контекстный поиск

    • Как внедрить состояние пути гостя в процесс поиска?
    • Как обрабатывать отношения между объектами (например, похожие квартиры, обменивающиеся информацией)?
    • Как сбалансировать информацию, специфичную для объекта, и глобальную политику?
  4. Безопасность и соблюдение политики

    • Как убедиться, что ответы RAG соблюдают политику безопасности в зависимости от состояния пути гостя?
    • Как обрабатывать специфичные для платформ правила в ответах?

[Пример разговора включен внизу, показывающий взаимодействие между гостем и хозяином]

ДЕТАЛИ РЕЗЕРВАЦИИ И ПОБОЛТАРКА

  • Имя гостя: Джон Доу
  • Квартира: 23 Кенсингтон Гарденс, Лондон [Квартира находится в здании X с другими объектами Квартира 23, Квартира 24, Квартира 25]
  • ** Канал продаж:** Airbnb
  • Запрос создан: 21 мая 2024 года, 21:47
  • Длительность пребывания: 09 ноября 2024 года – 16 ноября 2024 года (7 ночей)
  • Количество арендаторов: 3

Хронологически упорядоченные сообщения между Гостем и Хозяином

Примечание: Нотация:
  • (формат: Дата Время | Платформа | Отправитель : Текст сообщения)
  • Отправитель – Гость, если сообщение от Гостя, Хозяин – если сообщение от нас (мы хозяин)
  • Упорядоченные от старого к новому

Все сообщения

ПЕРЕД БРОНИРОВАНИЕМ
  • 21 мая 2024 года, 21:47 | Платформа | Гость: “Добрый вечер, сэр. Квартира доступна с 9 по 16 ноября для двух гостей? С уважением”
  • 21 мая 2024 года, 21:49 | Платформа | Хозяин: “Привет, Джон! Спасибо за интерес к бронированию нашего объекта. 😊 Мы заметили, что у вас не так много отзывов на платформе Airbnb, мы немного насторожены из-за некоторых неприятных обстоятельств. Пожалуйста, дайте нам краткое описание вашего пребывания, чтобы мы могли проверить, можем ли мы полностью удовлетворить ваши потребности. Надеемся на отличное пребывание!”

Это стандартный вопрос, который мы задаем в зависимости от некоторого критерия о количестве отзывов, которые есть у гостя на платформе Airbnb. Это отражено в ДОКУМЕНТАХ КАНАЛА ПРОДАЖ

  • 21 мая 2024 года, 22:03 | Платформа | Гость: “Это простая поездка в Лондон, ничего особенного. Мы предпочитаем забронировать квартиру, чем отель, чтобы иметь больше личного пространства и готовить свои блюда вместо того, чтобы платить за каждую еду. У меня еще нет отзывов, потому что я создал свою учетную запись вчера, так как обычно использую другие сайты, чтобы бронировать свои поездки. Нам действительно понравился дизайн вашей квартиры – она прекрасна! – и мы думаем, что цена вполне справедлива. (Мы из Италии, нам 25 и 28). Спасибо за ваше время, ждем вашего ответа, Джон”
ПОСЛЕ БРОНИРОВАНИЯ
  • 24 мая 2024 года, 20:02 | Платформа | Хозяин: “Привет, Джон. Спасибо за бронирование с нами! Мы рады принять вас: – Фото вашего удостоверения личности – Имя и возраст других гостей – Номер телефона и адрес электронной почты в Великобритании – Время вашего прибытия. Также поделитесь с нами краткой причиной вашего пребывания 😊 С наилучшими пожеланиями”

  • 29 мая 2024 года, 14:32 | Платформа | Гость: “Привет, извините за поздний ответ, было много дел! Вам нужно удостоверение личности другого гостя? Я собираюсь отправить вам все. Меня зовут Джон Доу, мне 25, а другой гость – Джейн Доу, ей 28, когда мы будем там (сейчас ей 27). У нас нет британского номера телефона, но вы можете написать мне в whatsapp по номеру +39 123484, а мой email [email protected]. Мы приедем примерно к обеду. Спасибо, с уважением, Джон”

  • 29 мая 2024 года, 14:36 | Платформа | Гость: “AB Сообщение – Без описания” (Отправляет фото удостоверения личности)

  • 29 мая 2024 года, 14:36 | Платформа | Гость: “AB Сообщение – Без описания” (Отправляет фото удостоверения личности)

  • 29 мая 2024 года, 14:36 | Платформа | Гость: “AB Сообщение – Без описания” (Отправляет фото удостоверения личности)

  • 29 мая 2024 года, 15:12 | Платформа | Хозяин: “пожалуйста, подтвердите, если вы согласны с нашими правилами проживания”

  • 30 мая 2024 года, 10:53 | Платформа | Гость: “Мы согласны с правилами проживания.”

  • 30 мая 2024 года, 10:54 | Платформа | Гость: “Мы прибудем для регистрации около 16:00, как указано.”

  • 30 мая 2024 года, 13:45 | Платформа | Гость: “AB Сообщение – Без описания” (Отправляет фото удостоверения личности)

  • 30 мая 2024 года, 13:45 | Платформа | Гость: “AB Сообщение – Без описания” (Отправляет фото удостоверения личности)

  • 30 мая 2024 года, 13:46 | Платформа | Гость: “Это паспорт другого гостя.”

  • 30 мая 2024 года, 13:48 | Платформа | Хозяин: “Привет, Джон. Спасибо за отправку ваших данных. Ниже вы найдете ссылку с указаниями о том, как добраться до вашего объекта, а также другую полезную информацию. Это поможет вам легче спланировать вашу поездку. https://cutt.ly/LINK (когда LLM нужно ответить на такого рода сообщение с информацией, эта ссылка будет сгенерирована функцией вызова) Мы отправим вам подробные инструкции о квартире и о том, как получить доступ к ней в день вашей регистрации. Пожалуйста, имейте в виду, что наше время регистрации начинается в 16:00 в день прибытия. Выезд до 10:00 в день выезда. С наилучшими пожеланиями,”

  • 22 июля 2024 года, 17:22 | Платформа | Гость: “Привет, Джейсон, извините за беспокойство, но Ryanair изменил время нашего рейса. Мы прибудем в Лондонский аэропорт Станстед около 21:00. До какого времени мы можем сделать регистрацию? Спасибо, Джон”

  • 22 июля 2024 года, 17:25 | Платформа | Хозяин: “Привет, Джон, не переживай, ты можешь зарегистрироваться в любое время 😊”

  • 22 июля 2024 года, 17:26 | Платформа | Гость: “Хорошо, большое спасибо!”

  • 22 октября 2024 года, 20:54 | Платформа | Гость: “Здравствуйте, Джейсон, я хотел сообщить вам, что мы оплатили всю сумму за наше пребывание в вашей квартире. Большое спасибо, Джон”

В ДЕНЬ ПРИБЫВАНИЯ
  • 29 октября 2024 года, 11:37 | Платформа | Гость: “Привет, Джейсон. Мы прибудем около 23:00 (если всё пойдет хорошо с транспортом). Нужно ли нам что-то еще сделать? Вы дадите нам инструкции для регистрации в день нашего прибытия? Большое спасибо, хорошего дня, Джон”
  • 31 октября 2024 года, 23:05 | Платформа | Гость: “Джейсон, все в порядке? Есть какие-либо проблемы?”
  • 08 ноября 2024 года, 21:28 | Платформа | Хозяин: “Привет, Джон, скоро прибытие. Пожалуйста, найдите ниже ссылку на информацию о регистрации для вашего объекта. Мы включили фотографии и видео о том, как найти и войти в объект, а также инструкции для приборов, Wi-Fi, местных магазинов и т. д. Пожалуйста, подтвердите, как только вы увидите эти инструкции, мне будет спокойнее знать, что вы сможете войти в объект без проблем. СБОР КЛЮЧЕЙ Пожалуйста, заберите ключи, прежде чем идти к объекту. Код для получения ключа в магазине – 804446. Эта служба получения ключей предоставляется Keynest, надежным партнером. ПОДРОБНАЯ РЕГИСТРАЦИЯ https://bit.ly/XXXX Желаем вам отличного пребывания.”
  • 09 ноября 2024 года, 13:33 | Платформа | Гость: “Большое спасибо, мы все прочитали и скоро направимся в аэропорт. Спасибо еще раз, Джон”
  • 09 ноября 2024 года, 22:51 | Платформа | Гость: “Мы прибыли в квартиру👍🏻”
  • 10 ноября 2024 года, 8:10 | Платформа | Гость: “Доброе утро, Джейсон. Мы пытались подключиться к Wi-Fi, но требуется какая-то авторизация. Как мы можем решить эту проблему?”
  • 11 ноября 2024 года, 8:28 | Платформа | Хозяин: “Привет, Джон. Спасибо, что дали знать. Можешь отправить нам скриншот? Чтобы мы могли проверить? С наилучшими пожеланиями”
  • 11 ноября 2024 года, 10:33 | Платформа | Хозяин: “Здравствуйте, Джон, мы ожидаем доставку роутера от Royal Mail сегодня, пожалуйста, примите доставку с 10:12 до 14:12 сегодня www.royalmail.com/track-your-item#/tracking-results/XXXXXX Пожалуйста, подтвердите, как только новый роутер будет получен. Спасибо.”
  • 11 ноября 2024 года, 10:34 | WhatsApp Direct | Хозяин: “Здравствуйте, Джон, мы ожидаем доставку роутера от Royal Mail сегодня, пожалуйста, примите доставку с 10:12 до 14:12 сегодня www.royalmail.com/track-your-item#/tracking-results/XXXXXX Пожалуйста, подтвердите, как только новый роутер будет получен. Спасибо.”
  • 11 ноября 2024 года, 17:52 | WhatsApp | Гость: “Извините, я не заметил сообщение, мы только что прибыли в квартиру.”
  • 11 ноября 2024 года, 17:55 | WhatsApp | Хозяин: “Без проблем. Спасибо”
  • 11 ноября 2024 года, 18:26 | WhatsApp | Гость: “Можем ли мы что-то сделать?”
  • 11 ноября 2024 года, 18:38 | WhatsApp | Хозяин: “Привет, Джон, пока все хорошо. Спасибо, что спросил”
  • 11 ноября 2024 года, 19:37 | WhatsApp | Гость: “Что нам делать с проблемой с Wi-Fi?”
  • 11 ноября 2024 года, 19:57 | WhatsApp | Хозяин: “Привет, Джон, наш уборщик заберет роутер завтра и установит его, проблема будет решена завтра, извините за неудобства.”
  • 11 ноября 2024 года, 21:36 | WhatsApp | Гость: “Большое спасибо! Спокойной ночи”

Ответ или решение

Проектирование системы RAG: контекстная поддержка клиентов для управления недвижимостью с использованием смешанной информации о свойствах

Введение

В мире управления недвижимостью, особенно при взаимодействии с такими платформами, как Airbnb, ключевым аспектом является обеспечение непревзойденной поддержки клиентов на всех этапах пути гостя. Проектирование системы, базирующейся на методе RAG (Retrieval-Augmented Generation), становится необходимостью. Эта система должна эффективно обрабатывать запросы гостей, используя как специфическую информацию о каждом объекте, так и глобальные данные.

Источники данных и уникальные вызовы

1. Исторические разговоры (более 80,000 за 7 лет)

Исторические диалоги хранятся в базе данных PostgreSQL. Важно учитывать временную актуальность информации в зависимости от типа запроса:

  • Недавние разговоры: особенно важны для вопросов о доступных услугах (например, "Какой пароль от Wi-Fi?").
  • Старые разговоры: могут содержать ценную информацию о местоположении и удобствах (например, "Есть ли рядом парк?").

2. Информация о недвижимости

Каждая единица недвижимости должна иметь детализированные и актуальные описания, включая удобства, месторасположение и правила. Также необходимо учитывать иерархические отношения между объектами:

  • Структура:

    Здание
    ├── Апартамент A
    ├── Апартамент B (идентичная планировка/оборудование как у A)
    └── Апартамент C (другая планировка, но одинаковые удобства)
  • При вопросе, касающемся определенного апартамента, система должна также искать информацию об аналогичных объектах в том же здании.

3. Состояния пути гостя

Каждое взаимодействие происходит в определенном состоянии пути клиента:

  • ПЕРЕД БРОНИРОВАНИЕМ
  • ПОСЛЕ БРОНИРОВАНИЯ
  • В ДЕНЬ ПРИБЫТИЯ
  • В ТЕЧЕНИИ СТЖАНИЯ
  • ПОСЛЕ СТЖАНИЯ

Разные состояния требуют разных ответов на одни и те же вопросы.

Пример: Вопрос "Каков код от ящика для ключей?" имеет различные ответы в зависимости от состояния:

  • ПЕРЕД БРОНИРОВАНИЕМ: Необходимо бережно обращаться с кодом.
  • ПОСЛЕ БРОНИРОВАНИЯ: Код не должен быть предоставлен до определенной даты.
  • В ДЕНЬ ПРИБЫТИЯ: Код должен быть предоставлен с предупреждением о необходимости проверки.

4. Дополнительная информация о бизнесе и каналах продаж

Необходимо учитывать глобальные политики (время выезда, правила отмены) и специфические для платформы правила. Например, Airbnb не разрешает запрашивать удостоверение личности до подтверждения бронирования.

Технические вопросы

1. Стратегия векторной базы данных

  • Структура эмбеддингов: Эмбеддинги должны быть разработаны отдельно для различных типов информации, учитывая контекст.
  • Задача разделения: Можно рассмотреть возможность ведения отдельных векторных пространств для свойств и глобальной информации, если это улучшит результаты поиска.
  • Адаптация к иерархии свойств: При поиске необходимо учитывать связи между свойствами. Например, если гость имеет проблему с техникой в одном апартаменте, стоит искать решение также среди аналогичных объектов в том же здании.

2. Временная релевантность

  • Взвешивание свежести разговоров: Для ответов, требующих актуальной информации, необходимо внедрить механизм, который эффективно оценит временную значимость исторических данных.
  • Сочетание текущих документов свойств с историческими разговорами: Создание единых векторных представлений, которые интегрируют текущие сведения о свойствах и исторические разговоры, может повысить качество ответов.

3. Контекстуальный поиск

  • Влияние состояния трекера на процесс получения: Важно интегрировать состояние пути клиента в стратегию получения ответа, чтобы система могла проводить точное различие между запросами.
  • Обработка взаимосвязей между свойствами: При использовании механизмов обратной связи, например, если гость запрашивает помощь по определенному оборудованию, система должна учитывать аналогичные объекты.

4. Безопасность и соблюдение политики

  • Соблюдение политики безопасности: Чтобы гарантировать, что система отвечает соблюдая политику безопасности в зависимости от состояния клиента.
  • Обработка специфических для платформы правил в ответах: Важно учесть правила каждой платформы, чтобы избежать нарушения условий обслуживания.

Заключение

Проектирование системы RAG в контексте управления недвижимостью — это сложная, но выполнимая задача, освещающая потребности автоматизации клиентской поддержки. Успешная реализация этой системы принесет ощутимые преимущества, включая экономию времени, повышение удовлетворенности клиентов и улучшение общей эффективности управления недвижимостью. Интеграция различных источников данных и применение инновационных технологий позволят создать мощный инструмент, отвечающий актуальным требованиям гостей.

Оцените материал
Добавить комментарий

Капча загружается...