Azure OpenAI
Neatlogs offers seamless integration with Azure OpenAI, Microsoft's cloud-based OpenAI service.
Installation
To get started with Azure OpenAI, you'll need to install the package:
pip install neatlogs openai
Setting Up API Keys
Before using Azure OpenAI with Neatlogs, you need to set up your API keys. You can obtain:
AZURE_OPENAI_ENDPOINT
: From your Azure PortalAZURE_OPENAI_API_KEY
: From your Azure PortalAZURE_OPENAI_API_VERSION
: From your Azure PortalAZURE_OPENAI_DEPLOYMENT_NAME
: From your Azure PortalPROJECT_API_KEY
: From your Neatlogs Dashboard
Then to set them up, you can either export them as environment variables or set them in a .env
file:
AZURE_OPENAI_ENDPOINT="your_azure_endpoint_here"
AZURE_OPENAI_API_KEY="your_azure_api_key_here"
AZURE_OPENAI_API_VERSION="2024-02-01"
AZURE_OPENAI_DEPLOYMENT_NAME="your_deployment_name_here"
Then load the environment variables in your Python code:
from dotenv import load_dotenv
import os
# Load environment variables from .env file
load_dotenv()
os.getenv("AZURE_OPENAI_ENDPOINT")
os.getenv("AZURE_OPENAI_API_KEY")
os.getenv("AZURE_OPENAI_API_VERSION")
os.getenv("AZURE_OPENAI_DEPLOYMENT_NAME")
Usage
Once you've set up your Azure OpenAI integration, integrating Neatlogs takes just two lines of code:
import neatlogs
neatlogs.init(api_key="<YOUR_API_KEY>")
Examples
Here's a simple example of how to use Azure OpenAI with Neatlogs:
"""
azure_chat.py
Minimal interactive Azure-OpenAI chat client.
"""
from openai import AzureOpenAI
import os
from typing import List, Dict
from dotenv import load_dotenv
import neatlogs
load_dotenv()
neatlogs.init(api_key=<"PROJECT_API_KEY">, tags=["llm-call"])
client = AzureOpenAI(
azure_endpoint=os.getenv("AZURE_OPENAI_ENDPOINT"),
api_key=os.getenv("AZURE_OPENAI_API_KEY"),
api_version=os.getenv("AZURE_OPENAI_API_VERSION"),
)
DEPLOYMENT = os.getenv("AZURE_OPENAI_DEPLOYMENT_NAME")
if not DEPLOYMENT:
raise RuntimeError("Set AZURE_OPENAI_DEPLOYMENT_NAME in your .env file")
def generate_response(messages: List[Dict[str, str]]) -> str:
"""Call the Azure OpenAI chat endpoint and return the assistant's reply."""
response = client.chat.completions.create(
model=DEPLOYMENT,
messages=messages,
temperature=0.7,
max_tokens=800,
)
return response.choices[0].message.content.strip()
# -------------------------------------------------
# MAIN LOOP
# -------------------------------------------------
if __name__ == "__main__":
history: List[Dict[str, str]] = [
{"role": "system", "content": "You are a helpful assistant."}
]
print("Azure OpenAI Chat (Ctrl-C to quit)\n")
while True:
query = input("> ")
if not query.strip():
continue
history.append({"role": "user", "content": query})
answer = generate_response(history)
history.append({"role": "assistant", "content": answer})
print(f"🤖: {answer}\n")
After that, every API call is automatically traced and visualized in Neatlogs, perfect for debugging, evaluating and collaborating.
For more information on Azure OpenAI, check out their comprehensive documentation.