$ -weight: 500;">pip -weight: 500;">install langchain
-weight: 500;">pip -weight: 500;">install langchain-openai
-weight: 500;">pip -weight: 500;">install langchain-anthropic
-weight: 500;">pip -weight: 500;">install langchain-google-genai
-weight: 500;">pip -weight: 500;">install python-dotenv
-weight: 500;">pip -weight: 500;">install langchain
-weight: 500;">pip -weight: 500;">install langchain-openai
-weight: 500;">pip -weight: 500;">install langchain-anthropic
-weight: 500;">pip -weight: 500;">install langchain-google-genai
-weight: 500;">pip -weight: 500;">install python-dotenv
-weight: 500;">pip -weight: 500;">install langchain
-weight: 500;">pip -weight: 500;">install langchain-openai
-weight: 500;">pip -weight: 500;">install langchain-anthropic
-weight: 500;">pip -weight: 500;">install langchain-google-genai
-weight: 500;">pip -weight: 500;">install python-dotenv
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
GOOGLE_API_KEY=your_key
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
GOOGLE_API_KEY=your_key
OPENAI_API_KEY=your_key
ANTHROPIC_API_KEY=your_key
GOOGLE_API_KEY=your_key
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
from langchain_google_genai import ChatGoogleGenerativeAI openai_llm = ChatOpenAI( model="gpt-4o-mini", temperature=0
) anthropic_llm = ChatAnthropic( model="claude-3-haiku-20240307", temperature=0
) gemini_llm = ChatGoogleGenerativeAI( model="gemini-1.5-pro", temperature=0
)
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
from langchain_google_genai import ChatGoogleGenerativeAI openai_llm = ChatOpenAI( model="gpt-4o-mini", temperature=0
) anthropic_llm = ChatAnthropic( model="claude-3-haiku-20240307", temperature=0
) gemini_llm = ChatGoogleGenerativeAI( model="gemini-1.5-pro", temperature=0
)
from langchain_openai import ChatOpenAI
from langchain_anthropic import ChatAnthropic
from langchain_google_genai import ChatGoogleGenerativeAI openai_llm = ChatOpenAI( model="gpt-4o-mini", temperature=0
) anthropic_llm = ChatAnthropic( model="claude-3-haiku-20240307", temperature=0
) gemini_llm = ChatGoogleGenerativeAI( model="gemini-1.5-pro", temperature=0
)
class LLMGateway: def __init__(self): self.models = { "openai": openai_llm, "anthropic": anthropic_llm, "gemini": gemini_llm } def invoke(self, provider, prompt): llm = self.models.get(provider) if not llm: raise ValueError("Provider not found") return llm.invoke(prompt)
class LLMGateway: def __init__(self): self.models = { "openai": openai_llm, "anthropic": anthropic_llm, "gemini": gemini_llm } def invoke(self, provider, prompt): llm = self.models.get(provider) if not llm: raise ValueError("Provider not found") return llm.invoke(prompt)
class LLMGateway: def __init__(self): self.models = { "openai": openai_llm, "anthropic": anthropic_llm, "gemini": gemini_llm } def invoke(self, provider, prompt): llm = self.models.get(provider) if not llm: raise ValueError("Provider not found") return llm.invoke(prompt)
gateway = LLMGateway() response = gateway.invoke( "openai", "Explain Kubernetes in simple terms"
) print(response.content)
gateway = LLMGateway() response = gateway.invoke( "openai", "Explain Kubernetes in simple terms"
) print(response.content)
gateway = LLMGateway() response = gateway.invoke( "openai", "Explain Kubernetes in simple terms"
) print(response.content)
def smart_route(prompt): if "code" in prompt.lower(): return "openai" elif len(prompt) > 500: return "anthropic" return "gemini"
def smart_route(prompt): if "code" in prompt.lower(): return "openai" elif len(prompt) > 500: return "anthropic" return "gemini"
def smart_route(prompt): if "code" in prompt.lower(): return "openai" elif len(prompt) > 500: return "anthropic" return "gemini"
provider = smart_route(user_prompt) response = gateway.invoke( provider, user_prompt
)
provider = smart_route(user_prompt) response = gateway.invoke( provider, user_prompt
)
provider = smart_route(user_prompt) response = gateway.invoke( provider, user_prompt
)
def invoke_with_fallback(prompt): providers = [ "openai", "anthropic", "gemini" ] for provider in providers: try: return gateway.invoke(provider, prompt) except Exception as e: print(f"{provider} failed: {e}") raise Exception("All providers failed")
def invoke_with_fallback(prompt): providers = [ "openai", "anthropic", "gemini" ] for provider in providers: try: return gateway.invoke(provider, prompt) except Exception as e: print(f"{provider} failed: {e}") raise Exception("All providers failed")
def invoke_with_fallback(prompt): providers = [ "openai", "anthropic", "gemini" ] for provider in providers: try: return gateway.invoke(provider, prompt) except Exception as e: print(f"{provider} failed: {e}") raise Exception("All providers failed")
import time def monitored_invoke(provider, prompt): -weight: 500;">start = time.time() response = gateway.invoke(provider, prompt) end = time.time() print(f""" Provider: {provider} Latency: {end--weight: 500;">start:.2f}s """) return response
import time def monitored_invoke(provider, prompt): -weight: 500;">start = time.time() response = gateway.invoke(provider, prompt) end = time.time() print(f""" Provider: {provider} Latency: {end--weight: 500;">start:.2f}s """) return response
import time def monitored_invoke(provider, prompt): -weight: 500;">start = time.time() response = gateway.invoke(provider, prompt) end = time.time() print(f""" Provider: {provider} Latency: {end--weight: 500;">start:.2f}s """) return response - Different APIs
- Different authentication methods
- Different pricing
- Different rate limits
- Different strengths and weaknesses - Google Gemini
- Open-source hosted models - Intelligent model routing
- Security and guardrails
- Semantic caching
- Observability and monitoring
- Retry and fallback handling
- Cost optimization
- Governance and compliance - Users or applications send prompts to the centralized LLM Gateway.
- The gateway applies routing logic, security policies, and governance controls.
- Requests are intelligently routed to the most suitable model provider.
- Observability systems collect metrics, logs, latency, and token usage.
- Fallback mechanisms ensure high availability during provider failures.
- Responses are securely returned back to the application. - Centralized governance
- Multi-model support
- Dynamic routing
- Reduced operational complexity
- Better reliability
- Improved security - Improved reliability
- Better availability
- Reduced downtime - Token usage
- Hallucinations
- Rate limits - OpenTelemetry - Prompt injection protection
- PII masking
- Output moderation
- RBAC enforcement
- Audit logging
- Rate limiting - SaaS platforms
- Enterprise AI systems - Summarization
- Translation - Cleaner APIs
- Better middleware support
- Simplified abstractions
- Improved production readiness
- LangGraph integration - Semantic caching
- Streaming responses
- Tool calling
- AI workflow orchestration
- Human approval systems
- Dynamic pricing-aware routing
- RAG integrations
- AI governance policies - Reliability
- Cost control
- Smart routing - Observability
- Policy enforcement
- Infrastructure abstraction
- Scalability - LangChain Documentation: https://docs.langchain.com/
- LangChain GitHub: https://github.com/langchain-ai/langchain
- Manish Pandey GitHub: https://github.com/mpandey95
- Manish Pandey LinkedIn: https://www.linkedin.com/in/manish-pandey95/ - DevOps Automation
- AI Infrastructure
- Platform Engineering
- Cloud Security & Governance - Platform Engineering
- AI Infrastructure
- Cloud Security
- GenAI Engineering