ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ LLM ಏಜೆಂಟ್ ಅನ್ನು ರನ್ ಮಾಡುವುದು

ಹೆಚ್ಚಿನ AI ಸಹಾಯಕರು ಡೇಟಾ ಸೆಂಟರ್‌ನಲ್ಲಿ ಇರುತ್ತಾರೆ. ಅವುಗಳಿಗೆ API ಕೀ, ಸರ್ವರ್ ಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ವಿನಂತಿಗೆ (request) ಶುಲ್ಕ ವಿಧಿಸಲಾಗುತ್ತದೆ.

ನಾನು ವಿಭಿನ್ನವಾದುದನ್ನು ನಿರ್ಮಿಸಿದ್ದೇನೆ.

ನಾನು LiquidAI LFM2.5 ಮಾಡೆಲ್‌ಗಳನ್ನು (230 M ಮತ್ತು 350 M) ಸಂಪೂರ್ಣವಾಗಿ ನಿಮ್ಮ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ರನ್ ಮಾಡುವಂತೆ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಿದ್ದೇನೆ—ಯಾವುದೇ ಸರ್ವರ್ ಅಥವಾ ಕ್ಲೌಡ್ ವೆಚ್ಚಗಳಿಲ್ಲದೆ.

ವೆಬ್ ಪೇಜ್‌ನೊಂದಿಗೆ ಕಳುಹಿಸಿಕೊಡುವಷ್ಟು ಸಣ್ಣ ಮಾಡೆಲ್ ಅನ್ನು ತಯಾರಿಸುವುದು ಇದರ ಗುರಿಯಾಗಿತ್ತು.

ಈ ಮಾಡೆಲ್ ನಿರ್ದಿಷ್ಟ ಉತ್ಪನ್ನಗಳ ಬಗ್ಗೆ ಸತ್ಯಾಂಶಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ; ಬದಲಾಗಿ ಇದು ಮಾದರಿಗಳನ್ನು (patterns) ಕಲಿಯುತ್ತದೆ. ಒಂದು ಪುಟ್ಟ ಮಾಡೆಲ್ ಯಾವುದೇ ಮರು-ತರಬೇತಿ (retraining) ಇಲ್ಲದೆ ಕಾಫಿ ಶಾಪ್, ದಿನಸಿ ಅಂಗಡಿ ಅಥವಾ ಯಾವುದೇ ಇತರ ಅಂಗಡಿಯನ್ನು ನಿರ್ವಹಿಸಬಲ್ಲದು.

ಮಾಡೆಲ್ ಏನು ಮಾಡುತ್ತದೆ

  • ಕೆಲಸಕ್ಕೆ ಸರಿಯಾದ ಟೂಲ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ
  • ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳು ಮತ್ತು ಐಟಂ ಐಡಿಗಳನ್ನು (item IDs) ಸರಿಯಾಗಿ ಸಂಪರ್ಕಿಸುತ್ತದೆ
  • “ಎರಡನೆಯದು” ಅಥವಾ “ಒಂದು ಡಜನ್” ನಂತಹ ಉಲ್ಲೇಖಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತದೆ
  • ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸಲು ಪಡೆದ ಪಠ್ಯವನ್ನು (retrieved text) ಬಳಸುತ್ತದೆ
  • ಮಾಹಿತಿ ಇಲ್ಲದಿದ್ದಾಗ ನಿರಾಕರಿಸುತ್ತದೆ
  • ಸಂಭಾಷಣೆಯು ವಿಷಯಾಂತರವಾದಾಗ ಅದನ್ನು ಮತ್ತೆ ವಿಷಯಕ್ಕೆ ತರುತ್ತದೆ

ನಾನು ಇದನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಿದೆ

  • ಎಂಟು ಟೂಲ್‌ಗಳ ಸೆಟ್ ಅನ್ನು ಸ್ಥಿರಗೊಳಿಸಿದೆ (search, add_to_cart, checkout, ಇತ್ಯಾದಿ)
  • RAG ಅನ್ನು ಪ್ರತ್ಯೇಕ ಪೈಪ್‌ಲೈನ್ ಬದಲಿಗೆ ಒಂದು ಟೂಲ್ ಆಗಿ ಪರಿಗಣಿಸಿದೆ
  • ನಿಖರತೆಗಾಗಿ ಗ್ರಾಮರ್-ಕನ್‌ಸ್ಟ್ರೇನ್ಡ್ ಡಿಕೋಡಿಂಗ್ (grammar-constrained decoding) ಅನ್ವಯಿಸಿದೆ
  • 18 ಇಂಟರಾಕ್ಷನ್ ರೆಸಿಪಿಗಳಿಂದ ಸಿಂಥೆಟಿಕ್ ಡೇಟಾಸೆಟ್ ಅನ್ನು ರಚಿಸಿದೆ
  • ಒಂದೇ 16 GB GPU ಬಳಸಿ 30 M ಟೋಕನ್‌ಗಳ ಮೇಲೆ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಿದೆ

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

ಇದು ಏಕೆ ಮುಖ್ಯ

  • ಗೌಪ್ಯತೆ: ನಿಮ್ಮ ಡೇಟಾ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಎಂದಿಗೂ ಬಿಟ್ಟು ಹೋಗುವುದಿಲ್ಲ
  • ಆಫ್‌ಲೈನ್ ಬಳಕೆ: ಇದು ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವಿಲ್ಲದೆಯೂ ಕೆಲಸ ಮಾಡುತ್ತದೆ
  • ವೆಚ್ಚ: ಶೂನ್ಯ ಇನ್ಫರೆನ್ಸ್ ಬಿಲ್‌ಗಳು (zero inference bills)
  • ಸುಲಭ ಲಭ್ಯತೆ: ಇದು ಸಂಕೀರ್ಣ UIಗಳನ್ನು ಧ್ವನಿಯ ಮೂಲಕ ಬಳಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ

ಮಾಡೆಲ್ ಚಿಕ್ಕದಾಗಿದೆ, ಆದರೆ ಉಪಯುಕ್ತವಾಗಿದೆ. ಬೃಹತ್ ಮಾಡೆಲ್‌ಗಳು ಕೆಲಸಗಳನ್ನು ಮಾಡಬಲ್ಲವೇ ಎಂದು ಕೇಳುವುದನ್ನು ನಿಲ್ಲಿಸಿ. ಸಾಧನದ ಮೇಲೆ ಉಪಯುಕ್ತವಾಗಿದ್ದಾಗ ಒಂದು ಮಾಡೆಲ್ ಎಷ್ಟು ಚಿಕ್ಕದಾಗಿರಬಹುದು ಎಂದು ಕೇಳಿ.

Demo: https://lajosbencz.github.io/frontend-agent/ Code: https://github.com/lajosbencz/frontend-agent/ Source: https://dev.to/lajosbencz/running-an-llm-agent-entirely-in-your-browser-5foe


Lajos Bencz ಅವರು 350 ಮಿಲಿಯನ್ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಭಾಷಾ ಮಾಡೆಲ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ವೆಬ್ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ರನ್ ಮಾಡುವಂತೆ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡಿದ್ದಾರೆ. ಇದು ಸ್ಥಿರವಾದ ಪೇಜ್ ಅನ್ನು ಸ್ವಾಯತ್ತ ಶಾಪಿಂಗ್ ಅಸಿಸ್ಟೆಂಟ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ, ಇದಕ್ಕೆ ಯಾವುದೇ API ಕೀ, ಸರ್ವರ್ ಅಥವಾ ಕ್ಲೌಡ್-ಆಧಾರಿತ ಇನ್ಫರೆನ್ಸ್ ವೆಚ್ಚಗಳ ಅಗತ್ಯವಿಲ್ಲ. ಇದರ ಫಲಿತಾಂಶವು ಗೌಪ್ಯತೆಗೆ ಆದ್ಯತೆ ನೀಡುವ, ಆಫ್‌ಲೈನ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಬಲ್ಲ AI ಆಗಿದ್ದು, ಪ್ರತಿ ಡೊಮೇನ್‌ಗೆ ಮರು-ತರಬೇತಿ ನೀಡದೆ ಕಾಫಿ ಶಾಪ್, ದಿನಸಿ ಅಂಗಡಿ ಅಥವಾ ಯಾವುದೇ ಅಂತಹ ಕ್ಯಾಟಲಾಗ್ ಅನ್ನು ನಿರ್ವಹಿಸಬಲ್ಲದು.

ಬ್ರೌಸರ್‌ನಲ್ಲಿ LLM ಅನ್ನು ಏಕೆ ರನ್ ಮಾಡಬೇಕು

ಹೆಚ್ಚಿನ AI ಸಹಾಯಕರು ಡೇಟಾ ಸೆಂಟರ್‌ಗಳಲ್ಲಿ ಇರುತ್ತಾರೆ. ಪ್ರತಿ ಕ್ವೆರಿ ಇಂಟರ್ನೆಟ್ ಮೂಲಕ ಪ್ರಯಾಣಿಸುತ್ತದೆ, API ಅನ್ನು ತಲುಪುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ವಿನಂತಿಗೆ ಶುಲ್ಕವನ್ನು ವಿಧಿಸುತ್ತದೆ. ಅಂತಹ ವ್ಯವಸ್ಥೆಯು ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಸೋರಿಕೆ ಮಾಡುತ್ತದೆ, ನೆಟ್‌ವರ್ಕ್ ಅಗತ್ಯವಿರುತ್ತದೆ ಮತ್ತು ಬಿಲ್ ಅನ್ನು ವೇಗವಾಗಿ ಹೆಚ್ಚಿಸುತ್ತದೆ. ಮಾಡೆಲ್ ಅನ್ನು ಕ್ಲೈಂಟ್‌ಗೆ ವರ್ಗಾಯಿಸುವುದರಿಂದ ಈ ಸಮಸ್ಯೆಗಳು ನಿವಾರಣೆಯಾಗುತ್ತವೆ. ಡೇಟಾ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿಯೇ ಇರುತ್ತದೆ, ನೆಟ್‌ವರ್ಕ್ ಇಲ್ಲದಿದ್ದಾಗಲೂ ಅಸಿಸ್ಟೆಂಟ್ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ಇನ್ಫರೆನ್ಸ್ ವೆಚ್ಚಗಳು ಶೂನ್ಯವಾಗುತ್ತವೆ.

ಮಾಡೆಲ್ ಅನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸಲಾಯಿತು

  • ಮಾಡೆಲ್ ಆಯ್ಕೆ – LiquidAI LFM2.5, 230 M ಮತ್ತು 350 M ವೇರಿಯಂಟ್‌ಗಳೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಯಿತು. ಅವುಗಳ ಗಾತ್ರವು ಸಾಮಾನ್ಯ ವೆಬ್ ಪೇಜ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಅನುಕೂಲಕರವಾಗಿದೆ.
  • ಟೂಲ್ ಸೆಟ್ – ಎಂಟು ಉಪಯುಕ್ತತೆಗಳನ್ನು (search, add_to_cart, checkout, ಇತ್ಯಾದಿ) ಏಜೆಂಟ್‌ಗೆ ಹಾರ್ಡ್-ಕೋಡ್ ಮಾಡಲಾಗಿದೆ. ಯಾವ ಟೂಲ್ ಅನ್ನು ಬಳಸಬೇಕು ಮತ್ತು ಐಟಂ ಐಡಿಗಳಂತಹ ಆರ್ಗ್ಯುಮೆಂಟ್‌ಗಳನ್ನು ಹೇಗೆ ವರ್ಗಾಯಿಸಬೇಕು ಎಂಬುದನ್ನು ಮಾಡೆಲ್ ಕಲಿಯುತ್ತದೆ.
  • ಟೂಲ್ ಆಗಿ RAG – Retrieval-Augmented Generation ಅನ್ನು ಕೇವಲ ಮತ್ತೊಂದು ಕರಲಿಸಬಹುದಾದ (callable) ಟೂಲ್ ಆಗಿ ಪರಿಗಣಿಸಿ, ಆರ್ಕಿಟೆಕ್ಚರ್ ಅನ್ನು ಸರಳಗೊಳಿಸಲಾಗಿದೆ.
  • ಗ್ರಾಮರ್-ಕನ್‌ಸ್ಟ್ರೇನ್ಡ್ ಡಿಕೋಡಿಂಗ್ – ಡಿಕೋಡರ್ ಅನ್ನು ಮಾನ್ಯವಾದ ಟೂಲ್-ಕಾಲ್ ಸಿಂಟ್ಯಾಕ್ಸ್ (tool-call syntax) ಗೆ ಸೀಮಿತಗೊಳಿಸುವ ಮೂಲಕ ತಪ್ಪಾದ ಔಟ್‌ಪುಟ್‌ಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲಾಗಿದೆ.
  • ಸಿಂಥೆಟಿಕ್ ಡೇಟಾ – 18 ಇಂಟರಾಕ್ಷನ್ ರೆಸಿಪಿಗಳನ್ನು (ಉದಾಹರಣೆಗೆ, “add two dozen donuts”) ಒಂದೇ 16 GB GPU ನಲ್ಲಿ ಸೃಷ್ಟಿಸಲಾದ 30 M-ಟೋಕನ್ ಡೇಟಾಸೆಟ್ ಆಗಿ ಪರಿವರ್ತಿಸಲಾಗಿದೆ.
  • ವರ್ತನೆ-ಕೇಂದ್ರಿತ ತರಬೇತಿ – ಬ್ಲಾಕ್‌ಲಿಸ್ಟ್‌ಗಳ ಬದಲಿಗೆ, ಫೈನ್-ಟ್ಯೂನಿಂಗ್ ಸಂಭಾಷಣೆಯ ನಿರ್ವಹಣೆಯ ಮೇಲೆ ಗಮನಹರಿಸಿತು: ವಿಷಯಾಂತರವಾದ ಮಾತುಗಳನ್ನು ವಿನಯಪೂರ್ವಕವಾಗಿ ಮರುನಿರ್ದೇಶಿಸುವುದು, ಮಾಹಿತಿ ಇಲ್ಲದಿದ್ದಾಗ ನಿರಾಕರಿಸುವುದು ಮತ್ತು “ಎರಡನೆಯದು” ನಂತಹ ಅಸ್ಪಷ್ಟ ಉಲ್ಲೇಖಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳುವುದು.

ಫೈನ್-ಟ್ಯೂನಿಂಗ್ ಅನ್ನು ಒಂದೇ 16 GB GPU ನಲ್ಲಿ ನಡೆಸಲಾಯಿತು.

ಏಜೆಂಟ್ ಏನು ಮಾಡಬಲ್ಲದು

  • ಟೂಲ್ ಆಯ್ಕೆ – ಕ್ವೆರಿಗೆ ಸರ್ಚ್ ಬೇಕೇ, ಕಾರ್ಟ್ ಅಪ್‌ಡೇಟ್ ಬೇಕೇ ಅಥವಾ ಇನ್ನಾವುದೇ ಫಂಕ್ಷನ್ ಬೇಕೇ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ.
  • ಆರ್ಗ್ಯುಮೆಂಟ್ ನಿರ್ವಹಣೆ – ಐಟಂ ಐಡೆಂಟಿಫೈಯರ್‌ಗಳು, ಪ್ರಮಾಣ ಮತ್ತು ಗುಣಲಕ್ಷಣಗಳನ್ನು (ಉದಾಹರಣೆಗೆ, “ಒಂದು ಡಜನ್”) ವಿಶ್ಲೇಷಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಸರಿಯಾಗಿ ವರ್ಗಾಯಿಸುತ್ತದೆ.
  • ರೆಫರೆನ್ಸ್ ರೆಸಲ್ಯೂಶನ್ – “ಎರಡನೆಯದು” ನಂತಹ ಪದಗಳನ್ನು ಪಡೆದ ಪಟ್ಟಿಯಲ್ಲಿರುವ ಸೂಕ್ತ ಐಟಂಗೆ ಲಿಂಕ್ ಮಾಡುತ್ತದೆ.
  • RAG-ಚಾಲಿತ ಉತ್ತರಗಳು – ಸಂಬಂಧಿತ ಪಠ್ಯವನ್ನು ಪಡೆದು ಅದನ್ನು ಉತ್ತರಗಳಲ್ಲಿ ಬಳಸುತ್ತದೆ.
  • ವಿನಯಪೂರ್ವಕ ನಿರಾಕರಣೆ – ಮಾಹಿತಿ ಇಲ್ಲದಿದ್ದಾಗ ತಪ್ಪು ಮಾಹಿತಿ (hallucinating) ನೀಡುವ ಬದಲು ನಿರಾಕರಿಸುತ್ತದೆ.
  • ಸಂಭಾಷಣೆಯ ನಿರ್ವಹಣೆ – ಸಂಭಾಷಣೆಯ ಹರಿವು ತಪ್ಪದಂತೆ ವಿಷಯಾಂತರವಾದ ಮಾತುಗಳನ್ನು ಮತ್ತೆ ಕೆಲಸದ ಕಡೆಗೆ ತಿರುಗಿಸುತ್ತದೆ.

ಲೈವ್ ಡೆಮೊ (https://lajosbencz.github.io/frontend-agent/) ಧ್ವನಿ ಅಥವಾ ಪಠ್ಯ ಇನ್‌ಪುಟ್ ಮೂಲಕ ಬ್ರೌಸಿಂಗ್‌ನಿಂದ ಚೆಕ್‌ಔಟ್ ವರೆಗಿನ ಸರಳ ಇ-ಕಾಮರ್ಸ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಏಜೆಂಟ್ ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ.

ಮಿತಿಗಳು ಮತ್ತು ವಿರೋಧಾಭಿಪ್ರಾಯಗಳು

(ಈ ವಿಭಾಗವನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಖಾಲಿ ಬಿಡಲಾಗಿದೆ)

ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು

ಕೋಡ್‌ಬೇಸ್ (https://github.com/lajosbencz/frontend-agent) ಮುಕ್ತವಾಗಿದ್ದು, ಪರಿಕರಗಳನ್ನು ಸೇರಿಸಲು, ಸಿಂಥೆಟಿಕ್ ರೆಸಿಪಿಗಳನ್ನು ವಿಸ್ತರಿಸಲು ಅಥವಾ ಹೈಬ್ರಿಡ್ ವಿಧಾನಗಳನ್ನು ಪ್ರಯತ್ನಿಸಲು ಸಮುದಾಯವನ್ನು ಆಹ್ವಾನಿಸುತ್ತದೆ.

ಮುಖ್ಯ ಅಂಶ: ಸಾಧಾರಣ ಗಾತ್ರದ LLM ಅನ್ನು ಸ್ವತಂತ್ರ ಏಜೆಂಟ್ ಆಗಿ ಫೈನ್-ಟ್ಯೂನ್ ಮಾಡುವುದರಿಂದ, ಯಾವುದೇ ಸರ್ವರ್‌ಗಳು, ಯಾವುದೇ ಶುಲ್ಕಗಳು ಮತ್ತು ಬಳಕೆದಾರರ ಸಾಧನದಿಂದ ಯಾವುದೇ ಡೇಟಾ ಹೊರಗೆ ಹೋಗದಂತೆ, ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮತ್ತು ಗೌಪ್ಯತೆಯನ್ನು ಕಾಪಾಡುವ AI ಅನ್ನು ನೇರವಾಗಿ ವೆಬ್ ಪುಟದಲ್ಲಿ ಅಳವಡಿಸುವುದು ಸಾಧ್ಯವಾಗುತ್ತದೆ.