Python Examples

โš ๏ธ BETA: Our API is in beta. Share your feedback!

Complete Python guide for GMTech's API using the OpenAI library.

Installation

pip install openai

Basic Setup

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://app.gmtech.com/api/v1",
    api_key=os.getenv("GMTECH_API_KEY")
)

Simple Chat

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

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

Try Different Models

# OpenAI
response = client.chat.completions.create(
    model="gpt-4-turbo",
    messages=[{"role": "user", "content": "Hello!"}]
)

# Claude
response = client.chat.completions.create(
    model="claude-3-5-sonnet-20241022",
    messages=[{"role": "user", "content": "Hello!"}]
)

# Gemini
response = client.chat.completions.create(
    model="gemini-1.5-pro",
    messages=[{"role": "user", "content": "Hello!"}]
)

Streaming

stream = client.chat.completions.create(
    model="gpt-4-turbo",
    messages=[{"role": "user", "content": "Tell me a story"}],
    stream=True
)

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

Error Handling

from openai import APIError, AuthenticationError, RateLimitError
import time

try:
    response = client.chat.completions.create(
        model="gpt-4-turbo",
        messages=[{"role": "user", "content": "Hello"}]
    )
except AuthenticationError:
    print("Invalid API key")
except RateLimitError:
    print("Rate limit exceeded")
    time.sleep(2)  # Wait and retry
except APIError as e:
    print(f"API error: {e}")

Flask Web App Example

from flask import Flask, request, jsonify
from openai import OpenAI
import os

app = Flask(__name__)
client = OpenAI(
    base_url="https://app.gmtech.com/api/v1",
    api_key=os.getenv("GMTECH_API_KEY")
)

@app.route('/chat', methods=['POST'])
def chat():
    data = request.json

    try:
        response = client.chat.completions.create(
            model=data.get('model', 'gpt-3.5-turbo'),
            messages=data['messages']
        )

        return jsonify({
            'response': response.choices[0].message.content,
            'tokens': response.usage.total_tokens
        })
    except Exception as e:
        return jsonify({'error': str(e)}), 500

if __name__ == '__main__':
    app.run(debug=True)

Image Generation

response = client.images.generate(
    model="dall-e-3",
    prompt="A futuristic city",
    size="1024x1024"
)

print(response.data[0].url)

Async Operations

import asyncio
from openai import AsyncOpenAI

async_client = AsyncOpenAI(
    base_url="https://app.gmtech.com/api/v1",
    api_key=os.getenv("GMTECH_API_KEY")
)

async def async_chat():
    response = await async_client.chat.completions.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": "Hello!"}]
    )
    return response.choices[0].message.content

# Run
result = asyncio.run(async_chat())
print(result)

Next Steps


Need help? Contact support

results matching ""

    No results matching ""