ನಿಮ್ಮ AI ಬಿಲ್ ರಾತ್ರೋರಾತ್ರಿ ಮೂರು ಪಟ್ಟು ಹೆಚ್ಚಾಯಿತು. ಮಾಡೆಲ್, ಟ್ರಾಫಿಕ್ ಪ್ರಮಾಣ ಮತ್ತು ಪ್ರಾಂಪ್ಟ್‌ಗಳ ಪಠ್ಯವೂ ಒಂದೇ ಆಗಿದ್ದರೂ; OpenAI ನ ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶ್ ಅನ್ನು ಹಾಳುಮಾಡಿದ ಕೇವಲ ಒಂದು ಸಾಲಿನ ಕೋಡ್ ಇದಕ್ಕೆ ಕಾರಣವಾಯಿತು.

ಕ್ಯಾಶ್ ಏಕೆ ಮುಖ್ಯ

ಪ್ರೊವೈಡರ್‌ನ ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶ್ (prompt cache), ಬೈಟ್-ಫಾರ್-ಬೈಟ್ (byte-for-byte) ಒಂದೇ ರೀತಿಯ ಪ್ರಿಫಿಕ್ಸ್ (prefix) ಹೊಂದಿರುವ ಯಾವುದೇ ವಿನಂತಿಯನ್ನು ಮರು-ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದನ್ನು ತಪ್ಪಿಸುವ ಮೂಲಕ ನಿಮ್ಮ ಹಣವನ್ನು ಉಳಿಸುತ್ತದೆ. ಮೊದಲ ಟೋಕನ್‌ಗಳು ಹಿಂದಿನ ಕರೆಯನ್ನು ಹೊಂದಿದ್ದರೆ, ಪ್ರೊವೈಡರ್ ಈಗಾಗಲೇ ಲೆಕ್ಕಹಾಕಿದ ಆ ಟೋಕನ್‌ಗಳ ಪ್ರತಿನಿಧಿಯನ್ನು ಮರುಬಳಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಕೇವಲ ಹೊಸ ಸಫಿಕ್ಸ್ (suffix) ಗೆ ಮಾತ್ರ ಶುಲ್ಕ ವಿಧಿಸುತ್ತದೆ. ಇದರ ನಿಯಮವು ಕಟ್ಟುನಿಟ್ಟಾಗಿದೆ: ಹೊಂದಾಣಿಕೆಯು ನಿಖರವಾಗಿರಬೇಕು, ಕೇವಲ ಹೋಲಿಕೆಯಾಗಬಾರದು. ಆರಂಭದಲ್ಲಿರುವ ಒಂದು ವಿಭಿನ್ನ ಟೋಕನ್ ಇಡೀ ಕ್ಯಾಶ್ ಹಿಟ್ ಅನ್ನು ನಾಶಪಡಿಸುತ್ತದೆ.

ಹಿಟ್ ರೇಟ್ ಅನ್ನು ಹಾಳುಮಾಡಿದ ತಪ್ಪು

ನಮ್ಮ ಏಜೆಂಟ್‌ನಲ್ಲಿ, ಮಾಡೆಲ್‌ಗೆ "ಈಗ" ಎಂಬ ಅರಿವು ಮೂಡಿಸಲು ನಾವು ಸಿಸ್ಟಮ್ ಪ್ರಾಂಪ್ಟ್‌ನ একেবারে ಮೇಲ್ಭಾಗದಲ್ಲಿ ಪ್ರಸ್ತುತ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅನ್ನು ಇರಿಸಿದ್ದೆವು. ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಬದಲಾಗುವುದರಿಂದ, ಮೊದಲ ಟೋಕನ್ ಸರಣಿಯು ಪ್ರತಿ ವಿನಂತಿಗೂ ವಿಶಿಷ್ಟವಾಗಿತ್ತು. ಕ್ಯಾಶ್ ಎಂದಿಗೂ ಹೊಂದಾಣಿಕೆಯನ್ನು ಕಂಡುಕೊಳ್ಳಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಪ್ರತಿ ಕರೆಯು ನಂತರ ಬಂದ 18,000 ಸ್ಟ್ಯಾಟಿಕ್ ಟೋಕನ್‌ಗಳಿಗಾಗಿ (ಟೂಲ್ ಸ್ಕೀಮಾಗಳು, ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಸ್ನಿಪ್ಪೆಟ್‌ಗಳು, ಫ್ಯೂ-ಶಾಟ್ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಸ್ಥಿರ ಸೂಚನೆಗಳು) ಪೂರ್ಣ ಬೆಲೆಯನ್ನು ಪಾವತಿಸಬೇಕಾಯಿತು. ಇದರ ಪರಿಣಾಮವಾಗಿ 0% ಕ್ಯಾಶ್ ಹಿಟ್ ರೇಟ್ ಮತ್ತು ಮೂರು ಪಟ್ಟು ಹೆಚ್ಚಾದ ಬಿಲ್ ಬಂದಿತು.

ಕ್ಯಾಶೆಬಾಲಿಟಿಗಾಗಿ ಮರುಕ್ರಮಗೊಳಿಸುವುದು

ಪರಿಹಾರ ಸರಳವಾಗಿದೆ: ಎಂದಿಗೂ ಬದಲಾಗದ ಎಲ್ಲವನ್ನೂ ಪ್ರಾಂಪ್ಟ್‌ನ ಮುಂಭಾಗದಲ್ಲಿ ಇರಿಸಿ ಮತ್ತು ಯಾವುದೇ ಅಸ್ಥಿರ ಡೇಟಾವನ್ನು (volatile data) ಹಿಂಭಾಗಕ್ಕೆ ತಳ್ಳಿ.

Static prefix (cacheable)

  • Tool definitions
  • Retrieval documents
  • Few-shot examples
  • Fixed system instructions

Volatile suffix (non-cacheable)

  • Current time
  • Session identifiers
  • User messages
  • Live context

ಮಾಡೆಲ್‌ಗೆ ಸಮಯದ ಅಗತ್ಯವಿದ್ದರೆ, ಅದನ್ನು ಪ್ರಾಂಪ್ಟ್‌ನ ಆರಂಭದಲ್ಲಿ ಸೇರಿಸುವ ಬದಲು ಸ್ಟ್ಯಾಟಿಕ್ ಬ್ಲಾಕ್ ನಂತರ ಸೇರಿಸಿ. ಆಗ ನೀವು ಕೊನೆಯಲ್ಲಿ ಹೊಸ ಕಾನ್ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಒದಗಿಸಿದರೂ, ಕ್ಯಾಶ್ ಭಾರೀ ಪ್ರಮಾಣದ ಸ್ಟ್ಯಾಟಿಕ್ ಭಾಗವನ್ನು ಮರುಬಳಕೆ ಮಾಡಬಹುದು.

ಸ್ಟ್ಯಾಕ್‌ನಲ್ಲಿರುವ ಅಡಗಿರುವ ಅಪಾಯಗಳು

ಟೆಂಪ್ಲೇಟ್ ಸರಿಯಾಗಿ ಕಂಡರೂ ಸಹ, ಪೇಲೋಡ್ (payload) API ಗೆ ತಲುಪುವ ಮೊದಲು ಮಿಡ್ಲ್‌ವೇರ್ ಅಥವಾ SDKಗಳು ರಿಸಕ್ವೆಸ್ಟ್ ಐಡಿಗಳು, ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ಗಳು ಅಥವಾ ಇತರ ಹೆಡರ್‌ಗಳಂತಹ ಮೆಟಾಡಾಟಾವನ್ನು ಮೌನವಾಗಿ ಸೇರಿಸಬಹುದು. ಕೆಲವು ಡಿಪ್ಲಾಯ್ಮೆಂಟ್ ಪೈಪ್‌ಲೈನ್‌ಗಳು ಪ್ರತಿ ರೋಲ್ಔಟ್‌ನಲ್ಲಿ ಟೂಲ್ ವ್ಯಾಖ್ಯಾನಗಳನ್ನು ಬದಲಾಯಿಸುತ್ತವೆ. ಈ ಅದೃಶ್ಯ ಬದಲಾವಣೆಗಳು ಬೈಟ್ ಸರಣಿಯನ್ನು ಬದಲಾಯಿಸುತ್ತವೆ ಮತ್ತು ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರಾಂಪ್ಟ್ ಬಿಲ್ಡರ್‌ನಲ್ಲಿ ಯಾವುದೇ ಕೋಡ್ ಬದಲಾವಣೆ ಇಲ್ಲದೆಯೇ ಕ್ಯಾಶ್ ಅನ್ನು ಹಾಳುಮಾಡುತ್ತವೆ.

ಕ್ಯಾಶ್ ಹಿಟ್ ರೇಟ್ ಅನ್ನು ಗಮನಿಸಿ

ಯಾವುದೇ AI ಏಜೆಂಟ್‌ಗೆ ಕ್ಯಾಶ್ ಹಿಟ್ ರೇಟ್ ಅನ್ನು ಪ್ರಾಥಮಿಕ ಆರೋಗ್ಯ ಸೂಚಕವಾಗಿ (health metric) ಪರಿಗಣಿಸಿ. ಇದ್ದಕ್ಕಿದ್ದಂತೆ ರೇಟ್ ಇಳಿಕೆಯಾದರೆ, ವಿನಂತಿಯ ಆರಂಭಿಕ ಬೈಟ್‌ಗಳಲ್ಲಿ ಏನೋ ಒಂದು ಬದಲಾಗುತ್ತಿದೆ ಎಂದರ್ಥ. ಹಿಟ್ ಶೇಕಡಾವನ್ನು ತೋರಿಸುವ ಮಾನಿಟರಿಂಗ್ ಟೂಲ್‌ಗಳು, ವೆಚ್ಚದ ವ್ಯತ್ಯಾಸಗಳು ಹೆಚ್ಚಾಗುವ ಮೊದಲೇ ಅವುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತವೆ.

ಸಾರಾಂಶ

ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶಿಂಗ್ ಎಂಬುದು ಬದಲಾಗದ ಪ್ರಿಫಿಕ್ಸ್ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿದೆ. ಪ್ರತಿ ವಿನಂತಿಯ ಆರಂಭದಲ್ಲಿ ಬದಲಾಗುವ ಯಾವುದೇ ವಿಷಯ—ಒಂದು ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಕೂಡ—ಕ್ಯಾಶ್ ಅನ್ನು ಅಸಿಂಧ same ಮಾಡುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಬಿಲ್ ಅನ್ನು ಮೂರು ಪಟ್ಟು ಹೆಚ್ಚಿಸಬಹುದು. ಸ್ಥಿರ ವಿಷಯವನ್ನು ಮೊದಲು, ಅಸ್ಥಿರ ವಿಷಯವನ್ನು ಕೊನೆಯಲ್ಲಿ ಇರಿಸಿ, ಅಡಗಿರುವ ಮೆಟಾಡಾಟಾ ಸೇರ್ಪಡೆಗಳಿಗಾಗಿ ನಿಮ್ಮ ಟೂಲ್‌ಚೈನ್ ಅನ್ನು ಪರಿಶೀಲಿಸಿ ಮತ್ತು ಕ್ಯಾಶ್ ಹಿಟ್ ರೇಟ್‌ಗಳನ್ನು ಗಮನಿಸಿ. ಶಿಸ್ತುಬದ್ಧವಾದ ಪ್ರಾಂಪ್ಟ್ ವಿನ್ಯಾಸವು ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ವೆಚ್ಚ ಎರಡನ್ನೂ ರಕ್ಷಿಸುತ್ತದೆ.