LLM ਗੇਟਵੇਜ਼: ਰੂਟਿੰਗ, ਫਾਲਬੈਕਸ, ਅਤੇ ਸੈਮੈਂਟਿਕ ਕੈਸ਼ਿੰਗ

ਕੋਡ ਦੀ ਇੱਕ ਲਾਈਨ ਤੁਹਾਡੇ AI ਬਜਟ ਨੂੰ ਵਿਗਾੜ ਸਕਦੀ ਹੈ।

ਜੇਕਰ ਤੁਸੀਂ ਆਪਣੇ ਐਪ ਵਿੱਚ ਕਿਸੇ ਇੱਕ ਮਾਡਲ ਪ੍ਰੋਵਾਈਡਰ ਨੂੰ ਹਾਰਡਕੋਡ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਤਿੰਨ ਜੋਖਮਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ:

  • ਸਧਾਰਨ ਕੰਮਾਂ ਲਈ ਉੱਚੀ ਲਾਗਤ।
  • ਜਦੋਂ ਕੋਈ ਪ੍ਰੋਵਾਈਡਰ ਡਾਊਨ ਹੋ ਜਾਂਦਾ ਹੈ ਤਾਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੇਵਾਵਾਂ ਦਾ ਬੰਦ ਹੋਣਾ।
  • ਇੱਕੋ ਜਵਾਬ ਲਈ ਹਜ਼ਾਰਾਂ ਵਾਰ ਭੁਗਤਾਨ ਕਰਨਾ।

ਇੱਕ LLM ਗੇਟਵੇ ਤੁਹਾਡੇ ਐਪ ਅਤੇ ਤੁਹਾਡੇ ਮਾਡਲਾਂ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਪ੍ਰੌਕਸੀ (proxy) ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਤਿੰਨ ਮਹੱਤਵਪੂਰਨ ਕੰਮ ਸੰਭਾਲਦਾ ਹੈ: ਰੂਟਿੰਗ, ਫਾਲਬੈਕਸ, ਅਤੇ ਕੈਸ਼ਿੰਗ।

  1. ਰੂਟਿੰਗ (Routing) ਜ਼ਿਆਦਾਤਰ ਐਪਸ ਹਰ ਰਿਕਵੈਸਟ ਨੂੰ ਸਭ ਤੋਂ ਮਹਿੰਗੇ ਮਾਡਲ ਨੂੰ ਭੇਜਦੀਆਂ ਹਨ। ਇਹ ਬੇਲੋੜਾ ਖਰਚਾ ਹੈ। ਸੌਖੇ ਕੰਮਾਂ ਨੂੰ ਸਸਤੇ ਮਾਡਲਾਂ ਨੂੰ ਭੇਜਣ ਲਈ ਰੂਟਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਸਟੈਟਿਕ ਰੂਟਿੰਗ (Static routing): ਯੂਜ਼ਰ ਟਾਇਰਾਂ ਜਾਂ ਕੰਮਾਂ ਦੀਆਂ ਕਿਸਮਾਂ ਦੇ ਅਧਾਰ 'ਤੇ ਨਿਯਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ।
  • ਲਾਗਤ/ਲੇਟੈਂਸੀ ਰੂਟਿੰਗ (Cost/Latency routing): ਸਭ ਤੋਂ ਤੇਜ਼ ਜਾਂ ਸਭ ਤੋਂ ਸਸਤਾ ਉਪਲਬਧ ਮਾਡਲ ਚੁਣੋ।
  • ਮੁਸ਼ਕਲ ਰੂਟਿੰਗ (Difficulty routing): ਇਹ ਫੈਸਲਾ ਲੈਣ ਲਈ ਕਿ ਕੀ ਕਿਸੇ ਕੰਮ ਲਈ ਵੱਡੇ ਮਾਡਲ ਦੀ ਲੋੜ ਹੈ, ਇੱਕ ਛੋਟੇ ਮਾਡਲ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਖੋਜ ਦਰਸਾਉਂਦੀ ਹੈ ਕਿ ਸਮਾਰਟ ਰੂਟਿੰਗ ਲਾਗਤਾਂ ਵਿੱਚ 80% ਤੋਂ ਵੱਧ ਦੀ ਕਟੌਤੀ ਕਰਦੇ ਹੋਏ ਉੱਚ ਗੁਣਵੱਤਾ ਬਣਾਈ ਰੱਖ ਸਕਦੀ ਹੈ।
  1. ਫਾਲਬੈਕਸ (Fallbacks) ਪ੍ਰੋਵਾਈਡਰ ਅਸਫਲ ਹੋ ਸਕਦੇ ਹਨ। ਉਹ ਰੇਟ ਲਿਮਿਟਾਂ (rate limits) ਤੱਕ ਪਹੁੰਚ ਜਾਂਦੇ ਹਨ ਜਾਂ ਆਫਲਾਈਨ ਹੋ ਜਾਂਦੇ ਹਨ। ਇੱਕ ਗੇਟਵੇ ਫਾਲਬੈਕ ਚੇਨ (fallback chain) ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਹਾਡਾ ਮੁੱਖ ਮਾਡਲ ਅਸਫਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਗੇਟਵੇ ਆਪਣੇ ਆਪ ਤੁਹਾਡੀ ਸੂਚੀ ਵਿੱਚ ਅਗਲੇ ਮਾਡਲ ਨੂੰ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਰੁਕਾਵਟਾਂ ਨੂੰ ਹੋਰ ਵਿਗੜਨ ਤੋਂ ਬਚਾਉਣ ਲਈ, ਇਹ ਪੈਟਰਨ ਵਰਤੋ:
  • ਐਕਸਪੋਨੈਂਸ਼ੀਅਲ ਬੈਕਆਫ (Exponential backoff): ਇੱਕ ਸੰਘਰਸ਼ ਕਰ ਰਹੇ ਪ੍ਰੋਵਾਈਡਰ 'ਤੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਦਬਾਅ ਪਾਉਣ ਤੋਂ ਬਚਣ ਲਈ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੇ ਸਮੇਂ ਵਿੱਚ ਅੰਤਰ ਰੱਖੋ।
  • ਸਰਕਟ ਬ੍ਰੇਕਿੰਗ (Circuit breaking): ਇੱਕ ਨਿਸ਼ਚਿਤ ਸਮੇਂ ਲਈ ਅਸਫਲ ਹੋ ਰਹੇ ਪ੍ਰੋਵਾਈਡਰ ਨੂੰ ਟ੍ਰੈਫਿਕ ਭੇਜਣਾ ਬੰਦ ਕਰ ਦਿਓ। ਇਹ ਟਾਈਮਆਊਟ ਦੀ ਉਡੀਕ ਕਰਨ ਦੀ ਬਜਾਏ ਤੁਰੰਤ ਫੇਲਓਵਰ (failover) ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ।
  1. ਸੈਮੈਂਟਿਕ ਕੈਸ਼ਿੰਗ (Semantic Caching) ਸਟੈਂਡਰਡ ਕੈਸ਼ਿੰਗ ਬਿਲਕੁਲ ਸਹੀ ਟੈਕਸਟ ਮੈਚ ਦੀ ਭਾਲ ਕਰਦੀ ਹੈ। LLMs ਲਈ ਇਹ ਅਸਫਲ ਰਹਿੰਦੀ ਹੈ ਕਿਉਂਕਿ ਯੂਜ਼ਰ ਸਵਾਲਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨਾਲ ਪੁੱਛਦੇ ਹਨ। ਸੈਮੈਂਟਿਕ ਕੈਸ਼ਿੰਗ ਅਰਥ (meaning) ਨੂੰ ਦੇਖਦੀ ਹੈ। ਇਹ ਇੱਕ ਪ੍ਰੋਂਪਟ ਨੂੰ ਵੈਕਟਰ (vector) ਵਿੱਚ ਬਦਲਦੀ ਹੈ ਅਤੇ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਕੀ ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਅਜਿਹਾ ਹੀ ਕੋਈ ਸਵਾਲ ਮੌਜੂਦ ਹੈ।
  • ਫਾਇਦਾ: ਕੈਸ਼ ਹਿੱਟ (cache hit) ਵਿੱਚ 5ms ਲੱਗਦੇ ਹਨ ਅਤੇ ਇਸਦੀ ਲਾਗਤ $0 ਹੁੰਦੀ ਹੈ। ਮਾਡਲ ਕਾਲ ਵਿੱਚ ਸੈਕਿੰਡ ਲੱਗਦੇ ਹਨ ਅਤੇ ਟੋਕਨਾਂ ਦੀ ਲਾਗਤ ਆਉਂਦੀ ਹੈ।
  • ਖਤਰਾ: ਆਪਣੀ ਸਮਾਨਤਾ ਸੀਮਾ (similarity threshold) ਨੂੰ ਬਹੁਤ ਘੱਟ ਰੱਖਣ ਨਾਲ ਗਲਤ ਜਵਾਬ ਮਿਲ ਸਕਦੇ ਹਨ। ਜੇਕਰ ਸੀਮਾ ਬਹੁਤ ਢਿੱਲੀ ਹੈ, ਤਾਂ "ਪਾਸਵਰਡ ਰੀਸੈੱਟ ਕਰਨ" ਬਾਰੇ ਪੁੱਛੇ ਗਏ ਸਵਾਲ ਦਾ ਜਵਾਬ "ਈਮੇਲ ਬਦਲਣ" ਬਾਰੇ ਮਿਲ ਸਕਦਾ ਹੈ।

ਬਣਾਓ ਜਾਂ ਖਰੀਦੋ?

  • ਬਣਾਓ (Build): ਬੇਸਿਕ ਫਾਲਬੈਕਸ ਜਾਂ ਐਕਜ਼ੈਕਟ-ਮੈਚ ਕੈਸ਼ਿੰਗ ਵਰਗੀਆਂ ਸਧਾਰਨ ਲੋੜਾਂ ਲਈ ਵਧੀਆ ਹੈ।
  • ਖਰੀਦੋ/ਓਪਨ ਸੋਰਸ (Buy/Open Source): ਜਦੋਂ ਤੁਹਾਨੂੰ ਸੈਮੈਂਟਿਕ ਕੈਸ਼ਿੰਗ, ਆਬਜ਼ਰਵੇਬਿਲਟੀ (observability), ਅਤੇ ਗੁੰਝਲਦਾਰ ਫੇਲਓਵਰ ਲੌਜਿਕ ਦੀ ਲੋੜ ਹੋਵੇ, ਤਾਂ LiteLLM ਵਰਗੇ ਟੂਲ ਜਾਂ ਮੈਨੇਜਡ ਸਰਵਿਸਿਜ਼ ਦੀ ਵਰਤੋਂ ਕਰੋ।

ਇੱਕ ਗੇਟਵੇ ਇਨਫਰਾਸਟ੍ਰਕਚਰ ਹੈ,

ਸਰੋਤ: https://dev.to/nazar_boyko/llm-gateways-routing-fallbacks-and-semantic-caching-1n2b

ਵਿਕਲਪਿਕ ਲਰਨਿੰਗ ਕਮਿਊਨਿਟੀ: https://t.me/GyaanSetuAi