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
- JavaScript Examples - Frontend and Node.js
- cURL Examples - Command-line testing
- API Overview - Complete API docs
Need help? Contact support