Подключить Chat GPT к Yii2 и выдать результаты через API в Yii2
На указанный мейл, нужно зарегистрировать аккаунт в Chat GPT, доступы сохранить соответствующим образом в Redmine. Настроить работу Chat GPT, таким образом, чтобы мы, обращаясь к нашему API (реализованному на Yii2), могли дальше безопасным образом использовать токен Chat GPT и получать от него ответ, обратно в наше API, которое будем использовать на фронте. Также для работы с API используем Swagger, поэтому очень важно, чтобы вы имели опыт работы с ним тоже со стороны бэкенда (без возможности работы с API через Swagger данная работа не может быть принята).
Также в нашем API, нужно дополнительно проверить, не приходит ли с фронта слишком длинная строка. Нужно с фронта принимать 1-2 слова. (Скорее всего в процессе тестирования сможем выявить соответствующую длину строки, поправить) Согласовать в процессе работы.
Мы должны использовать Chat GPT, как словарь/википедию. На фронте, человек будет тыкать мышкой в конкретное слово или словосочетание, мы будем отправлять это на наше API, далее передавать на Chat GPT и возвращать на фронт текст.
Суть в том, чтобы иметь безопасное соединение с Chat GPT, а не напрямую с фронта к нему подключаться, потому что с фронта просто завладеть токеном.
Если у вас есть уточнения - пишите, буду очень благодарен, добавлю к проекту. Если есть +подобный опыт настройки чата, под такую задачу - супер.
Очень важно: мы работаем и лучше всего понимаем процесс оценки time and materials, поэтому для формирования понимания ценообразования нужно понимать ставку за 1 час, и ориентировочное время выполнения данной задачи.
Понадобится взаимодействовать с другими участниками команды. Для работы над задачами мы используем Redmine (понимать не обязательно, все расскажу), для рабочей переписки Teams. Студиям просьба не беспокоить. Ожидаю отклики больше от middle, или что-то среднее от middle до senior специалистов для данного проекта.
Сам Swagger уже установлено и настроено на проекте, устанавливать и настраивать с 0 не нужно. Есть авторизация, есть endpoint`ы на вход пользователя, обновление токена и выход. Также настроена работа на 6 языках, 4 из которых уже полностью функциональны, другие ждут перевода носителями.
Сам Swagger вже встановлено та налаштовано на проекті, встановлювати та налаштовувати з 0 не потрібно. Є авторизація є endpoint`и на вхід користувача, оновлення токена та вихід. Також налаштована робота на 6 мов, 4 з яких уже повністю функціональні, інші чекають перекладу нейтівами.
> На фронті, людина буде тицяти мишкою в конкретне слово чи словосполучення, ми будемо надсилати це на наше апі, далі передавати на Chat GPT, і повертати на фронт текст.
Важливо! Цей проект тільки про backend, цим проектом роботи frontend`у ніяк не робляться. Фронтом займається окремий член команди. Процитував частину опису, щоб звернути на неї увагу. Про фронт було написано виключно із ціллю - цілічного бачення використання даної фічі.
> На фронті, людина буде тицяти мишкою в конкретне слово чи словпосполучення, ми будемо надсилати це на наше апі, далі передавати на Chat GPT, і повертати на фронт текст.
Важливо! Цей проект тільки про backend, цим проектом роботи frontend`у ніяк не робляться. Фронтом займається окремий член команди. Процитував частину опису, щоб звернути на неї увагу. Про фронт було написано виключно із ціллю - цілічного бачення використання даної фічі.
Чат GPT, promt`и: наш сервис - это игра для людей, которые изучают Нутрициологию.
Например, есть "карточки", с текстом:
- А знали ли вы, что… магний помогает ферментам печени нейтрализовать токсины и снижает воспаление?
- Антиоксиданты защищают печень от повреждений при обработке токсинов?
- При избытке токсинов и стрессе печень сама становится источником свободных радикалов?
В тексте выше, выделенные слова:
- магний
- ферментАМ
- токсины
- воспаление
- антиоксиданты
- стрессЕ
- свободнЫХ радикалОВ
Это те слова, которые могут быть непонятны игрокам, которые только начали знакомиться с Нутрициологией, и по которым нужно получить объяснение их значений в контексте науки Нутрициологии, понятным, доступным языком.
Выше я капсом выделил окончания слов, чтобы показать, что они не всегда находятся в нужной форме и не всегда будут в нужной форме, для запроса например в Google (возможно? это тоже нужно будет настраивать дополнительно в promt)
Пример:
Что такое свободный радикал? - это одно
Что такое свободнЫХ радикалОВ - это уже другое...
Чат GPT, promt`и: наш сервіс - це гра для людей, що вивчають Нутріціологію.
Наприклад, є "картки", із текстом:
- А знали ли вы, что… магний помогает ферментам печени нейтрализовать токсины и снижает воспаление?
- Антиоксиданты защищают печень от повреждений при обработке токсинов?
- При избытке токсинов и стрессе печень сама становится источником свободных радикалов?
В тексті вище, виділені слова:
- магний
- ферментАМ
- токсины
- воспаление
- антиоксиданты
- стрессЕ
- свободнЫХ радикалОВ
Це ті слова, які можуть бути не зрозумілі гравцям, що тільки почали знайомитися із Нутріціологією, і за якими потрібно отримати пояснення їх значень в контексті науки Нутріціології, зрозумілою, доступною мовою.
Вище я капсом виділив закінчення слів, щоб показати, що вони не завжди є в потрібній формі і не завжди будуть у потрібній формі, для запросу наприклад в Google (можливо? це теж потрібно буде налаштовувати додатково в promt)
Приклад:
Что такое свободый радикал? - це одне
Что такое свободнЫХ радикалОВ - це вже інше...
Кеширование ответов для одинаковых слов, для уменьшения запросов к GPT
Предварительно есть видение 3 вариантов:
- Фалойве кеширование (я лично не очень за этот тип, потому что можем упереться в ограничения linux)
- В БД: из слова сделать md5 хеш, сохранить в таблицу id, md5, и объяснение GPT (не использовать полнотекстовый поиск, а искать четкое совпадение по md5, чтобы также не перегружать запросами БД)
- На слова и тег языка повесить INDEX и UNIQUE и дальше использовать %LIKE%
- На данном этапе "семантическое кеширование" не рассматриваем
- ваш вариант
В любом случае, готов услышать вашу думку за лучший из выше указанных вариантов, или альтернативный, что будет лучше чем выше описанные.
Кешування відповідей для однакових слів, для зменшення запросів до GPT
Попередньо є бачення 3 варіантів:
- Фалойве кешування (я особисто не дуже за цей тип, бо можемо впертися обмеження linux)
- В БД: із слова зробити md5 хеш, зберегти в таблицю id, md5, та пояснення GPT (не використовувати повнотекстовий пошук, а шукати чітке співпадіння по md5, щоб також не перенавантажувати запитами БД)
- На слова та тег мови провісити INDEX та UNIQUE і далі використовувати %LIKE%
- На даному етапі "симантичне кешування" не розглядаємо
- ваш варіант
В любому випадку, готовий почути вашу дуку за найкращий із вище вказаних варіантів, або альтернативний що буде краще ніж вище описані.
Прием и передача данных (Request, Responses) происходит в виде JSON
Прийом та передача даних (Request, Responses) має відбувається у вигляді JSON
-
Ось чорновий варіант уже зробив. Залишається додати нюанси.

Помилки:

Запитання:
1. Написи для документації які
2. чи треба перевіряти символи (перевірку слів та довжину шкірного слова додано).
3. Є формат відповіді який треба обов'язково зробити (для відповіді та помилок)?
Якщо вам потрібний новий аккаунт на платформі чату жпт то треба емайл
Ну і для того щоб додати модуль потрібно буде доступ до проекту
Якщо є питання, пишіть.
-
ще:
Я не знаю де саме він буде використовуватися, якщо можна посилання дайте сайту, де буде працювати.
Завтра після 12-го буду вдома і можу доробити все. зараз 1:00 вийшло.
Також у майбутньому для скорочення витрат та безпеки можна ще:
1. додати кешування відповідей у внутрішню базу, або вбудований файловий кеш
2. Додати якийсь елемент безпеки щоб трохи ускладнити просес запитів від сторонніх ботів.
-
ще:
Я не знаю де саме він буде використовуватися, якщо можна посилання дайте сайту, де буде працювати.
Завтра після 12-го буду вдома і можу доробити все. зараз 1:00 вийшло.
Також у майбутньому для скорочення витрат та безпеки можна ще:
1. додати кешування відповідей у внутрішню базу, або вбудований файловий кеш
2. Додати якийсь елемент безпеки щоб трохи ускладнити просес запитів від сторонніх ботів.
-
Сергій Мельничук Web сторона
> довжину шкірного слова додано
слово "шкірного" не зрозуміло
також на скрінах ви обрізали частину Swagger`у, не видно чи у вашому є авторизація, зазвичай є іконка замочку, бо в нас своя авторизація є
-
Сергій Мельничук Web сторона
інше в особистих
-
також для вхіда у ігпу трнба спонсорска ссилка, чи ааторізація.
я подивився апи, там є авторізація, то є гарно . також бачу декілька язиків, то треба буде додавати ще функцвонал язмка, бо і під кожний язик треба свій промпт та свій префікс запросу.бо від промпта залежить язик відповіді.
також є ще момент - я додаю налаштування через конфіг файл .env но я також не знаю чи використовуєтьця це у вас. якщо що, я перенесу налашиування у файл - конфіг який буде в папці молуля .
також ви просите налаштування чата, но там немає особливих налаштувань, бо в апі ви тільки відкриваєте проєкт та створюєте особистий ключь. всі налаштування використовуються при запросах через промпт, тож треба мати на увазі бо промпт в вашому випадку буде відправлятися при кожному запросі. а то якщо 10 раз у день, то ще терпимо, але якщо у вас там двіж , то вже буде білш накладно , бо всі запроси рахуются токенами і сплачуються. тож ваш промпт буде кожен раз відправлен. можно промпт не робити великим, но від нього залежить відповідь. то вже треба буде оптімально підбирати , тому він винесен окремо у налаштування.
-
завтра я після 17 зможу вийти на зв'язок .
-
по авторизації у гру вже все гаразд.
-
хоча не все. я заходжу в аккаунт але там на мобілі нічого не працює 😔
-
Актуальные фриланс-проекты в категории PHP
Исправить CLSНеобходимо исправить Cumulative Layout Shift через код PageSpeed не видит этой проблемы, но через Google Chrome видно, что есть смещение макета для компьютерной версии страницы В ответе Google Search появилась ошибка касательно скорости компьютерной версии Необходимо… PHP, Веб-программирование ∙ 2 дня 12 часов назад ∙ 29 ставок |
Перенести полностью готовую адаптивную HTML5-структуру в WordPress.
12 000 UAH
Я ищу опытного WordPress-разработчика, который сможет преобразовать наш тщательно подготовленный статический HTML5/CSS3 код в высокопроизводимую кастомную WordPress-тему. Фронтенд уже практически готов (примерно 99%): семантическая разметка, метаданные и мультиязычная структура… CMS, PHP ∙ 2 дня 15 часов назад ∙ 64 ставки |
Интеграция GoPosПривет, делал кто нибудь интеграцию GoPos с кастомным сайтом для ресторана в Польше? Нужна помощь, у них очень скудная документация, есть только swagger и тот без описаний https://app.gopos.io/doc/swagger-ui/index.html Суть такая, использовали от них сайт для онлайн заказов,… PHP, Веб-программирование ∙ 3 дня 7 часов назад ∙ 25 ставок |
Прописать мета данные АЛЬТ при помощи ИИСайт на Laravel , на сайте много изображений, для которых нужно прописать корректные по семантики и релевантные для странице АЛЬТ описание изображения в автоматическом режиме, с возможностью проверки AI и машинное обучение, PHP ∙ 4 дня 4 часа назад ∙ 35 ставок |
Нужен разработчик для завершения и интеграции проекта по автоматическому сбору и обработке данных
700 UAH
Основная часть парсера уже реализована. Парсер работает на Windows-среде через Microsoft Edge: сайт имеет антибот-защиту, поэтому сбор данных выполняется не прямыми HTTP-запросами, а через живую браузерную сессию. Скрипты управляют открытой вкладкой Edge через Chrome DevTools… PHP, Веб-программирование ∙ 4 дня 10 часов назад ∙ 26 ставок |