Перейти до вмісту

Як це працює ​

Як працює iRoof.top

Кожен експорт перетворюється на однакові нормалізовані повідомлення. Потім кожна дія персонажа відтворюється моделі як виклик інструмента, щоб вона вивчала, як людина взаємодіє, а не лише що пише, і відповідала так само.

Дії як виклики інструментів ​

Що зробив персонажВиклик інструмента в історії та в живих відповідях
текстова бульбашка, можливо відповідь або часткова цитатаsend_message {text, reply_to?, quote?}
стікерsend_sticker {sticker_id, reply_to?}
GIF з бібліотеки або URL з інструмента MCPsend_gif {gif_id | url, caption?}
фото, відео, голос, аудіо, файлsend_media {media_id, caption?}
переслана публікаціяforward_message {message_id}
реакціяreact {message_id, emoji}
(згадати старішу історію)search_history {query}

Кілька викликів в одному ході стають кількома бульбашками. Повідомлення з іншого боку стають компактними рядками, на які посилаються ідентифікатори:

text
#52108 19:08 ↩ відповідь на #52107 (ти: «лазанья бабусі 🍝»): Ти жодного разу не готував лазанью.
<sticker stk_156dbb381a>: кіт у ковпаку кухаря, що мішає каструлю
відреагував 😂 на #52107 («лазанья бабусі 🍝»)

Системний промпт ​

Частина
Ким бутиоцінювати знання і стиль персонажа та ніколи не знати більше, ніж знав би він
Профіль стилюз усього експорту: довжина повідомлень, великі літери, пунктуація, використання емодзі і стікерів, звички відповідей і реакцій, бульбашки за хід, дослівні зразки
Бібліотекастікери, GIF і медіа з тим, як їх використовували
Нотаткищо ви написали про людину

Промпт для чату статичний: без годинника і лічильників. Модель читає час із роздільників — день — і позначок HH:MM, а кожен запит є побайтово однаковим префіксом наступного, тож кеші промптів провайдерів продовжують працювати.

Довгі чати ​

 бюджет історії ───────────────────────────────────────────▶
 ┌──────────────────────┬────────────────────────────────────────┐
 │ пам'ять (≤ 350 сл.)  │ останні репліки, обрізано до 60 %      │
 └──────────────────────┴────────────────────────────────────────┘
   стосунки, факти,       точка обрізання довго лишається на місці,
   теми, жарти           тож закешований префікс теж

Коли відтворювана історія перевищує бюджет, наступна відповідь спочатку згортає найстаріші репліки (і попередню пам'ять) у короткий підсумок. Нічого не витрачається під час імпорту чи відкриття чату. Профіль стилю все одно береться з усього експорту, а search_history досягає кожного старого повідомлення. usage токенів (промпт, кеш, завершення) показується в { }.

Медіатека ​

Модель чату читає текст, тож стікер — це лише <sticker stk_…>, доки його не описано. Описати з ШІ надсилає зображення відсутніх елементів медіамоделі, яка має підтримувати зір.

  • GIF, відеостікери і відео надсилаються як 4 кадри по порядку, щоб модель бачила рух. Для цього потрібен ffmpeg (brew install ffmpeg, apt install ffmpeg, winget install ffmpeg); інакше використовується мініатюра.
  • Переробити описує елемент знову. Будь-який опис можна відредагувати вручну.
  • Описи належать експорту і служать усім його чатам.

Перегляньте самі в CLI: rooftop convert <експорт> --persona "Jonas Weber".

Поширюється за ліцензією MIT.