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

Помилки:

Запитання:
1. Написи для документації які
2. чи треба перевіряти символи (перевірку слів та довжину шкірного слова додано).
3. Є формат відповіді який треба обов'язково зробити (для відповіді та помилок)?
Якщо вам потрібний новий аккаунт на платформі чату жпт то треба емайл
Ну і для того щоб додати модуль потрібно буде доступ до проекту
Якщо є питання, пишіть.
-
ще:
Я не знаю де саме він буде використовуватися, якщо можна посилання дайте сайту, де буде працювати.
Завтра після 12-го буду вдома і можу доробити все. зараз 1:00 вийшло.
Також у майбутньому для скорочення витрат та безпеки можна ще:
1. додати кешування відповідей у внутрішню базу, або вбудований файловий кеш
2. Додати якийсь елемент безпеки щоб трохи ускладнити просес запитів від сторонніх ботів.
-
ще:
Я не знаю де саме він буде використовуватися, якщо можна посилання дайте сайту, де буде працювати.
Завтра після 12-го буду вдома і можу доробити все. зараз 1:00 вийшло.
Також у майбутньому для скорочення витрат та безпеки можна ще:
1. додати кешування відповідей у внутрішню базу, або вбудований файловий кеш
2. Додати якийсь елемент безпеки щоб трохи ускладнити просес запитів від сторонніх ботів.
-
Сергій Мельничук Web сторона
> довжину шкірного слова додано
слово "шкірного" не зрозуміло
також на скрінах ви обрізали частину Swagger`у, не видно чи у вашому є авторизація, зазвичай є іконка замочку, бо в нас своя авторизація є
-
Сергій Мельничук Web сторона
інше в особистих
-
також для вхіда у ігпу трнба спонсорска ссилка, чи ааторізація.
я подивився апи, там є авторізація, то є гарно . також бачу декілька язиків, то треба буде додавати ще функцвонал язмка, бо і під кожний язик треба свій промпт та свій префікс запросу.бо від промпта залежить язик відповіді.
також є ще момент - я додаю налаштування через конфіг файл .env но я також не знаю чи використовуєтьця це у вас. якщо що, я перенесу налашиування у файл - конфіг який буде в папці молуля .
також ви просите налаштування чата, но там немає особливих налаштувань, бо в апі ви тільки відкриваєте проєкт та створюєте особистий ключь. всі налаштування використовуються при запросах через промпт, тож треба мати на увазі бо промпт в вашому випадку буде відправлятися при кожному запросі. а то якщо 10 раз у день, то ще терпимо, але якщо у вас там двіж , то вже буде білш накладно , бо всі запроси рахуются токенами і сплачуються. тож ваш промпт буде кожен раз відправлен. можно промпт не робити великим, но від нього залежить відповідь. то вже треба буде оптімально підбирати , тому він винесен окремо у налаштування.
-
завтра я після 17 зможу вийти на зв'язок .
-
по авторизації у гру вже все гаразд.
-
хоча не все. я заходжу в аккаунт але там на мобілі нічого не працює 😔
-
Актуальні фриланс-проєкти в категорії PHP
Розробник на проект CMS-сайт на Drupal 7 + PHP/MySQL.Шукаємо розробника для допомоги з налаштуванням CMS-сайту на Drupal 7 + PHP/MySQL. Задача:1. Зробити карточки товару на весь асортимент товару (наразі на сайті не на всіх товарах є карточки товару з описом та характеристиками).2. Додати вірні характеристики на всі товари.3.… CMS, PHP ∙ 1 день 3 години тому ∙ 39 ставок |
Шукаємо спеціаліста Bitrix24 / інтегратора CRM для налаштування автоматизаціїНаша компанія працює з CRM Bitrix24. Нам потрібен спеціаліст, який зможе налаштувати автоматичне додавання номера телефону в ліди/замовлення в двох форматах. Автоматизація повинна бути коректно налаштована для двох країн: Республіка Молдова та Румунія. Завдання: При створенні… PHP, Веб-програмування ∙ 2 дні 1 година тому ∙ 24 ставки |
Оптимізація сайтуОптимізація сайту jdgreta.co.uk на Shopify. Сео аудит додано до проекту. Основні завдання - - Виправити всі мета дані - Виконати ТЗ для програміста (оскільки в цьому проекті поєднані завдання для програміста та СЕО, якщо ви не компанія - можете скористатися допомогою) -… HTML та CSS верстання, PHP ∙ 2 дні 21 година тому ∙ 32 ставки |
Спеціаліст по HoroshopПотрібен спеціаліст який зможе правильно налаштувати товарний Feed. Проблема: Зараз понад 13 000 товарів вивантажуються з однаковим значенням типу (напр. «все для манікюру та педикюру»). Через це в Google Ads неможливо розділити товари на сегменти й задати різні рекламні… PHP, Супровід сайтів ∙ 4 дні тому ∙ 21 ставка |
Зробити щоб листи про замовлення з магазину не потрапляли в спамЗараз є магазин на опенкарті, листи про замовлення потрапляють до спаму, треба зробити так щоб потрапляли в Вхідні (ukr.net gmail) перевірити. хостинг написав: Погана доставка електронної пошти може бути пов'язана з низькою репутацією відправника - IP або домену. У такому… PHP, Веб-програмування ∙ 5 днів 1 година тому ∙ 47 ставок |