Skip to main content

OpenAI SDK Integration

Integrate Proxy with the OpenAI SDK to automatically capture telemetry. Demonstrated with OpenAI’s Python SDK but should work in most languages.

Base URL

https://gateway.adaline.ai/v1/openai/

Chat Completions

Complete Chat

from openai import OpenAI

client = OpenAI(
    api_key="your-openai-api-key",
    base_url="https://gateway.adaline.ai/v1/openai/"
)

headers = {
    "adaline-api-key": "your-adaline-api-key",
    "adaline-project-id": "your-project-id",
    "adaline-prompt-id": "your-prompt-id"
}

response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "What is machine learning?"}
    ],
    extra_headers=headers
)

print(response.choices[0].message.content)

Stream Chat

from openai import OpenAI

client = OpenAI(
    api_key="your-openai-api-key",
    base_url="https://gateway.adaline.ai/v1/openai/"
)

headers = {
    "adaline-api-key": "your-adaline-api-key",
    "adaline-project-id": "your-project-id",
    "adaline-prompt-id": "your-prompt-id"
}

stream = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Explain quantum computing in simple terms."}
    ],
    stream=True,
    stream_options={
        "include_usage": True
    },
    extra_headers=headers
)

for chunk in stream:
    if chunk.choices[0].delta.content is not None:
        print(chunk.choices[0].delta.content, end="")

Embeddings

from openai import OpenAI

client = OpenAI(
    api_key="your-openai-api-key",
    base_url="https://gateway.adaline.ai/v1/openai/"
)

headers = {
    "adaline-api-key": "your-adaline-api-key",
    "adaline-project-id": "your-project-id",
    "adaline-prompt-id": "your-prompt-id"
}

response = client.embeddings.create(
    model="text-embedding-3-small",
    input="The quick brown fox jumps over the lazy dog",
    extra_headers=headers
)

embedding = response.data[0].embedding
print(f"Embedding dimension: {len(embedding)}")

Next Steps