Используем таблицу Google как базу для GPT-бота (вместо Notion)

Автор:

Андрей Тиунов

Поводом написания этой статьи стал уход из России Notion, так как мы активно подключали в качестве баз данных к нашим GPT-ботам базы в Notion (статья про это: https://habr.com/ru/articles/820377/)

Итак, допустим у нас есть такая таблица:

Используем таблицу Google как базу для GPT-бота (вместо Notion)

База квартир для GPT-бота

Шаг №1: Создаем GPT-бота

Очень просто сделать GPT-бота и привязать его к Телеграм на ProTalk:

Используем таблицу Google как базу для GPT-бота (вместо Notion)

Создание бота в одну кнопку на ProTalk

Сразу при создании бота, привяжем его к Телеграм:

Используем таблицу Google как базу для GPT-бота (вместо Notion)

При создании бота сразу настроим токен и ник бота в Телеграм

Шаг №2: Подключаем функцию к боту

Сначала зайдем в каталог функций и поищем по запросу: "что использовать для базы данных в Гугл".

Используем таблицу Google как базу для GPT-бота (вместо Notion)

Поиск с помощью ИИ подходящих функций

Подключаем найденную функцию к боту:

Используем таблицу Google как базу для GPT-бота (вместо Notion)
В блоке функций выбираем нужную нам функцию

Шаг №3: Создаем роль для GPT-бота

Для того чтобы наш ИИ консультант мог фильтровать данные по квартирам мы должны ему объяснить какие колонки есть в нашей таблице (базе данных), вот так это можно сделать:

Ты должна подбирать квартиры на основе данных в таблице: https://docs.google.com/spreadsheets/d/1wcKA2\_qfMjImLUiEOhK-lHUf0rt5tmc-dvYEqepro/edit?usp=sharing
Колонки для запроса из таблицы: A - H
Для фильтрации используй эти колонки: С - Цена аренды (в сутки) - числовое поле D - Размер квартиры в м2 - числовое поле G - VIP сегмент - фиксированные значения: Да, Нет

Используем таблицу Google как базу для GPT-бота (вместо Notion)
Вот так мы дадим возможность GPT-боту самому фильтровать данные в таблице Google

Тестируем бота

Для примера дадим такой запрос нашему боту: "мне нужен вип но не дороже 2400".
И вот что мы увидим в ответе:

Используем таблицу Google как базу для GPT-бота (вместо Notion)

Результат фильтрации таблицы Google по запросу клиента и ответ GPT-бота

Вывод

Если у вас возникнут вопросы при создании подобной интеграции, то напишите в комментарии или мне в Telegram и я постараюсь ответить на ваши вопросы.

P.S. Код функции

Для тех, кто такую интеграцию хочет сделать самостоятельно, вот код самой функции фильтрации:

def get_filtered_google_table(arguments): import requests import csv from io import StringIO import re url = arguments['url'] sheet_index = (arguments.get('sheet_index', 1)) - 1 filter_query = arguments.get('filter_query', '') pattern = r"/spreadsheets/d/([a-zA-Z0-9-_]+)" spreadsheet_id = re.findall(pattern, url)[0] file_url = f'https://docs.google.com/spreadsheets/d/{spreadsheet_id}/gviz/tq?tqx=out:csv&sheet={sheet_index}&tq={filter_query}' response = requests.get(file_url) csv_content = response.content.decode('utf-8') csv_reader = csv.reader(StringIO(csv_content.replace(" ", ",")), delimiter=',') csv_rows = list(csv_reader) return csv_rows

А вот пример вызова функции:

arguments = { 'url': 'https://docs.google.com/spreadsheets/d/1wcKA2__qfMjImLUiEOhK-lHUf0_rt5tmc-dvYEqepro/edit?usp=sharing', 'filter_query': 'SELECT A, D, C, E WHERE C > 2000 AND E LIKE "%балкон%"' } filtered_data = get_filtered_google_table(arguments)

У вас есть статья о ProTalk? Поделитесь с нами - support@pro-talk.ru мы опубликуем её с вашим контактом!

© ProTalk 2023-2025 ИП Горелов Максим Николаевич ИНН 500104951533 ОГРН 309500106900065 

Новая, 8, 9 Реутов, Московская область 143964 Россия