firstAI / usage_examples.py
ndc8
πŸš€ Add multimodal AI capabilities with image-text-to-text pipeline
4e10023
raw
history blame
4.17 kB
#!/usr/bin/env python3
"""
Simple usage example for the AI Backend Service
Demonstrates how to interact with the OpenAI-compatible API
"""
import requests
import json
# Configuration
BASE_URL = "http://localhost:8000"
def test_simple_chat():
"""Simple chat completion example"""
print("πŸ€– Simple Chat Example")
print("-" * 30)
response = requests.post(f"{BASE_URL}/v1/chat/completions", json={
"model": "microsoft/DialoGPT-medium",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "What is the capital of France?"}
],
"max_tokens": 100,
"temperature": 0.7
})
if response.status_code == 200:
data = response.json()
message = data["choices"][0]["message"]["content"]
print(f"Assistant: {message}")
else:
print(f"Error: {response.status_code} - {response.text}")
print()
def test_streaming_chat():
"""Streaming chat completion example"""
print("🌊 Streaming Chat Example")
print("-" * 30)
response = requests.post(f"{BASE_URL}/v1/chat/completions", json={
"model": "microsoft/DialoGPT-medium",
"messages": [
{"role": "user", "content": "Tell me a fun fact about space"}
],
"max_tokens": 150,
"temperature": 0.8,
"stream": True
}, stream=True)
if response.status_code == 200:
print("Assistant: ", end="", flush=True)
for line in response.iter_lines():
if line:
line_str = line.decode('utf-8')
if line_str.startswith('data: '):
data_part = line_str[6:]
if data_part == '[DONE]':
break
try:
chunk = json.loads(data_part)
if 'choices' in chunk and chunk['choices']:
delta = chunk['choices'][0].get('delta', {})
if 'content' in delta:
print(delta['content'], end='', flush=True)
except json.JSONDecodeError:
pass
print("\n")
else:
print(f"Error: {response.status_code} - {response.text}")
print()
def test_text_completion():
"""Text completion example"""
print("πŸ“ Text Completion Example")
print("-" * 30)
response = requests.post(f"{BASE_URL}/v1/completions", json={
"prompt": "The best programming language for beginners is",
"max_tokens": 80,
"temperature": 0.6
})
if response.status_code == 200:
data = response.json()
completion = data["choices"][0]["text"]
print(f"Completion: {completion}")
else:
print(f"Error: {response.status_code} - {response.text}")
print()
def test_service_info():
"""Get service information"""
print("ℹ️ Service Information")
print("-" * 30)
# Health check
health = requests.get(f"{BASE_URL}/health")
if health.status_code == 200:
print(f"Service Status: {health.json()['status']}")
print(f"Model: {health.json()['model']}")
# Available models
models = requests.get(f"{BASE_URL}/v1/models")
if models.status_code == 200:
model_list = models.json()["data"]
print(f"Available Models: {len(model_list)}")
for model in model_list:
print(f" - {model['id']}")
print()
if __name__ == "__main__":
print("πŸš€ AI Backend Service - Usage Examples")
print("=" * 50)
try:
test_service_info()
test_simple_chat()
test_text_completion()
test_streaming_chat()
print("βœ… All examples completed successfully!")
except requests.exceptions.ConnectionError:
print("❌ Could not connect to the service.")
print("Make sure the backend service is running on http://localhost:8000")
print("Start it with: python backend_service.py --port 8000")
except Exception as e:
print(f"❌ Error: {e}")