Nginx AI Gateway: Production Setup Guide
Configuring Nginx as an AI API gateway with rate limiting
Nginx AI Gateway: Production Setup Guide
Configuring Nginx as an AI API gateway with rate limiting
Nginx AI Gateway Overview Configuring Nginx as an AI API gateway with rate limiting. This guide provides practical, production-ready implementations. **Category**: ai-infrastructure **Primary Tool**: nginx **Tags**: infrastructure, devops, ngi
Nginx AI Gateway
Overview
Configuring Nginx as an AI API gateway with rate limiting. This guide provides practical, production-ready implementations.
Category: ai-infrastructure Primary Tool: nginx Tags: infrastructure, devops, nginx, production
Prerequisites
bash
pip install openai anthropic nginx python-dotenv
export OPENAI_API_KEY="sk-..."
Core Implementation
python
import os
from openai import OpenAI
from typing import Optional, Any
import jsonclient = OpenAI()
class Nginx_AI_Gateway:
"""Nginx AI Gateway
Configuring Nginx as an AI API gateway with rate limiting
"""
def __init__(self, model: str = "gpt-4o", temperature: float = 0.3):
self.client = OpenAI()
self.model = model
self.temperature = temperature
self.system = """You are an AI expert in ai-infrastructure.
Provide accurate, practical, production-ready assistance.
Be clear, concise, and well-structured."""
def run(self, query: str, context: Optional[dict] = None) -> dict:
"""Execute the main workflow."""
messages = [{"role": "system", "content": self.system}]
if context:
messages.append({
"role": "user",
"content": f"Context: {json.dumps(context, indent=2)}"
})
messages.append({"role": "user", "content": query})
response = self.client.chat.completions.create(
model=self.model,
messages=messages,
temperature=self.temperature,
max_tokens=2000
)
return {
"output": response.choices[0].message.content,
"model": self.model,
"tokens": response.usage.total_tokens,
"category": "ai-infrastructure"
}
def batch_run(self, queries: list[str]) -> list[dict]:
"""Process multiple queries."""
return [self.run(q) for q in queries]
Usage
tool_instance = Nginx_AI_Gateway()
result = tool_instance.run("How do I implement nginx ai gateway?")
print(result["output"])
Advanced Usage
python
from fastapi import FastAPI, HTTPException
from pydantic import BaseModelapp = FastAPI(title="Nginx AI Gateway API")
tool_instance = Nginx_AI_Gateway()
class Request(BaseModel):
query: str
context: dict = {}
@app.post("/run")
async def run_endpoint(req: Request):
try:
result = tool_instance.run(req.query, req.context)
return result
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@app.get("/health")
async def health():
return {"status": "ok", "tool": "Nginx AI Gateway"}
Best Practices
Testing
python
import pytest@pytest.fixture
def tool():
return Nginx_AI_Gateway(model="gpt-4o-mini")
def test_basic_functionality(tool):
result = tool.run("Test query for Nginx AI Gateway")
assert "output" in result
assert len(result["output"]) > 10
assert result["category"] == "ai-infrastructure"
def test_batch_processing(tool):
queries = ["Query 1", "Query 2", "Query 3"]
results = tool.batch_run(queries)
assert len(results) == 3
assert all("output" in r for r in results)
Resources
相关工具