* feat(docs): mirror every docs/ page in all 65 locales Extends the documentation mirrors from the 22-page core set (#13940) to every Markdown page under docs/: 152 sources x 65 locales = 9,880 mirrors (6,208 new), language bars rewritten for the full locale list, state adopted so the blocking drift gate now covers all 152 pages. run-translation.mjs: an oversized block made only of table rows or list items (PROVIDER_REFERENCE.md 244-row table, FREE_TIERS.md 71-item list) is cut at item boundaries and rejoined without a blank line — the single 16-40 KB request outlived the backend socket for verbose scripts. 48 older mirrors whose tables had lost rows were retranslated with --force. * docs(i18n): refresh mirrors for the sources the base changed since the branch cut Section-level retranslation of the 29 docs (and README.md) whose source or mirrors moved on release/v3.8.51 during the run, then state adoption; the drift gate is green again on the merged tree.
63 KiB
🗜️ Prompt Compression Guide — OmniRoute (ಕನ್ನಡ)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
ಅರ್ಹವಾದ ಸಂದರ್ಭದ ಮೇಲೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ 15-95% ಉಳಿಸಿ. ತ್ವರಿತ ಅವಲೋಕನಕ್ಕಾಗಿ, README ಸಂಕೋಚನ ವಿಭಾಗ ನೋಡಿ.
ಅವಲೋಕನ
OmniRoute, ವಿನಂತಿಗಳು ಅಪ್ಸ್ಟ್ರೀಮ್ ಪೂರೈಕೆದಾರರನ್ನು ತಲುಪುವ ಮೊದಲು ಪೂರ್ವಭಾವಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮಾಡ್ಯುಲರ್ ಪ್ರಾಂಪ್ಟ್ ಸಂಕೋಚನ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸುತ್ತದೆ. ಅಂದರೆ ನಿಮ್ಮ ಟೋಕನ್ ಉಳಿತಾಯವು ಪಾರದರ್ಶಕವಾಗಿ ನಡೆಯುತ್ತದೆ — ನಿಮ್ಮ ಕಾರ್ಯಪ್ರವಾಹದಲ್ಲಿ ಯಾವುದೇ ಬದಲಾವಣೆಗಳ ಅಗತ್ಯವಿಲ್ಲ.
ಕ್ಲೈಂಟ್ ವಿನಂತಿ
→ ಸಂಕೋಚನ ತಂತ್ರದ ಆಯ್ಕೆಗಾರ
→ ಕಾಂಬೊ ಅತಿಕ್ರಮಣವೇ? → ಕಾಂಬೊ ಸೆಟ್ಟಿಂಗ್ ಬಳಸಿ
→ ಸ್ವಯಂ-ಪ್ರಚೋದನೆ ಮಿತಿಯೇ? → ಸ್ವಯಂ ಮೋಡ್ ಬಳಸಿ
→ ಡೀಫಾಲ್ಟ್ ಮೋಡ್? → ಜಾಗತಿಕ ಸೆಟ್ಟಿಂಗ್ ಬಳಸಿ
→ ಆಫ್? → ಸಂಕೋಚನವನ್ನು ಬಿಟ್ಟುಬಿಡಿ
→ ಆಯ್ಕೆಮಾಡಿದ ಸಂಕೋಚನ ಮೋಡ್
→ ಆಫ್: ಸಂಕೋಚನವಿಲ್ಲ
→ ಲೈಟ್: ಸುರಕ್ಷಿತ ಖಾಲಿ ಜಾಗ/ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆ (~15%)
→ ಸ್ಟ್ಯಾಂಡರ್ಡ್: ಟೆಲಿಗ್ರಾಫಿಕ್ ಶೈಲಿಯಲ್ಲಿ ಅನಗತ್ಯ ಪದಗಳ ತೆಗೆದುಹಾಕುವಿಕೆ (~30%)
→ ಅಗ್ರೆಸಿವ್: ಇತಿಹಾಸದ ವಯಸ್ಸೀಕರಣ + ಸಾರಾಂಶೀಕರಣ (~50%)
→ ಅಲ್ಟ್ರಾ: ಹ್ಯೂರಿಸ್ಟಿಕ್ ಕಡಿತ + ಕೋಡ್-ಬ್ಲಾಕ್ ತೆಳುವಾಗಿಸುವಿಕೆ (~75%)
→ RTK: ಕಮಾಂಡ್-ಅರಿವುಳ್ಳ ಟರ್ಮಿನಲ್/ಟೂಲ್-ಔಟ್ಪುಟ್ ಫಿಲ್ಟರಿಂಗ್ (60-90% ಅಪ್ಸ್ಟ್ರೀಮ್ ವ್ಯಾಪ್ತಿ)
→ ಸ್ಟ್ಯಾಕ್ಡ್: ಕ್ರಮಬದ್ಧ ಬಹು-ಎಂಜಿನ್ ಪೈಪ್ಲೈನ್, ಸಾಮಾನ್ಯವಾಗಿ RTK ನಂತರ Caveman (78-95% ಅರ್ಹ ವ್ಯಾಪ್ತಿ)
→ ಸಂಕೋಚಿತ ವಿನಂತಿ → ಪೂರೈಕೆದಾರ
ಸಂಕೋಚನ ಮೋಡ್ಗಳು
ಆಫ್
ಯಾವುದೇ ಸಂಕೋಚನವನ್ನು ಅನ್ವಯಿಸುವುದಿಲ್ಲ. ಎಲ್ಲಾ ಸಂದೇಶಗಳು ಬದಲಾವಣೆಯಿಲ್ಲದೆ ಹಾದುಹೋಗುತ್ತವೆ.
ಲೈಟ್ ಮೋಡ್ (~15% ಉಳಿತಾಯ, <1ms ವಿಳಂಬ)
ಅತ್ಯಂತ ಸುರಕ್ಷಿತ ಮೋಡ್ — ಯಾವುದೇ ಅರ್ಥಬದಲಾವಣೆ ಇಲ್ಲ, ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆ ಮಾತ್ರ:
| ತಂತ್ರ | ವಿವರಣೆ |
|---|---|
collapseWhitespace |
ಸತತ ಖಾಲಿ ಸಾಲುಗಳು ಮತ್ತು ಸಾಲಿನ ಕೊನೆಯ ಜಾಗಗಳನ್ನು ವಿಲೀನಗೊಳಿಸುತ್ತದೆ |
dedupSystemPrompt |
ನಕಲಿ ಸಿಸ್ಟಮ್ ಸಂದೇಶಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ |
compressToolResults |
ವಿವರವಾದ ಟೂಲ್/ಫಂಕ್ಷನ್ ಔಟ್ಪುಟ್ಗಳನ್ನು ಸಂಕೋಚಿಸುತ್ತದೆ |
removeRedundantContent |
ಪುನರಾವರ್ತಿತ ಸೂಚನೆಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ |
replaceImageUrls |
base64 ಚಿತ್ರ ಡೇಟಾ URIಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸುತ್ತದೆ |
ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ: ಸದಾ ಸಕ್ರಿಯ ಬಳಕೆ, ಸುರಕ್ಷತಾ-ನಿರ್ಣಾಯಕ ಕಾರ್ಯಪ್ರವಾಹಗಳು.
ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೋಡ್ (~30% ಉಳಿತಾಯ)
Caveman ನಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ — ಅರ್ಥವನ್ನು ಉಳಿಸಿಕೊಂಡು ಅನಗತ್ಯ ಪದಗಳು ಮತ್ತು ಅತಿವಿವರಣಾತ್ಮಕ ಪದಪ್ರಯೋಗವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ:
- ಅನಗತ್ಯ ಪದಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ("please", "I think", "basically", "actually")
- ಅತಿವಿವರಣಾತ್ಮಕ ಪದಗುಚ್ಛಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸುತ್ತದೆ ("in order to" → "to", "as a result of" → "because")
- ವಿನಯಪೂರ್ವಕ ಹಿಂಜರಿಕೆಯ ಪದಪ್ರಯೋಗವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ ("Would you mind...", "If you could possibly...")
- ಕೋಡಿಂಗ್ ಪ್ರಾಂಪ್ಟ್ಗಳಿಗಾಗಿ ಹೊಂದಿಸಲಾದ 30+ regex ನಿಯಮಗಳು
ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ: ದೈನಂದಿನ ಕೋಡಿಂಗ್ ಕಾರ್ಯಪ್ರವಾಹಗಳು, ವೆಚ್ಚ-ಪ್ರಜ್ಞೆಯುಳ್ಳ ತಂಡಗಳು.
ಅಗ್ರೆಸಿವ್ ಮೋಡ್ (~50% ಉಳಿತಾಯ)
ದೀರ್ಘ ಸೆಷನ್ಗಳಿಗಾಗಿ ಸ್ಮಾರ್ಟ್ ಇತಿಹಾಸ ನಿರ್ವಹಣೆ:
- ಸಂದೇಶ ವಯಸ್ಸೀಕರಣ — ಹಳೆಯ ಸಂದೇಶಗಳು ಕ್ರಮೇಣ ಹೆಚ್ಚು ಸಂಕೋಚಿತಗೊಳ್ಳುತ್ತವೆ
- ಟೂಲ್ ಫಲಿತಾಂಶದ ಸಾರಾಂಶೀಕರಣ — ದೀರ್ಘ ಟೂಲ್ ಔಟ್ಪುಟ್ಗಳನ್ನು ಸಾರಾಂಶಗಳಿಂದ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ
- ರಚನಾತ್ಮಕ ಸಮಗ್ರತಾ ರಕ್ಷಣೆಗಳು —
tool_use+tool_resultಜೋಡಿಗಳು ಸ್ಥಿರವಾಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ - ಸಂದರ್ಭ ವಿಂಡೋ ಅರಿವು — ಪ್ರತಿ-ಮಾದರಿಯ ಟೋಕನ್ ಮಿತಿಗಳನ್ನು ಗೌರವಿಸುತ್ತದೆ
ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ: ವಿಸ್ತೃತ ಡೀಬಗ್ಗಿಂಗ್ ಸೆಷನ್ಗಳು, ದೊಡ್ಡ ಕೋಡ್ಬೇಸ್ಗಳು.
ಅಲ್ಟ್ರಾ ಮೋಡ್ (~75% ಉಳಿತಾಯ)
ಟೋಕನ್-ನಿರ್ಣಾಯಕ ಸನ್ನಿವೇಶಗಳಿಗೆ ಗರಿಷ್ಠ ಸಂಕೋಚನ:
- ಹ್ಯೂರಿಸ್ಟಿಕ್ ಕಡಿತ — ಪ್ರಸ್ತುತತೆ ಮಿತಿಗಿಂತ ಕೆಳಗಿರುವ ಸಂದೇಶಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ
- ಕೋಡ್ ಬ್ಲಾಕ್ ತೆಳುವಾಗಿಸುವಿಕೆ — ಪುನರಾವರ್ತಿತ ಕೋಡ್ ಉದಾಹರಣೆಗಳನ್ನು ಸಂಕೋಚಿಸುತ್ತದೆ
- ಬೈನರಿ ಸರ್ಚ್ ಟ್ರಂಕೇಶನ್ — ಸಂದರ್ಭ ವಿಂಡೋಗಾಗಿ ಸೂಕ್ತವಾದ ಕತ್ತರಿಸುವ ಬಿಂದುವನ್ನು ಕಂಡುಹಿಡಿಯುತ್ತದೆ
- ಅಗ್ರೆಸಿವ್ ಮೋಡ್ನ ಎಲ್ಲಾ ವೈಶಿಷ್ಟ್ಯಗಳು ಒಳಗೊಂಡಿವೆ
ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ: ನೀವು ಪದೇಪದೇ ಸಂದರ್ಭ ಮಿತಿಗಳನ್ನು ತಲುಪುತ್ತಿರುವಾಗ.
RTK ಮೋಡ್ (60-90% ಅಪ್ಸ್ಟ್ರೀಮ್ ವ್ಯಾಪ್ತಿ)
ಕೋಡಿಂಗ್-ಏಜೆಂಟ್ ಸೆಷನ್ಗಳಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳುವ ವಿವರವಾದ ಟೂಲ್ ಔಟ್ಪುಟ್ಗಳಿಗಾಗಿ RTK ಮೋಡ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ:
git status,git diff,git log, ಟೆಸ್ಟ್ ರನ್ನರ್ಗಳು, TypeScript/Vite/Webpack ಬಿಲ್ಡ್ಗಳು, ESLint/Biome/Prettier, npm ಆಡಿಟ್ಗಳು/ಇನ್ಸ್ಟಾಲ್ಗಳು, Docker ಲಾಗ್ಗಳು, ಇನ್ಫ್ರಾ ಔಟ್ಪುಟ್ ಮತ್ತು ಸಾಮಾನ್ಯ ಶೆಲ್ ಔಟ್ಪುಟ್ನಂತಹ ಕಮಾಂಡ್/ಔಟ್ಪುಟ್ ವರ್ಗಗಳನ್ನು ಪತ್ತೆಮಾಡುತ್ತದೆopen-sse/services/compression/engines/rtk/filters/ನಿಂದ JSON ಫಿಲ್ಟರ್ ಪ್ಯಾಕ್ಗಳನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ- ಪ್ರಾಜೆಕ್ಟ್ ಅಥವಾ ಜಾಗತಿಕ
filters.tomlಫೈಲ್ಗಳಿಂದ RTK TOML schema v1 ಫಿಲ್ಟರ್ಗಳನ್ನು ಆಮದು ಮಾಡುತ್ತದೆ; ಇನ್ಲೈನ್-ಟೆಸ್ಟ್ ಮೌಲ್ಯೀಕರಣ ಮತ್ತು ಪ್ರಾಜೆಕ್ಟ್ ಫೈಲ್ಗಳಿಗೆ ವಿಶ್ವಾಸ-ಗೇಟಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ - ಇನ್ಲೈನ್ ಪರಿಶೀಲನಾ ಮಾದರಿಗಳೊಂದಿಗೆ 49 ಅಂತರ್ನಿರ್ಮಿತ ಫಿಲ್ಟರ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ
- ANSI ನಿಯಂತ್ರಣ ಅನುಕ್ರಮಗಳು, ಪ್ರಗತಿ ಪಟ್ಟಿಗಳು, ಪುನರಾವರ್ತಿತ ಸಾಲುಗಳು ಮತ್ತು ಕಾರ್ಯಸಾಧ್ಯವಲ್ಲದ ಅನಗತ್ಯ ಮಾಹಿತಿಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ
- ವೈಫಲ್ಯಗಳು, ದೋಷಗಳು, ಎಚ್ಚರಿಕೆಗಳು, ಬದಲಾದ ಫೈಲ್ಗಳು, ಸಾರಾಂಶಗಳು ಮತ್ತು ದೀರ್ಘ ಔಟ್ಪುಟ್ನ ಕೊನೆಯ ಭಾಗವನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ
- ವಿಶ್ವಾಸ-ಗೇಟಿಂಗ್ ಹೊಂದಿರುವ ಪ್ರಾಜೆಕ್ಟ್ ಫಿಲ್ಟರ್ಗಳು, ಜಾಗತಿಕ ಫಿಲ್ಟರ್ಗಳು ಮತ್ತು ಐಚ್ಛಿಕವಾಗಿ ಪರಿಷ್ಕರಿಸಿದ ಕಚ್ಚಾ-ಔಟ್ಪುಟ್ ಮರುಪಡೆಯುವಿಕೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ
ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ: ಶೆಲ್, ಬಿಲ್ಡ್, ಟೆಸ್ಟ್, git, grep ಮತ್ತು ಫೈಲ್-ಔಟ್ಪುಟ್ ಪ್ರತಿಲಿಪಿಗಳನ್ನು ಹೊಂದಿರುವ ಏಜೆಂಟ್ ಸೆಷನ್ಗಳು.
ಸ್ಟ್ಯಾಕ್ಡ್ ಮೋಡ್ (78-95% ಅರ್ಹ ವ್ಯಾಪ್ತಿ)
ಸ್ಟ್ಯಾಕ್ಡ್ ಮೋಡ್ ಹಲವು ಸಂಕೋಚನ ಎಂಜಿನ್ಗಳನ್ನು ನಿರ್ಧಾರಾತ್ಮಕ ಕ್ರಮದಲ್ಲಿ ಚಲಾಯಿಸುತ್ತದೆ. ಡೀಫಾಲ್ಟ್ ಪೈಪ್ಲೈನ್ ಹೀಗಿದೆ:
RTK -> Caveman
ಈ ಕ್ರಮವು ಮೊದಲು ಟರ್ಮಿನಲ್/ಟೂಲ್ ಔಟ್ಪುಟ್ ಅನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿರಿಸಿ, ನಂತರ ಉಳಿದಿರುವ ಸಹಜ-ಭಾಷೆಯ ಪ್ರಾಂಪ್ಟ್ಗೆ Caveman ಅರ್ಥಸಂಬಂಧಿತ ಸಂಕೋಚನವನ್ನು ಅನ್ವಯಿಸುತ್ತದೆ. ಸ್ಟ್ಯಾಕ್ಡ್ ಪೈಪ್ಲೈನ್ಗಳನ್ನು ಜಾಗತಿಕವಾಗಿ ಅಥವಾ ರೂಟಿಂಗ್ ಕಾಂಬೊಗಳಿಗೆ ನಿಯೋಜಿಸಲಾದ ಸಂಕೋಚನ ಕಾಂಬೊಗಳ ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.
ಇದಕ್ಕೆ ಅತ್ಯುತ್ತಮ: ದೊಡ್ಡ ಟೂಲ್ ಲಾಗ್ಗಳ ಜೊತೆಗೆ ಮಾನವ ಸೂಚನೆಗಳು ಅಥವಾ ಸಹಾಯಕ ಸಾರಾಂಶಗಳನ್ನು ಹೊಂದಿರುವ ಮಿಶ್ರ ಸಂದರ್ಭ.
ಅಪ್ಸ್ಟ್ರೀಮ್ ಉಳಿತಾಯದ ಲೆಕ್ಕಾಚಾರ
OmniRoute ಎರಡು ಮೂಲಗಳಿಂದ ದೊರೆಯುವ ಸಂಕುಚನ ಉಳಿತಾಯವನ್ನು ದಾಖಲಿಸುತ್ತದೆ: ಅಪ್ಸ್ಟ್ರೀಮ್ ಯೋಜನೆಯ ಬೆಂಚ್ಮಾರ್ಕ್ಗಳು ಮತ್ತು OmniRouteನ ಸ್ವಂತ ಎಂಜಿನ್ ಸಂಯೋಜನೆ.
| ಮೂಲ | ಇಲ್ಲಿ ಬಳಸಲಾದ ಅಪ್ಸ್ಟ್ರೀಮ್ README ಸಂಖ್ಯೆ |
|---|---|
| Caveman | ~75% ಕಡಿಮೆ ಔಟ್ಪುಟ್ ಟೋಕನ್ಗಳು, 65% ಬೆಂಚ್ಮಾರ್ಕ್ ಸರಾಸರಿ ಔಟ್ಪುಟ್ ಉಳಿತಾಯ, 22-87% ವ್ಯಾಪ್ತಿ ಮತ್ತು ~46% ಇನ್ಪುಟ್ ಸಂಕುಚನ ಸಾಧನ |
| RTK | 60-90% ಕಮಾಂಡ್-ಔಟ್ಪುಟ್ ಉಳಿತಾಯ; ಮಾದರಿ ಸೆಷನ್ನಲ್ಲಿ ~118,000 -> ~23,900 ಟೋಕನ್ಗಳು, ಅಥವಾ 79.7% ಉಳಿತಾಯ (~80%) |
ಪರಸ್ಪರ ವ್ಯಾಪಿಸುವ ಟೂಲ್/ಕಾಂಟೆಕ್ಸ್ಟ್ ಪೇಲೋಡ್ಗಳಿಗೆ, ಡೀಫಾಲ್ಟ್ OmniRoute ಕಾಂಬೊ ಎಂಜಿನ್ಗಳನ್ನು ಈ ರೀತಿ ಜೋಡಿಸುತ್ತದೆ:
RTK -> Caveman
ಸಂಯೋಜಿತ ಉಳಿತಾಯವು ಗುಣಾತ್ಮಕವಾಗಿರುತ್ತದೆ, ಸಂಕಲನಾತ್ಮಕವಾಗಿರುವುದಿಲ್ಲ:
ಸಂಯೋಜಿತ = 1 - (1 - RTK ಉಳಿತಾಯ) * (1 - Caveman ಇನ್ಪುಟ್ ಉಳಿತಾಯ)
ಸರಾಸರಿ = 1 - (1 - 0.80) * (1 - 0.46) = 89.2%
ವ್ಯಾಪ್ತಿ = 1 - (1 - 0.60..0.90) * (1 - 0.46) = 78.4-94.6%
RTK ಮತ್ತು Caveman ಎರಡೂ ಒಂದೇ ಇನ್ಪುಟ್/ಕಾಂಟೆಕ್ಸ್ಟ್ ಪೇಲೋಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಾಧ್ಯವಾದಾಗ ಆ 78-95% ಸಂಖ್ಯೆ ಅನ್ವಯಿಸುತ್ತದೆ.
Caveman ಪ್ರತಿಕ್ರಿಯೆಯ ಔಟ್ಪುಟ್ ಮೋಡ್ ಪ್ರತ್ಯೇಕವಾಗಿದೆ: ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ, Cavemanನ ಸ್ವಂತ ಔಟ್ಪುಟ್ ಉಳಿತಾಯವನ್ನು (65%
ಸರಾಸರಿ, ~75% ಮುಖ್ಯಾಂಶ, 22-87% ವ್ಯಾಪ್ತಿ) ಬಳಸಿ. ಒಟ್ಟು ಬಿಲ್ಲಿಂಗ್ ಉಳಿತಾಯವು ನಿಮ್ಮ ಪ್ರಾಂಪ್ಟ್/ಔಟ್ಪುಟ್ ಮಿಶ್ರಣವನ್ನು ಅವಲಂಬಿಸಿದೆ.
"ಅರ್ಹ" ಎಂಬುದರ ನಿಜವಾದ ಅರ್ಥವೇನು
15-95% ಮುಖ್ಯಾಂಶ ವ್ಯಾಪ್ತಿ ನೈಜವಾದುದು, ಆದರೆ ಅದು ಪುನರಾವರ್ತಿತ ಅಥವಾ ಅತಿವಿವರವಾದ ವಿಷಯಕ್ಕೆ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ — ಪುನರಾವರ್ತಿತ
ದೋಷ ಸಾಲುಗಳು, ಒಂದೇ ಎಚ್ಚರಿಕೆಯನ್ನು ಪದೇಪದೇ ತೋರಿಸುವ ಬಿಲ್ಡ್ ಲಾಗ್, ಅಗತ್ಯಕ್ಕಿಂತ ದೊಡ್ಡದಾದ grep/ಫೈಲ್-ರೀಡ್ ಡಂಪ್. ಪ್ರತಿಯೊಂದು ವಿನಂತಿಯೂ
ಅಷ್ಟು ಉಳಿತಾಯ ಮಾಡುತ್ತದೆ ಎಂಬುದು ಇದರ ಅರ್ಥ ಅಲ್ಲ.
ಪ್ರಾಯೋಗಿಕವಾಗಿ ಪರಿಶೀಲಿಸಲಾಗಿದೆ (tests/unit/compression/stacked-compression-tool-result-savings.test.ts): 300 ಒಂದೇ ರೀತಿಯ
ದೋಷ ಸಾಲುಗಳನ್ನು ಹೊಂದಿರುವ Anthropic-ಆಕಾರದ tool_result ಬ್ಲಾಕ್ ಮೇಲೆ ನಡೆಸಿದ stacked (RTK + Caveman) ರನ್
95.93% ಟೋಕನ್ ಉಳಿತಾಯ / 96.26% ಅಕ್ಷರ ಉಳಿತಾಯ ನೀಡಿತು — ಜಾಹೀರಾತು ಮಾಡಲಾದ ವ್ಯಾಪ್ತಿಯೊಳಗೆ ನಿಖರವಾಗಿ ಬರುತ್ತದೆ.
ಆದರೆ ಸಾಮಾನ್ಯವಾದ, ಪುನರಾವರ್ತಿತವಲ್ಲದ ಟೂಲ್ ಔಟ್ಪುಟ್ (ಸ್ವಚ್ಛವಾದ grep ಹೊಂದಾಣಿಕೆ ಪಟ್ಟಿ,
ಚಿಕ್ಕ ಫೈಲ್ ರೀಡ್, ಸಾಮಾನ್ಯ ಸಂಭಾಷಣಾ ಪಠ್ಯ) ಮೇಲೆ ಅದೇ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಚಲಾಯಿಸಿದಾಗ ಸರಿಯಾಗಿಯೇ ಬಹುತೇಕ ಶೂನ್ಯ ಉಳಿತಾಯ ದೊರೆಯುತ್ತದೆ, ಏಕೆಂದರೆ
ತೆಗೆದುಹಾಕಲು ಪುನರಾವರ್ತಿತವಾದದ್ದು ಏನೂ ಇರುವುದಿಲ್ಲ ಮತ್ತು ಕೋಡ್ ಬ್ಲಾಕ್ಗಳು, URLಗಳು, ಶೀರ್ಷಿಕೆಗಳು, ಆವೃತ್ತಿಗಳು ಅಥವಾ ALL-CAPS ಸ್ಥಿರಾಂಕ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು
ತೆಗೆದುಹಾಕುವ ಅಥವಾ ಬದಲಾಯಿಸುವ ಮರುಬರಹವನ್ನು ಕಳುಹಿಸಲು validateCompression() (validation.ts) ನಿರಾಕರಿಸುತ್ತದೆ.
ಇದು ನಿರೀಕ್ಷಿತವಾದ ಸುರಕ್ಷಿತ ನಡವಳಿಕೆಯೇ ಹೊರತು ದೋಷವಲ್ಲ: ಬಹುತೇಕ ಸ್ವಚ್ಛ ಫೈಲ್ಗಳನ್ನು ಓದುವ/grep ಮಾಡುವ ಕೋಡಿಂಗ್ ಸೆಷನ್ನಲ್ಲಿ ಸಂಕುಚನವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೂ ಒಟ್ಟು ಉಳಿತಾಯ ಸಾಧಾರಣವಾಗಿರುತ್ತದೆ, ಆದರೆ ವಿಫಲಗೊಳ್ಳುವ ಲೂಪ್ ಅಥವಾ ಅತಿಯಾಗಿ ಔಟ್ಪುಟ್ ನೀಡುವ ಲಿಂಟರ್ ಎದುರಾಗುವ ಸೆಷನ್ನಲ್ಲಿ ಆ ಟ್ರಾಫಿಕ್ ಮೇಲೆ ಪೂರ್ಣ 78-95% ವ್ಯಾಪ್ತಿಯ ಉಳಿತಾಯ ದೊರೆಯುತ್ತದೆ. ಒಂದೇ ಸೆಷನ್ನ ಕಡಿಮೆ ಒಟ್ಟು ಉಳಿತಾಯ ಶೇಕಡಾವಾರು ಪ್ರಮಾಣವನ್ನು ಸಂಕುಚನವು ತಪ್ಪಾಗಿ ಕಾನ್ಫಿಗರ್ ಆಗಿದೆ ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷಿಯಾಗಿ ಬಳಸಬೇಡಿ — ಮೊದಲು ಅಂತರ್ಗತ ಟೂಲ್ ಔಟ್ಪುಟ್ ನಿಜವಾಗಿಯೂ ಪುನರಾವರ್ತಿತವಾಗಿತ್ತೇ ಎಂಬುದನ್ನು ಪರಿಶೀಲಿಸಿ.
ಟೋಕನ್ ಉಳಿತಾಯದ ದೃಶ್ಯೀಕರಣ
ಸಂಕುಚನವಿಲ್ಲದೆ: LLMಗೆ 47K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ
Lite ಜೊತೆಗೆ: 40K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ (15% ಉಳಿತಾಯ — ಸುರಕ್ಷಿತ, ಯಾವಾಗಲೂ ಸಕ್ರಿಯ)
Standard ಜೊತೆಗೆ: 33K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ (30% ಉಳಿತಾಯ — caveman-speak ನಿಯಮಗಳು)
Aggressive ಜೊತೆಗೆ: 24K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ (50% ಉಳಿತಾಯ — ಹಳತಾಗಿಸುವಿಕೆ + ಸಾರಾಂಶೀಕರಣ)
Ultra ಜೊತೆಗೆ: 12K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ (75% ಉಳಿತಾಯ — ಹ್ಯೂರಿಸ್ಟಿಕ್ ಪ್ರೂನಿಂಗ್)
RTK ಜೊತೆಗೆ: 19K-5K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ (ಕಮಾಂಡ್/ಟೂಲ್ ಔಟ್ಪುಟ್ನಲ್ಲಿ 60-90% ಉಳಿತಾಯ)
Stacked ಜೊತೆಗೆ: 10K-2.5K ಟೋಕನ್ಗಳನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ (ಅರ್ಹವಾದ RTK+Caveman ವ್ಯಾಪ್ತಿಯಲ್ಲಿ 78-95% ಉಳಿತಾಯ)
ಸಂರಚನೆ
ಡ್ಯಾಶ್ಬೋರ್ಡ್
Dashboard → Context & Cache ಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡಿ:
- Caveman — ಮೋಡ್ ಆಯ್ಕೆ, ಭಾಷಾ ಪ್ಯಾಕ್ಗಳು, ಪೂರ್ವವೀಕ್ಷಣೆ ಮತ್ತು ಜಾಗತಿಕ ಡೀಫಾಲ್ಟ್ಗಳು
- RTK — ಕಮಾಂಡ್-ಫಿಲ್ಟರ್ ಪೂರ್ವವೀಕ್ಷಣೆ, RTK ಸುರಕ್ಷತಾ ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಫಿಲ್ಟರ್ ಕ್ಯಾಟಲಾಗ್
- Compression Combos — ರೂಟಿಂಗ್ ಕಾಂಬೊಗಳಿಗೆ ನಿಯೋಜಿಸಲಾದ ಹೆಸರಿಸಲಾದ ಎಂಜಿನ್ ಪೈಪ್ಲೈನ್ಗಳು
- Auto-Trigger Threshold — ಟೋಕನ್ ಎಣಿಕೆಯು ಮಿತಿಯನ್ನು ಮೀರಿದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂಕುಚನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ
ಪ್ರತಿ-ಕಾಂಬೊ ಅತಿಕ್ರಮಣ
Dashboard → Context & Cache → Compression Combos ನಲ್ಲಿ, ರೂಟಿಂಗ್ ಕಾಂಬೊಗೆ ಸಂಕುಚನ ಕಾಂಬೊವನ್ನು ನಿಯೋಜಿಸಿ:
ಕಾಂಬೊ: "free-tier-fallback"
ಸಂಕುಚನ ಕಾಂಬೊ: "coding-agent-stack"
ಪೈಪ್ಲೈನ್: RTK -> Caveman
ಗುರಿಗಳು:
1. if/kimi-k2.7-code
2. if/qwen3.8-max-preview
ಪಾವತಿಸಿದ ಚಂದಾದಾರಿಕೆಗಳಲ್ಲಿ ಲೈಟ್ ಮೋಡ್ ಅನ್ನು ಉಳಿಸಿಕೊಂಡೇ, ಉಚಿತ/ಕೋಡಿಂಗ್ ಪೂರೈಕೆದಾರರಲ್ಲಿ ಸ್ಟ್ಯಾಕ್ ಮಾಡಿದ ಸಂಕುಚನವನ್ನು ಬಳಸಲು ಇದು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
ಈ "ಪ್ರತಿ-ಕಾಂಬೊ ಅತಿಕ್ರಮಣ" ನಿಯೋಜನೆಯು ರೂಟಿಂಗ್-ಕಾಂಬೊ ಸಂಕುಚನ ಮೋಡ್ ಅತಿಕ್ರಮಣದಿಂದ (Default/Off/Lite/Standard/Aggressive/Ultra) ಭಿನ್ನವಾದ ನಿಯಂತ್ರಣವಾಗಿದೆ — ಆ ಅತಿಕ್ರಮಣವು ಹೆಸರಿಸಲಾದ ಸಂಕುಚನ-ಕಾಂಬೊ ಪೈಪ್ಲೈನ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದಿಲ್ಲ; ಅದು resolveCompressionPlan ಪರಿಶೀಲಿಸುವ compressionMode ಕ್ಷೇತ್ರವನ್ನು ಮಾತ್ರ ಹೊಂದಿಸುತ್ತದೆ. ಇದನ್ನು ಕಾಂಬೊ ಕಾರ್ಡ್ನಲ್ಲಿ (Dashboard → Combos) ಅಥವಾ #6760 ರಿಂದ, ಮೇಲೆ ದಾಖಲಿಸಿದ ಪೈಪ್ಲೈನ್-ನಿಯೋಜನೆ ಚೆಕ್ಬಾಕ್ಸ್ನ ಪಕ್ಕದಲ್ಲೇ ಇರುವ Dashboard → Context & Cache → Compression Combos ನ "Assign to routing" ಪಟ್ಟಿಯಲ್ಲಿ ಪ್ರತಿ ರೂಟಿಂಗ್ ಕಾಂಬೊಗೆ ಹೊಂದಿಸಬಹುದು. ಎರಡೂ ಇಂಟರ್ಫೇಸ್ಗಳು ಒಂದೇ PUT /api/combos/{id} ಎಂಡ್ಪಾಯಿಂಟ್ ಮೂಲಕ ಸ್ಥಿರವಾಗಿ ಉಳಿಯುತ್ತವೆ.
ಪ್ರತಿ-ವಿನಂತಿ ಅತಿಕ್ರಮಣ
ಒಂದೇ ವಿನಂತಿಗೆ ಸಂಕುಚನ ಯೋಜನೆಯನ್ನು ಅತಿಕ್ರಮಿಸಲು x-omniroute-compression ವಿನಂತಿ ಹೆಡರ್ ಅನ್ನು ಕಳುಹಿಸಿ. ಇದು ಅತ್ಯುನ್ನತ ಆದ್ಯತೆಯನ್ನು ಹೊಂದಿದೆ — ಇದು ರೂಟಿಂಗ್-ಕಾಂಬೊ ಅತಿಕ್ರಮಣ, ಸಕ್ರಿಯ ಪ್ರೊಫೈಲ್, ಸ್ವಯಂ-ಪ್ರಚೋದನೆ ಮತ್ತು ಪ್ಯಾನೆಲ್ನ Default ಅನ್ನು ಮೀರಿಸುತ್ತದೆ. ಅಜ್ಞಾತ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಲಾಗುತ್ತದೆ (ವಿನಂತಿಯನ್ನು ಎಂದಿಗೂ ತಿರಸ್ಕರಿಸಲಾಗುವುದಿಲ್ಲ) ಮತ್ತು ಜಾಗತಿಕ ಮಾಸ್ಟರ್ ಸ್ವಿಚ್ ಈಗಲೂ ಎಲ್ಲವನ್ನೂ ನಿಯಂತ್ರಿಸುತ್ತದೆ: ಸಂಕುಚನವನ್ನು ಜಾಗತಿಕವಾಗಿ ಆಫ್ ಮಾಡಿರುವಾಗ, ಹೆಡರ್ ಅದನ್ನು ಆನ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮೌಲ್ಯಗಳು:
| ಮೌಲ್ಯ | ಪರಿಣಾಮ |
|---|---|
off |
ಈ ವಿನಂತಿಗೆ ಸಂಕುಚನವಿಲ್ಲ. |
default |
ಪ್ಯಾನೆಲ್ನಿಂದ ನಿರ್ಧರಿಸಲಾದ Default ಪ್ರೊಫೈಲ್ (ಸಕ್ರಿಯ ಪ್ರೊಫೈಲ್ ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ). |
engine:<id> |
ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಒಂದೇ ಎಂಜಿನ್, ಉದಾ. engine:rtk. |
<combo> |
ಹೆಸರಿಸಲಾದ ಕಾಂಬೊ; ಮೊದಲು ಹೆಸರಿನ ಮೂಲಕ (ಅಕ್ಷರಗಳ ಗಾತ್ರವನ್ನು ಪರಿಗಣಿಸದೆ), ನಂತರ id ಮೂಲಕ ಹೊಂದಿಸಲಾಗುತ್ತದೆ. |
ಅನ್ವಯಿಸಲಾದ ಯೋಜನೆಯನ್ನು X-OmniRoute-Compression: <mode>; source=<source> ಪ್ರತಿಕ್ರಿಯೆ ಹೆಡರ್ನಲ್ಲಿ ಮರಳಿ ಪ್ರತಿಧ್ವನಿಸಲಾಗುತ್ತದೆ; ಇಲ್ಲಿ <source> ಎಂಬುದು request-header, routing-override, active-profile, auto-trigger, default, ಅಥವಾ off ಗಳಲ್ಲಿ ಒಂದಾಗಿರುತ್ತದೆ.
API
# ಸಂಕುಚನ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಪಡೆಯಿರಿ
curl http://localhost:20128/api/settings/compression
# ಸಂಕುಚನ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನವೀಕರಿಸಿ
curl -X PUT http://localhost:20128/api/settings/compression \
-H "Content-Type: application/json" \
-d '{"defaultMode":"stacked","autoTriggerMode":"stacked","autoTriggerTokens":32000}'
# ನಿರ್ದಿಷ್ಟ RTK/ಸ್ಟ್ಯಾಕ್ ಮಾಡಿದ ಪೇಲೋಡ್ ಅನ್ನು ಪೂರ್ವವೀಕ್ಷಿಸಿ
curl -X POST http://localhost:20128/api/compression/preview \
-H "Content-Type: application/json" \
-d '{"mode":"rtk","messages":[{"role":"tool","content":"npm test output here"}]}'
# RTK ಫಿಲ್ಟರ್ ಪ್ಯಾಕ್ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಿ
curl http://localhost:20128/api/context/rtk/filters
# ಐಚ್ಛಿಕ ಕಮಾಂಡ್ ಮೆಟಾಡೇಟಾದೊಂದಿಗೆ RTK ಅನ್ನು ನೇರವಾಗಿ ಪರೀಕ್ಷಿಸಿ
curl -X POST http://localhost:20128/api/context/rtk/test \
-H "Content-Type: application/json" \
-d '{"command":"npm test","text":"FAIL tests/example.test.ts\nError: boom"}'
ಏನನ್ನು ಸಂರಕ್ಷಿಸಲಾಗುತ್ತದೆ
ಸಂಕುಚನ ಎಂಜಿನ್ ಯಾವಾಗಲೂ ಇವುಗಳನ್ನು ಸಂರಕ್ಷಿಸುತ್ತದೆ:
- ✅ ಕೋಡ್ ಬ್ಲಾಕ್ಗಳು (ಫೆನ್ಸ್ ಮಾಡಿದ ಮತ್ತು ಇನ್ಲೈನ್)
- ✅ URLಗಳು ಮತ್ತು ಫೈಲ್ ಪಥಗಳು
- ✅ JSON ರಚನೆಗಳು ಮತ್ತು ರಚನಾತ್ಮಕ ಡೇಟಾ
- ✅ ಐಡೆಂಟಿಫೈಯರ್ಗಳು ಮತ್ತು ಸಂರಕ್ಷಿತ ತಾಂತ್ರಿಕ ಟೋಕನ್ಗಳು
- ✅ ಗಣಿತೀಯ ಅಭಿವ್ಯಕ್ತಿಗಳು
- ✅ ಟೂಲ್/ಫಂಕ್ಷನ್ ಕಾಲ್ ವ್ಯಾಖ್ಯಾನಗಳು
- ✅ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ಗಳು (ಲೈಟ್ ಮೋಡ್ನಲ್ಲಿ)
RTK ಕಚ್ಚಾ-ಔಟ್ಪುಟ್ ಮರುಪಡೆಯುವಿಕೆಯು ಯಾವುದನ್ನಾದರೂ ಸಂಗ್ರಹಿಸುವ ಮೊದಲು ಸಾಮಾನ್ಯ API ಕೀಗಳು, ಬೇರರ್ ಟೋಕನ್ಗಳು, Slack ಟೋಕನ್ಗಳು, AWS ಆಕ್ಸೆಸ್ ಕೀಗಳು, ಪಾಸ್ವರ್ಡ್ಗಳು, ಟೋಕನ್ಗಳು ಮತ್ತು ಸೀಕ್ರೆಟ್ಗಳನ್ನು ಮರೆಮಾಡುತ್ತದೆ.
ಸಂಕುಚನ ಅಂಕಿಅಂಶಗಳು
ಪ್ರತಿ ಸಂಕುಚಿತ ವಿನಂತಿಯು ಸರ್ವರ್ ಲಾಗ್ಗಳಲ್ಲಿ ಅಂಕಿಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ:
{
"originalTokens": 47200,
"compressedTokens": 40120,
"savingsPercent": 15.0,
"techniquesUsed": ["collapseWhitespace", "dedupSystemPrompt"],
"mode": "lite",
"engine": "caveman",
"compressionComboId": "coding-agent-stack",
"durationMs": 0.8,
"rtkRawOutputPointers": []
}
ಹಂತಗಳ ಮಾರ್ಗಸೂಚಿ
| ಹಂತ | ಮೋಡ್ಗಳು | ಸ್ಥಿತಿ |
|---|---|---|
| ಹಂತ 1 | ಆಫ್, ಲೈಟ್ | ✅ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ |
| ಹಂತ 2 | ಸ್ಟ್ಯಾಂಡರ್ಡ್, ಅಗ್ರೆಸಿವ್, ಅಲ್ಟ್ರಾ | ✅ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ |
| ಹಂತ 3 | RTK, ಸ್ಟ್ಯಾಕ್ಡ್, ಸಂಕುಚನ ಸಂಯೋಜನೆಗಳು | ✅ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ |
| ಹಂತ 4 | ಔಟ್ಪುಟ್ ಶೈಲಿಗಳು, SLM-ಶ್ರೇಣಿಯ ಅಲ್ಟ್ರಾ, ಮೌಲ್ಯಮಾಪನ ವ್ಯವಸ್ಥೆ | ✅ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ |
| ಹಂತ 4C | ಅಡಾಪ್ಟಿವ್ ಕಾಂಟೆಕ್ಸ್ಟ್-ಬಜೆಟ್ ("ಡಯಲ್") — ಕಂಪ್ಯೂಟ್ ಎಂಜಿನ್ + API (PUT /api/settings/compressionನಲ್ಲಿ contextBudget) + ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಮೋಡ್/ನೀತಿ ನಿಯಂತ್ರಣಗಳು |
✅ ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ |
ಕೃತಜ್ಞತೆಗಳು
ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೋಡ್ನ ಸಂಕುಚನ ನಿಯಮಗಳು JuliusBrussee ಅವರ Caveman (⭐ 51K+) ಯೋಜನೆಯಿಂದ ಪ್ರೇರಿತವಾಗಿವೆ — ಇದು ವೈರಲ್ ಆದ "ಹೆಚ್ಚು ಟೋಕನ್ ಏಕೆ ಬಳಸಬೇಕು, ಕಡಿಮೆ ಟೋಕನ್ಗಳಿಂದಲೇ ಕೆಲಸ ಆಗುವಾಗ" ಎಂಬ ಯೋಜನೆ. Caveman ~75% ಕಡಿಮೆ ಔಟ್ಪುಟ್ ಟೋಕನ್ಗಳು, ಬೆಂಚ್ಮಾರ್ಕ್ನಲ್ಲಿ ಸರಾಸರಿ 65% ಔಟ್ಪುಟ್ ಉಳಿತಾಯ, 22-87% ಔಟ್ಪುಟ್ ವ್ಯಾಪ್ತಿ ಮತ್ತು ~46% ಇನ್ಪುಟ್-ಸಂಕುಚನ ಟೂಲ್ ಅನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ.
RTK ಮೋಡ್ RTK AI ಅವರ RTK - Rust Token Killer ಯೋಜನೆಯಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ — ಇದು ಟರ್ಮಿನಲ್, ಬಿಲ್ಡ್, ಟೆಸ್ಟ್, git ಮತ್ತು ಟೂಲ್-ಔಟ್ಪುಟ್ ಫಿಲ್ಟರಿಂಗ್ಗಾಗಿ ರೂಪಿಸಲಾದ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕಮಾಂಡ್-ಔಟ್ಪುಟ್ ಸಂಕುಚನ ಯೋಜನೆಯಾಗಿದೆ. RTK 60-90% ಉಳಿತಾಯವನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅದರ README ಮಾದರಿ ಸೆಷನ್ನಲ್ಲಿ ~80% ಉಳಿತಾಯವನ್ನು ತೋರಿಸಲಾಗಿದೆ.
ಸುಧಾರಿತ ಸಂಕುಚನ ವ್ಯವಸ್ಥೆಗಳು
7 ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಮೋಡ್ಗಳ ಜೊತೆಗೆ, OmniRoute ಸಂದರ್ಭವನ್ನು ಆಧರಿಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಹಲವಾರು ಸುಧಾರಿತ ಸಂಕುಚನ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.
ಕ್ಯಾಶ್-ಅವೇರ್ ಸಂಕುಚನ
ಕೆಲವು ಪೂರೈಕೆದಾರರು (ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶಿಂಗ್ ಹೊಂದಿರುವ Anthropicನಂತಹವರು) ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತಾರೆ, ಇದು ವೆಚ್ಚ ಮತ್ತು ವಿಳಂಬವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಪ್ರಾಂಪ್ಟ್ನ ಕೆಲವು ಭಾಗಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಕ್ಯಾಶಿಂಗ್ ಸಕ್ರಿಯಗೊಂಡಿರುವಾಗ, ಅಗ್ರೆಸಿವ್ ಸಂಕುಚನವು ವಾಸ್ತವವಾಗಿ ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಹಾನಿ ಮಾಡಬಹುದು, ಏಕೆಂದರೆ ಅದು ಕ್ಯಾಶ್ ಮಾಡಿದ ಟೋಕನ್ಗಳನ್ನು ಬದಲಾಯಿಸಿ, ಕ್ಯಾಶ್ ಅನ್ನು ಅಮಾನ್ಯಗೊಳಿಸುತ್ತದೆ.
cachingAware.ts ಮಾಡ್ಯೂಲ್ ಕ್ಯಾಶಿಂಗ್ ಸಂದರ್ಭವನ್ನು ಪತ್ತೆಹಚ್ಚಿ ಮತ್ತು ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ
ಸಂಕುಚನ ತಂತ್ರವನ್ನು ಹೊಂದಿಸುವ ಮೂಲಕ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
- ಕ್ಯಾಶಿಂಗ್ ಸಂದರ್ಭವನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು — ವಿನಂತಿಯ ಬಾಡಿಯಲ್ಲಿ
cache_controlಮಾರ್ಕರ್ಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡುತ್ತದೆ - ಕ್ಯಾಶಿಂಗ್ ಪೂರೈಕೆದಾರರನ್ನು ಗುರುತಿಸುವುದು — ಗುರಿ ಪೂರೈಕೆದಾರರು ಕ್ಯಾಶಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತಾರೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ
- ತಂತ್ರವನ್ನು ಹೊಂದಿಸುವುದು — ಕ್ಯಾಶಿಂಗ್ ಪೂರೈಕೆದಾರರಿಗಾಗಿ
aggressive/ultraಅನ್ನುstandardಗೆ ಡೌನ್ಗ್ರೇಡ್ ಮಾಡುತ್ತದೆ - ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡುವುದು — ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುವುದಿಲ್ಲ
- ನಿರ್ಣಾಯಕ ರೂಪಾಂತರಗಳನ್ನು ಬಳಸುವುದು — ಸ್ಥಿರವಾದ ಔಟ್ಪುಟ್ ಉತ್ಪಾದಿಸುವ ರೂಪಾಂತರಗಳನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತದೆ
ಕೋಡ್ ಉದಾಹರಣೆ
import {
detectCachingContext,
getCacheAwareStrategy,
} from "@omniroute/open-sse/services/compression/cachingAware";
const body = {
model: "anthropic/claude-sonnet-4.5",
messages: [{ role: "user", content: "Hello" }],
cache_control: { type: "ephemeral" }, // ← ಕ್ಯಾಶ್ ಮಾರ್ಕರ್
};
const ctx = detectCachingContext(body, { provider: "anthropic" });
// → { hasCacheControl: true, provider: "anthropic", isCachingProvider: true }
const strategy = getCacheAwareStrategy("aggressive", ctx);
// → { strategy: "standard", skipSystemPrompt: true, deterministicOnly: true }
ಯಾವಾಗ ಬಳಸಬೇಕು
ಕ್ಯಾಶ್-ಅವೇರ್ ಸಂಕುಚನವು ಯಾವಾಗಲೂ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ — ಯಾವುದೇ ಕಾನ್ಫಿಗರೇಶನ್ ಅಗತ್ಯವಿಲ್ಲ. ಇದು ಈ ಸಂದರ್ಭಗಳಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ:
- ವಿನಂತಿಯು
cache_controlಮಾರ್ಕರ್ಗಳನ್ನು ಹೊಂದಿರುವಾಗ - ಗುರಿ ಪೂರೈಕೆದಾರರು ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸಿದಾಗ (Anthropic, OpenAI, ಇತ್ಯಾದಿ)
ಪ್ರೋಗ್ರೆಸಿವ್ ಏಜಿಂಗ್
ದೀರ್ಘ ಸಂಭಾಷಣೆಗಳು ಅನೇಕ ಸಂದೇಶ ಸರದಿಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ, ಆದರೆ ಹಳೆಯ ಸರದಿಗಳು ಕಡಿಮೆ
ಪ್ರಸ್ತುತವಾಗುತ್ತವೆ. progressiveAging.ts ಮಾಡ್ಯೂಲ್ ಸರದಿಯ ಅಂತರಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಸಂದೇಶಗಳ ವಿವರವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ:
- ಇತ್ತೀಚಿನ ಸರದಿಗಳು (0-3): ಯಥಾವತ್ತಾಗಿ ಉಳಿಸಲಾಗುತ್ತದೆ (ಸಂಪೂರ್ಣ ವಿವರ)
- ಮಧ್ಯಮ ಸರದಿಗಳು (4-8): ಲೈಟ್ ಸಂಕುಚನ (ವೈಟ್ಸ್ಪೇಸ್, ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಸ್ವಚ್ಛಗೊಳಿಸುವಿಕೆ)
- ಹಳೆಯ ಸರದಿಗಳು (9+): Caveman ಸಂಕುಚನ (ಅನಗತ್ಯ ಪದಗಳ ತೆಗೆದುಹಾಕುವಿಕೆ, ಸಾರಾಂಶಗೊಳಿಸುವಿಕೆ)
- ಬಹಳ ಹಳೆಯ ಸರದಿಗಳು (20+): ಹೆಚ್ಚು ಸಂಕ್ಷೇಪಿಸಲಾಗುತ್ತದೆ ಅಥವಾ ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ
ಕೋಡ್ ಉದಾಹರಣೆ
import { applyAging } from "@omniroute/open-sse/services/compression/progressiveAging";
const messages = [
{ role: "system", content: "You are a helpful assistant" },
{ role: "user", content: "What is 2+2?" },
{ role: "assistant", content: "4" },
// ... ಇನ್ನೂ 50 ಸರದಿಗಳು ...
];
const { messages: aged, saved } = applyAging(messages, {
verbatim: 3, // ಮೊದಲ 3 ಸರದಿಗಳು: ಯಥಾವತ್ತಾಗಿ
light: 8, // ಸರದಿಗಳು 4-8: ಲೈಟ್ ಸಂಕುಚನ
moderate: 20, // ಸರದಿಗಳು 9-20: caveman ಸಂಕುಚನ
// ಸರದಿಗಳು 21+: ಹೆಚ್ಚು ಸಾರಾಂಶಗೊಳಿಸುವಿಕೆ
});
// saved = ಉಳಿಸಿದ ಟೋಕನ್ಗಳ ಸಂಖ್ಯೆ
ಯಾವಾಗ ಬಳಸಬೇಕು
ಕ್ರಮೇಣ ಹಳೆಯದಾಗಿಸುವಿಕೆ aggressive ಮತ್ತು ultra ಮೋಡ್ಗಳಿಗೆ ಯಾವಾಗಲೂ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ. ಇದು ವಿಶೇಷವಾಗಿ ಪರಿಣಾಮಕಾರಿ:
- ದೀರ್ಘಕಾಲ ನಡೆಯುವ ಕೋಡಿಂಗ್ ಸೆಷನ್ಗಳಿಗೆ
- ಹಲವು ದಿನಗಳ ಸಂಭಾಷಣೆಗಳಿಗೆ
- ಅನೇಕ ಟೂಲ್ ಕರೆಗಳನ್ನು ಹೊಂದಿರುವ ಏಜೆಂಟ್ ಆಧಾರಿತ ವರ್ಕ್ಫ್ಲೋಗಳಿಗೆ
ಕೇವ್ಮ್ಯಾನ್ ಔಟ್ಪುಟ್ ಮೋಡ್
outputMode.ts ಮಾಡ್ಯೂಲ್, ಮಾದರಿಯೇ ಸಂಕುಚಿತ ಮತ್ತು ಸಂಕ್ಷಿಪ್ತ ಔಟ್ಪುಟ್ ಅನ್ನು ("ಕೇವ್ಮ್ಯಾನ್" ಶೈಲಿ) ಉತ್ಪಾದಿಸುವಂತೆ ಮಾಡಲು ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಸೂಚನೆಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ಇನ್ಪುಟ್ ಅನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುವ ಬದಲು, ಈ ಮೋಡ್ ಈ ರೀತಿಯ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ:
"ಕನಿಷ್ಠ ಪದಗಳಲ್ಲಿ ಉತ್ತರಿಸಿ. ಸೌಜನ್ಯಪೂರ್ವಕ ಮಾತುಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಿ. ಚಿಕ್ಕ ವಾಕ್ಯಗಳನ್ನು ಬಳಸಿ."
ಇದು ವಿಶೇಷವಾಗಿ ಇವುಗಳಿಗೆ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ:
- ಕೋಡ್ ರಚನೆ (ಹೆಚ್ಚು ಸಂಕ್ಷಿಪ್ತ ಔಟ್ಪುಟ್ = ಕಡಿಮೆ ಟೋಕನ್ಗಳು)
- ತ್ವರಿತ ಪ್ರಶ್ನೋತ್ತರ (ವಿಸ್ತೃತ ವಿವರಣೆಗಳ ಅಗತ್ಯವಿಲ್ಲ)
- ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ (ಥ್ರೂಪುಟ್ ಅನ್ನು ಗರಿಷ್ಠಗೊಳಿಸುತ್ತದೆ)
ಯಾವಾಗ ಬಳಸಬೇಕು
ಕೇವ್ಮ್ಯಾನ್ ಔಟ್ಪುಟ್ ಮೋಡ್ ಆಯ್ಕೆಮಾಡಿ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕಾದದ್ದು — ಕಾಂಬೊ ಕಾನ್ಫಿಗ್ ಮೂಲಕ ಇದನ್ನು ಹೊಂದಿಸಿ:
{
"strategy": "auto",
"config": {
"auto": {
"outputMode": "caveman"
}
}
}
ಔಟ್ಪುಟ್ ಶೈಲಿಗಳು (ಕ್ಯಾಟಲಾಗ್)
ಮೇಲಿನ ಕೇವ್ಮ್ಯಾನ್ ಔಟ್ಪುಟ್ ಮೋಡ್ ಹಳೆಯ ಏಕ-ಶೈಲಿ ಮಾರ್ಗವಾಗಿದೆ. ಹಂತ 4 ಇದನ್ನು ಸಂಯೋಜಿಸಬಹುದಾದ ಔಟ್ಪುಟ್ ಶೈಲಿಗಳ ಕ್ಯಾಟಲಾಗ್ ಆಗಿ ಸಾಮಾನ್ಯೀಕರಿಸಿದೆ: open-sse/services/compression/outputStyles/catalog.ts ನಲ್ಲಿರುವ OUTPUT_STYLE_CATALOG. ಪ್ರತಿಯೊಂದು ಶೈಲಿಯೂ ಮಾದರಿಯೇ ಕಡಿಮೆ ವೆಚ್ಚದ ಔಟ್ಪುಟ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವಂತೆ ಮಾಡುವ ಸಿಸ್ಟಮ್-ಪ್ರಾಂಪ್ಟ್ ಸೂಚನೆಯಾಗಿದೆ; ಶೈಲಿಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸಕ್ರಿಯಗೊಳಿಸಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು ಕ್ಯಾಟಲಾಗ್ ಕ್ರಮದಲ್ಲಿ ಸೇರಿಸಲಾಗುತ್ತದೆ.
| ಶೈಲಿ | id |
ಅದು ಏನು ಮಾಡುತ್ತದೆ | ಸೂಚನೆಯ ಭಾಷೆಗಳು |
|---|---|---|---|
| ಸಂಕ್ಷಿಪ್ತ ಗದ್ಯ | terse-prose |
ಅನಗತ್ಯ ಪದಗಳು/ಆರ್ಟಿಕಲ್ಗಳು/ಅನಿಶ್ಚಿತತೆಯ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ; ತಾಂತ್ರಿಕ ಸಾರವನ್ನು ನಿಖರವಾಗಿ ಉಳಿಸುತ್ತದೆ. ಹಳೆಯ ಕೇವ್ಮ್ಯಾನ್ ಔಟ್ಪುಟ್ ಮೋಡ್ನ ಪಠ್ಯವೇ ಆಗಿದೆ (ಮರು-ಟೈಪ್ ಮಾಡದೆ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ). | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| ಕಡಿಮೆ ಕೋಡ್ | less-code |
YAGNI ಏಣಿ: ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಅತಿ ಚಿಕ್ಕ ಬದಲಾವಣೆ, ಕೇಳದ ಅಮೂರ್ತೀಕರಣಗಳಿಲ್ಲ. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| ಪೋನಿಟೇಲ್ (ಸೋಮಾರಿ ಹಿರಿಯ ಡೆವಲಪರ್) | ponytail |
"ಎಂದಿಗೂ ಬರೆಯದ ಕೋಡ್ ಅತ್ಯುತ್ತಮ ಕೋಡ್": ಮರುಬಳಕೆ > ಮರುಬರವಣಿಗೆ, ಮೂಲ ಕಾರಣ > ಲಕ್ಷಣ, ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಅತಿ ಚಿಕ್ಕ ಡಿಫ್. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| ನನಗೆ ADHD ಇದೆ (ಕ್ರಿಯೆ-ಮೊದಲು) | i-have-adhd |
ಮೊದಲು ಕ್ರಿಯೆ (ಗದ್ಯಕ್ಕಿಂತ ಮೊದಲು ಕಮಾಂಡ್/ಪಥ/ಸ್ನಿಪೆಟ್), ಸಂಖ್ಯೆಯುಳ್ಳ ಸೀಮಿತ ಹಂತಗಳು, ಒಂದೇ ಒಂದು ಸ್ಪಷ್ಟ ಮುಂದಿನ ಹಂತ, ಮುನ್ನುಡಿ/ಮರುಸಾರಾಂಶ/ಮುಕ್ತಾಯಗಳಿಲ್ಲ. ayghri/i-have-adhd (MIT) ನಿಂದ ಹೊಂದಿಸಲಾಗಿದೆ. | en, pt-BR, es, de, fr, it, ru, zh, ja, id, vi |
| ಸಂಕ್ಷಿಪ್ತ CJK (文言) | terse-cjk |
ಶಾಸ್ತ್ರೀಯ-ಚೀನೀ ಅತ್ಯಂತ ಸಂಕ್ಷಿಪ್ತ ಶೈಲಿ. | zh (ಲೊಕೇಲ್-ನಿಯಂತ್ರಿತ: ಪರಿಹರಿಸಲಾದ ಭಾಷೆ zh ಆಗಿದ್ದಾಗ ಮಾತ್ರ ನೀಡಲಾಗುತ್ತದೆ) |
ಪ್ರತಿಯೊಂದು ಶೈಲಿಯೂ lite, full, ultra ಎಂಬ ಮೂರು ತೀವ್ರತಾ ಮಟ್ಟಗಳೊಂದಿಗೆ ಬರುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯೊಂದು ಮಟ್ಟವೂ ಹಂಚಿಕೊಂಡ ಗಡಿಗಳ ಷರತ್ತಿನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ; ಇದು ಕೋಡ್ ಬ್ಲಾಕ್ಗಳು, ಫೈಲ್ ಪಥಗಳು, ಕಮಾಂಡ್ಗಳು, ದೋಷ ಸ್ಟ್ರಿಂಗ್ಗಳು, URLಗಳು ಮತ್ತು ಐಡೆಂಟಿಫೈಯರ್ಗಳನ್ನು ಯಥಾವತ್ತಾಗಿ ಉಳಿಸುತ್ತದೆ.
ಸೇರಿಸುವಿಕೆ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
applyOutputStyles() (open-sse/services/compression/outputStyles/apply.ts) ಆಯ್ಕೆಯನ್ನು ಕ್ಯಾಟಲಾಗ್ಗೆ ಹೋಲಿಸಿ ಪರಿಹರಿಸುತ್ತದೆ (ಅಜ್ಞಾತ idಗಳು ಮತ್ತು ಲೊಕೇಲ್ಗೆ ಹೊಂದಿಕೆಯಾಗದ ಶೈಲಿಗಳನ್ನು ಕೈಬಿಡಲಾಗುತ್ತದೆ, ಎಂದಿಗೂ ದೋಷ ಉಂಟಾಗುವುದಿಲ್ಲ), ಆಯ್ಕೆಮಾಡಿದ ಸೂಚನೆಗಳನ್ನು ಕ್ಯಾಟಲಾಗ್ ಕ್ರಮದಲ್ಲಿ ಜೋಡಿಸುತ್ತದೆ, ಗಡಿಗಳ ಷರತ್ತನ್ನು ಒಮ್ಮೆ ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಒಂದೇ ಐಡೆಂಪೊಟೆನ್ಸಿ ಗುರುತಿನ ([OmniRoute Output Styles]) ಹಿಂದೆ ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್ನ ಆರಂಭದಲ್ಲಿ ಇರಿಸುತ್ತದೆ — ಪುನಃ ಅನ್ವಯಿಸುವುದರಿಂದ ಏನೂ ಆಗುವುದಿಲ್ಲ. ಪತ್ತೆಯಾದ ವಿನಂತಿಯ ಭಾಷೆಗೆ ಅನುವಾದ ಲಭ್ಯವಿದ್ದಾಗ, ಇಂಗ್ಲಿಷ್ ಬದಲು ಸ್ಥಳೀಕರಿಸಿದ ಸೂಚನೆಯನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ.
ಸಕ್ರಿಯಗೊಳಿಸುವುದು ಹೇಗೆ
ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ: ಸಂದರ್ಭ → ಸೆಟ್ಟಿಂಗ್ಗಳು → ಸಂಕುಚನ — ಪ್ರತಿ ಶೈಲಿಗೆ ಆನ್/ಆಫ್ ಟಾಗಲ್ ಮತ್ತು ಮಟ್ಟದ ಆಯ್ಕೆಗಾರದೊಂದಿಗೆ ಒಂದು ಸಾಲು. ಪ್ರೋಗ್ರಾಮ್ಯಾಟಿಕ್ ಆಗಿ, ಸಂಕುಚನ ಕಾನ್ಫಿಗ್ ಆಯ್ಕೆಯನ್ನು ಹೀಗೆ ಉಳಿಸಿಕೊಳ್ಳುತ್ತದೆ:
{
"outputStyles": [
{ "id": "i-have-adhd", "level": "full" },
{ "id": "less-code", "level": "lite" }
]
}
ಹಿಂದಿನ ಆವೃತ್ತಿಯೊಂದಿಗಿನ ಹೊಂದಾಣಿಕೆ: ಹಳೆಯ outputMode: "caveman" ಕಾಂಬೊ ಸೆಟ್ಟಿಂಗ್ ಈಗಲೂ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು terse-prose ಗೆ ಮ್ಯಾಪ್ ಆಗುತ್ತದೆ; ಪ್ರತಿಯೊಂದು ಹಳೆಯ ಭಾಷೆಯಲ್ಲಿಯೂ ಇದು ಹಳೆಯ ಸೇರಿಸುವಿಕೆಗೆ ಬೈಟ್-ಮಟ್ಟದಲ್ಲಿ ಒಂದೇ ಆಗಿರುತ್ತದೆ.
ಭಾಷೆಯ ಆಯ್ಕೆ: languageConfig.enabled ಆನ್ ಆಗಿರುವಾಗ, autoDetect ಇತ್ತೀಚಿನ ಬಳಕೆದಾರ ಸಂದೇಶದ ಭಾಷೆಯನ್ನು ಆಯ್ಕೆಮಾಡುತ್ತದೆ (ಇನ್ಪುಟ್ ಎಂಜಿನ್ಗಳಲ್ಲಿರುವ ಅದೇ ಪತ್ತೆಕಾರಕ); autoDetect ಅನ್ನು ಆಫ್ ಮಾಡುವುದರಿಂದ defaultLanguage ಸ್ಥಿರಗೊಳ್ಳುತ್ತದೆ. ಆಫ್ → ಇಂಗ್ಲಿಷ್.
ಶೈಲಿ × ಭಾಷೆ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು tests/unit/compression/output-styles-i18n-matrix.test.ts ಮೂಲಕ ಸ್ಥಿರಗೊಳಿಸಲಾಗಿದೆ: ಕನಿಷ್ಠ pt-BR ಅನುವಾದವಿಲ್ಲದೆ (ಅಥವಾ ಸ್ಪಷ್ಟವಾಗಿ ಟ್ರ್ಯಾಕ್ ಮಾಡಿದ ವಿನಾಯಿತಿಯಿಲ್ಲದೆ) ಹೊಸ ಶೈಲಿಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಶೈಲಿಯು ಯಾವುದೇ ಲೊಕೇಲ್ ಅನ್ನು ಮೌನವಾಗಿ ಕಳೆದುಕೊಳ್ಳುವಂತಿಲ್ಲ. ಶೈಲಿಯನ್ನು ಸೇರಿಸಲು, EXTENDING_COMPRESSION.md ನೋಡಿ.
ಟೂಲ್ ಫಲಿತಾಂಶ ಸಂಕುಚನ
toolResultCompressor.ts ಮಾಡ್ಯೂಲ್ ಟೂಲ್ ಫಲಿತಾಂಶಗಳಿಗಾಗಿ (ಫಂಕ್ಷನ್ ಕರೆಗಳು, ಏಜೆಂಟ್ ಔಟ್ಪುಟ್ಗಳು, ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳು ಇತ್ಯಾದಿ) 5 ವಿಶೇಷ ಸಂಕುಚನ ತಂತ್ರಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ:
- ಹುಡುಕಾಟ ಫಲಿತಾಂಶ ಸಂಕುಚನ — ಅನಗತ್ಯ ಪುನರಾವರ್ತಿತ ಫಲಿತಾಂಶಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ಅಗ್ರ-N ಅನ್ನು ಉಳಿಸುತ್ತದೆ
- ಫೈಲ್ ಓದುವಿಕೆ ಸಂಕುಚನ — ದೊಡ್ಡ ಫೈಲ್ಗಳನ್ನು ಮೊಟಕುಗೊಳಿಸಿ, ಹೆಡರ್ಗಳು/ಇಂಪೋರ್ಟ್ಗಳನ್ನು ಉಳಿಸುತ್ತದೆ
- ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ ಸಂಕುಚನ — ಅಗತ್ಯ stdout/stderr ಅನ್ನು ಮಾತ್ರ ಉಳಿಸುತ್ತದೆ
- ಡೇಟಾಬೇಸ್ ಕ್ವೆರಿ ಸಂಕುಚನ — ಸಾಲುಗಳನ್ನು ಮಿತಿಗೊಳಿಸಿ, ಅತಿವಿವರವಾದ ಮೆಟಾಡೇಟಾವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ
- API ಪ್ರತಿಕ್ರಿಯೆ ಸಂಕುಚನ — null ಫೀಲ್ಡ್ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ಅರೆಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತಗೊಳಿಸುತ್ತದೆ
ಯಾವಾಗ ಬಳಸಬೇಕು
ಟೂಲ್ ಕರೆಗಳು ಇದ್ದಾಗ ಟೂಲ್ ಫಲಿತಾಂಶ ಸಂಕುಚನ ಯಾವಾಗಲೂ ಸಕ್ರಿಯವಾಗಿರುತ್ತದೆ. ಯಾವುದೇ ಕಾನ್ಫಿಗರೇಶನ್ ಅಗತ್ಯವಿಲ್ಲ.
ಸ್ಟ್ಯಾಕ್ ಮಾಡಿದ ಪೈಪ್ಲೈನ್
ಸ್ಟ್ಯಾಕ್ ಮಾಡಿದ ಮೋಡ್ ಅನೇಕ ಎಂಜಿನ್ಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಚಲಾಯಿಸುತ್ತದೆ — ಸಾಮಾನ್ಯವಾಗಿ ಮೊದಲು RTK (ಟೂಲ್ ಔಟ್ಪುಟ್ನಲ್ಲಿ 60-90% ಉಳಿತಾಯ), ನಂತರ ಕೇವ್ಮ್ಯಾನ್ (ಉಳಿದ ಪಠ್ಯದಲ್ಲಿ ಹೆಚ್ಚುವರಿ 30% ಉಳಿತಾಯ). ಇದು ಒಟ್ಟು 78-95% ಉಳಿತಾಯವನ್ನು ಸಾಧಿಸುತ್ತದೆ.
ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ಇನ್ಪುಟ್ (1000 ಟೋಕನ್ಗಳು)
→ RTK (ಕಮಾಂಡ್-ಅರಿವಿನ ಫಿಲ್ಟರ್) → 200 ಟೋಕನ್ಗಳು
→ ಕೇವ್ಮ್ಯಾನ್ (ಅನಗತ್ಯ ಪದಗಳ ತೆಗೆದುಹಾಕುವಿಕೆ) → 140 ಟೋಕನ್ಗಳು
→ ಔಟ್ಪುಟ್ (140 ಟೋಕನ್ಗಳು, 86% ಉಳಿತಾಯ)
ಯಾವಾಗ ಬಳಸಬೇಕು
ಸ್ಟ್ಯಾಕ್ ಮಾಡಿದ ಮೋಡ್ ಅನ್ನು ಇವುಗಳಿಗೆ ಬಳಸಿ:
- ಟೂಲ್-ಕೇಂದ್ರಿತ ವರ್ಕ್ಫ್ಲೋಗಳು (ಏಜೆಂಟ್ ಆಧಾರಿತ ಕೋಡಿಂಗ್, ಸಂಶೋಧನೆ)
- ವೆಚ್ಚ-ಸೂಕ್ಷ್ಮ ಬ್ಯಾಚ್ ಪ್ರಕ್ರಿಯೆ
- ನಿಮಗೆ ಗರಿಷ್ಠ ಟೋಕನ್ ಉಳಿತಾಯ ಅಗತ್ಯವಿರುವಾಗ
ಕಾಂಬೊ ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ:
{
"strategy": "auto",
"config": {
"auto": {
"modePack": "stacked"
}
}
}
ಕಾಂಪ್ರೆಷನ್ ಕಾಂಬೊ ಓವರ್ರೈಡ್ಗಳು
ವಿಭಿನ್ನ ಬಳಕೆಯ ಸಂದರ್ಭಗಳಿಗೆ ನಡವಳಿಕೆಯನ್ನು ಸೂಕ್ಷ್ಮವಾಗಿ ಹೊಂದಿಸಲು, ಜಾಗತಿಕ ಕಾಂಪ್ರೆಷನ್ ಮೋಡ್ ಅನ್ನು ಪ್ರತಿ ಕಾಂಬೊಗೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಓವರ್ರೈಡ್ ಮಾಡಬಹುದು:
{
"id": "coding-combo",
"strategy": "priority",
"config": {
"auto": {
"weights": { "taskFit": 0.5 },
"modePack": "quality-first"
}
},
"compressionOverride": {
"mode": "aggressive",
"stackedPipelines": ["rtk", "caveman"],
"preserveToolDefinitions": true
}
}
ಇದು ಈ ಸಂದರ್ಭಗಳಲ್ಲಿ ಉಪಯುಕ್ತವಾಗಿದೆ:
- ಕೋಡಿಂಗ್ ಕಾಂಬೊಗಳು: ದೀರ್ಘ ಅವಧಿಯ ಸೆಷನ್ಗಳಿಗೆ
aggressiveಮೋಡ್ ಬಳಸಿ - ತ್ವರಿತ ಪ್ರಶ್ನೋತ್ತರ ಕಾಂಬೊಗಳು: ವೇಗವಾದ ಪ್ರತಿಕ್ರಿಯೆಗಳಿಗಾಗಿ
liteಮೋಡ್ ಬಳಸಿ - ಹೆಚ್ಚು ಟೂಲ್ಗಳನ್ನು ಬಳಸುವ ಕಾಂಬೊಗಳು: ಗರಿಷ್ಠ ಉಳಿತಾಯಕ್ಕಾಗಿ
stackedಮೋಡ್ ಬಳಸಿ - ಪ್ರೊಡಕ್ಷನ್ ಕಾಂಬೊಗಳು: ಕ್ಯಾಶಿಂಗ್ ಒದಗಿಸುವವರಿಗಾಗಿ
cache-awareಮೋಡ್ ಬಳಸಿ
ಇದನ್ನೂ ನೋಡಿ
- ಎನ್ವಿರಾನ್ಮೆಂಟ್ ಕಾನ್ಫಿಗ್ — ಕಾಂಪ್ರೆಷನ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯಬಲ್ಗಳು
- ಆರ್ಕಿಟೆಕ್ಚರ್ ಮಾರ್ಗದರ್ಶಿ — ಕಾಂಪ್ರೆಷನ್ ಪೈಪ್ಲೈನ್ನ ಆಂತರಿಕ ಕಾರ್ಯವಿಧಾನ
- ಬಳಕೆದಾರರ ಮಾರ್ಗದರ್ಶಿ — ಕಾಂಪ್ರೆಷನ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುವುದು
- RTK ಕಾಂಪ್ರೆಷನ್ — RTK ಫಿಲ್ಟರ್ಗಳು, ವಿಶ್ವಾಸ ಮಾದರಿ, ಪರಿಶೀಲನಾ ಗೇಟ್, ಕಚ್ಚಾ ಔಟ್ಪುಟ್ ಮರುಪಡೆಯುವಿಕೆ
- ಕಾಂಪ್ರೆಷನ್ ಎಂಜಿನ್ಗಳು — Caveman, RTK, stacked, APIಗಳು, MCP, ಡ್ಯಾಶ್ಬೋರ್ಡ್
- ಕಾಂಪ್ರೆಷನ್ ನಿಯಮಗಳ ಸ್ವರೂಪ — JSON ರೂಲ್-ಪ್ಯಾಕ್ ಸ್ವರೂಪ
- ಕಾಂಪ್ರೆಷನ್ ಭಾಷಾ ಪ್ಯಾಕ್ಗಳು — ಭಾಷೆ-ನಿರ್ದಿಷ್ಟ Caveman ನಿಯಮಗಳು