Стан для Jev
Сформуйте матеріал, який оцінюватиме Jev: рядок, об’єкт або масив тексту.
Стан — це вміст, який ви просите оцінити модель System One. Ним може бути повідомлення до служби підтримки, уривок або поточний знімок застосунку. Передавайте його в полі state поруч із запитаннями. Кожен запит оцінює один стан за одним чи кількома запитаннями. Усі запитання бачать той самий стан і виконуються незалежно. У цій карті можна поєднувати Choice, Score і Noul. Не додавайте запитання до стану й вилучайте все, що не потрібне для судження.
Допустимі структури
Найпростіший стан — звичайний рядок: «З моєї картки двічі списали кошти». Використовуйте рядок, якщо випадок складається з одного фрагмента тексту. JSON-об’єкт підійде для іменованих полів, пов’язаних записів або стану застосунку, наприклад повідомлення разом з ідентифікатором замовлення. Для послідовності повідомлень або записів використовуйте масив тексту. У Python передавайте відповідний string, dict або list до client.system_one(state=...).
На сторінці TypeSafe про стан для більшості запитів рекомендовано об’єкт, щоб кожна частина мала зрозумілу назву. Розмову з підтримкою, замовлення з двома проведеними списаннями та політику повернення коштів можна вмістити в одному об’єкті. Це все одно один стан. Об’єднуйте пов’язану інформацію, коли рішення потребує порівняння цих частин. Не приховуйте друге запитання в назві поля.
Jev приймає лише текст. Стан має бути рядком, JSON-об’єктом або масивом текстових значень. Зображення, аудіо й відео не підтримуються. Основна мова навчання — англійська; інші мови, зокрема писемності CJK, приймаються з нижчою точністю. Докладніше про мови дивіться в картці моделі, а пікселі спочатку перетворюйте на поля й не додавайте до запиту.
Відокремлюйте вміст від запитань
Стан містить вміст і підтвердні факти. Запитання визначають судження. Залиште запит на повернення коштів і політику у стані, а потім запитайте, чи просив клієнт повернути кошти та чи дозволяє це політика. Якщо вставити запитання в блок стану, Jev усе одно відповідатиме на поле instructions, а ви продублюєте запит у місці, що витрачає бюджет 32k на стан і найдовше запитання.
Великий стан із безліччю нерелевантних подробиць — задокументований режим відмови для jev-1.13. Точність падає, бо сторонній вміст відволікає, а через роздутий блок складніше визначити, яке поле спричинило хибну відповідь. Спочатку відфільтруйте дані в коді. Надсилайте лише поля, потрібні для запитання. Якщо фільтрація неможлива, Noul може оцінити релевантність уривка перед основним судженням, як у рецепті TypeSafe щодо класифікації уривків RAG.
Довжина контексту обмежена. Jev 1.13 допускає 64k токенів для всього запиту та 32k для стану разом із найдовшим запитанням. Спекулятивний fan-out дає змогу зіставити багато коротких запитань із компактним станом. Це дешевше й точніше, ніж додавати всю історію заявки, коли потрібні лише останнє повідомлення клієнта та два рядки нарахувань.
Запис служби підтримки як стан
Документований об’єкт містить ticket.subject, ticket.messages у вигляді пар from/text, order.id, order.charges із сумою та статусом, а також refund_policy у вигляді речення. Тоді випадок подвійного списання подається як набір Noul і Choice для цього об’єкта, а не як чат, у якому доводиться повторювати правила. Ваш код уже знає суми; Jev визначає, чи містить текст запит на повернення коштів і чи застосовне речення з правилами.
У такому ігровому циклі, як Doom, стан — це структурований текстовий опис світу, а не кадри. Демо TypeSafe передає цей текст із частотою близько 10 запитів на секунду. Для Wikiracing станом є сторінка разом із посиланнями-кандидатами. Для помічника розумного дому — висловлювання користувача разом зі списком пристроїв, який уже є в пам’яті. Жодне з цих демо не надсилає пікселі до Jev.
Якщо поле в базі даних числове, для семантичної оцінки (наприклад, «чи сприймається цей колір як попереджувальний») передавайте іменовану категорію або обчислене число, а обчислення з шістнадцятковими значеннями залишайте коду. jev-1.13 гірше розпізнає трійки RGB і шістнадцяткові значення, ніж англійські назви кольорів. Те саме стосується дат: виділіть складові за допомогою Choice, а потім порівняйте їх у коді.
Ліміти та мова
Вікно запиту на 64k охоплює стан і всі запитання. Вікно на 32k охоплює стан і одне найдовше запитання. Якщо вивантажити у стан PDF із правилами на 20k, для мапи запитань майже не залишиться місця, а надлишок несуттєвих подробиць спричинить помилки. Спочатку знайдіть потрібне, а потім надішліть два абзаци, необхідні для оцінювання.
Наразі найвища точність досягається англійською. Якщо ваші звернення написані японською чи корейською, опрацюйте вибірку, побудуйте графіки впевненості Noul і Choice та залиште перевірку людиною, доки ці гістограми не стануть подібними до англомовних. Модель усе одно прийме текст і не відхилятиме CJK без попередження.
Масиви тексту призначені для послідовностей, а не для прихованого передавання другої схеми. Якщо потрібні іменовані частини, використовуйте об’єкт. Якщо потрібен один суцільний блок, використовуйте рядок. Додавання URL зображення до рядка не надає Jev зору — воно лише дає Jev токен URL, який можна хибно витлумачити. Отримайте файл і опишіть його у своїх воркерах, а потім надішліть опис.
Якщо поле потрібне лише для ваших журналів, не додавайте його до стану. Ідентифікатори запитань уже слугують ключами для об’єднання. Стан має містити докази, які вивчала б група експертів. Така дисципліна також допомагає не перевищити ліміт у 32k на стан і найдовше запитання, коли ланцюжок звернення великий.
Іменовані поля кращі за хитромудрі кодування. order_id, charges[].status і refund_policy зрозумілі і вам, і Jev. Один об’єднаний рядок із тими самими фактами допустимий, але гірший. Документований об’єкт звернення до підтримки слугує шаблоном: ticket, order, policy, а потім запитання, що посилаються на ці назви.
Вилучайте персональні дані, не потрібні для оцінювання. Jev не навчається на запитах клієнтів, але у ваших журналах ці дані все одно залишаються. Менший стан — це водночас спосіб виправити jaggedness і корисна звичка для захисту приватності.
Масив тексту — це послідовність, а не набір іменованих комірок. Якщо потрібні назви, використовуйте об’єкт.
Джерела