Задать вопрос
  • Как связать YandexGPT с базой данных?

    @rPman
    При наличии доступа к весам llm, мощностям для finetuning и переобучения, специалистам по нейронным сетям, можно сделать ряд сопроводительны нейронок, которые будут помогать принимать решение о дальнейших действиях, закодировать большое количество 'дорожек' из llm к формальным базам данных, и сделать задачу якобы решенной.

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

    Если не углубляться
    - во первых, тебе нужно на основе llm сделать классификатор, который будет из текста пользователя понимать, intent - какое именно действие он желает сделать (для этого обучают нейронку на основе pretrained llm, возможно убирают последние слои, заменяя их на новые, веса которых нужно будет найти и обучить на основе подготовленной базы вопросов пользователей и соответствующих им реакций, с некоторой долей вероятности можно попробовать без обучения спрашивать у умной llm типа chatgpt4, к сожалению chatgpt3.5 и сравнимые с ней плохо с этим справляются, точнее это вопрос творческий и возможно вместо одного универсального промпта тут нужно готовить франкенштейна из большого количества разных, llm-ка от яндекса не подойдет).
    - во вторых, это сбор информации, отличный пример - человек спрашивает брать ли завтра зонтик, мало сети понять что для ответа на вопрос нужно знать какая будет погода завтра (а завтра это через сколько часов?), нужно понять где этот человек находится и возможно задать наводящий вопрос... это я еще молчу про контекст беседы, может пользователь обсуждает о том что взять с собой в поездку на следующей неделе, т.е. вот уже другое время и место (фраза взять с собой может подразумевать - положить в багаж).
    Я видел примеры промптов, с помощью которых из лога беседы можно вытягивать элементы информации (список этих элементов придется заранее забивать соответственно тому интерфейсу, который выбран как целевой на первом шаге), что то типа проанализируй, достаточно ли в данном тексте информации для ответа на вопрос, выделяя в промпте цель, собранную информацию и часть лога беседы, может сжатой через саморизацию с фильтром - нужную для данной задачи (этакая симуляция большого окна контекста).
    Вот тут у директора по развитию ии от яндекс спрашивали как раз

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

    p.s. С некоторой долей риска можно просить на ходу нейронку генерировать sql запросы на основе вопросов пользователя, результат будет с большими ошибками, чем умнее llm-ка тем сложнее эти ошибки будет обнаружить (в автоматическом режиме я имею в виду).

    upd. вот тут из гигачата сделали внутреннюю базу и как то интегрировали нейронку чтобы ею пользоваться, подробности не сообщили но в статье и комментариях есть ссылки на работы и технологии
    Ответ написан
    1 комментарий
  • Как связать YandexGPT с базой данных?

    riky
    @riky
    Laravel
    Тоже подумываю над таким. Естественно дьявол кроется в деталях, влезет ли схема БД (все таблицы и поля) в контекст. если база большая то скорее всего и нет, либо нужна "дорогая" модель с большим контекстом. Но как правило все таблицы для каждого запроса и не нужны. поэтому можно попробовать сделать в несколько запросов. указать запрос клиента и перечислить таблицы, на выходе должна ответить какие таблицы могут понадобиться.
    вторым этапом передать ей схемы этих таблиц, надо тестить в каком виде будут лучше результаты, либо просто в виде CREATE TABLE или просто текстом перечислить. возможно для некоторых столбцов понадобиться передавать ручное описание того какие и как там данные лежат.
    ну и последним шагом (как писал в др комментарии) проверить через него же, не опасен ли запрос.

    еще момент если в запросах надо ограничивать записи по конкретным ид. (покажи продажи по категории "игрушки"). то есть GPT должна как то найти ид этой категории...
    для таких запросов надо сначала попросить ее составить список задач, а потом уже скармливать эти задачи ей же.

    думаю должно получиться. проблема в том что обычный юзер не сможет проверить по запросу правильно ли она считает. ну получил я от нее в конце концов какое то число, смогу я его в отчет вставить и к директору с ним прийти?
    Ответ написан
    Комментировать