Создание варианта опроса при помощи гигачата #1
No reviewers
Labels
No Label
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: SQuiz/worker#1
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "gigachat"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
надо написать воркер, который будет потреблять из редиса или редпанды задачу на создание варианта под определённую аудиторию. в рамках этой задачи надо:
реализовать клиент к гигачату, который умеет в создание нового чата и оправку запросов в этот же чат. чат создаётся для пары опрос+аудитория
воркер при потреблении задачи из очереди должен завести собственную персистентную очередь задач на создание варианта каждого вопроса. возможно возможно общаться не последовательно, а как то параллельно, но я не вижу простого варианта как это сделать и не знаю ограничений гигачата на количество одновременных чатов или запросов.
по факту, формат работы я вижу такой: воркер получает из входной очереди задачу мол "сделай варианты вопросов для вот этой аудитории". воркер получает из базы аудиторию, опрос, вопросы для этого опроса и создаёт набор задач на последовательное "перформулирование" вопроса для этой конкретной аудитории (от аудитории тут надо только пол и age)
далее воркер по одной выгребает задачи на переформулирование вопроса из очереди и обращается к гигачату в ЧАТ, КАСАЮЩИЙСЯ ЭТОГО ВОПРОСА И ЭТОЙ АУДИТОРИИ, в рамках этого чата выдаёт текст и промпт, который я ниже скину, дожидается ответа и создаёт вопрос, который повторяет этот вопрос, но с новым заголовком и описанием. возможно нужно будет ещё распарсить конфиг и передать варианты ответа( но я надеюсь, что удастся убедить без этого обойтись
после того как все вопросы переформулированы, чат нужно закрыть
Есть 3 НО в этом моменте:
промпт:
Ты маркетолог и копирайтер и переделываешь вопрос из маркетингового квиза в вопрос подходящий определенной целевой аудитории согласно возрастному промежутку и полу при этом новая формулировка не меняет смысл вопроса. я пишу вопрос, ты пишешь итоговый ответ. Начнем?
формат вопроса:
18-25 лет женский пол.
На какую дату вы хотите забронировать отель?
т.е. в начале чата пишешь промпт
потом на каждый вопрос указываешь аудиторию в таком формате, ниже заголовок вопроса, ниже описание вопроса
обсуждали переработку с Мишей в чате пришли к текущей логики которая реализована в коммитах выше
из переработанного это промпт:
нужно обновить комон, текущая ветка не подходит - https://gitea.pena/SQuiz/common/src/branch/gigachat она с ветки imp
коммит выше по сути финальный для задачи
воркер который фетчит кафку получился сильно проще чем описано в задаче.
почему так произошло? - отказались от чатов (ну как отказались просто нет такого функционала) думали над деревом контекста, тоже минус,Дима не апрувнул. Пришли к выводу - есть вопрос на переформулирование - отправляем его в гигачат с мейн промптом - получаем ответ переформулированный - создаем тот же вопрос в бд но с новым заголовком и описанием и добавляем id аудитории из таблицы аудитории
если по какой то причине вопрос не изменился, но мы получаем ответ - значит гигачат не смог. повторяем в течении 10 попыток, если безуспешно то скипаем вопрос. если возникла другая ошибка, то скип вопроса (не уверен что это правильно так как опрос получится не полным)
вот думаю при каких случаях это может быть - довольно узкие места
так ну фиксанули получается сразу эту дилемму
осталось тоже самое что и в коре я писал это беды с комоном и не соответсвие версий за которые я не берусь так как это мейн
вот проблемы:
86769e3c02/answerwc/to_client.go (L208)
86769e3c02/answerwc/to_client.go (L336)
86769e3c02/answerwc/to_client.go (L338)
Pull request closed