import os
import asyncio
from metorial import Metorial
from openai import AsyncOpenAI
async def call_metorial(
message: str,
deployment_id: str = None,
model: str = "gpt-4o",
max_steps: int = 25
):
# Get credentials from environment
metorial_api_key = os.getenv('METORIAL_API_KEY')
openai_api_key = os.getenv('OPENAI_API_KEY')
deployment_id = deployment_id or os.getenv('METORIAL_DEPLOYMENT_ID')
if not all([metorial_api_key, openai_api_key, deployment_id]):
raise ValueError("Missing environment variables: METORIAL_API_KEY, OPENAI_API_KEY, METORIAL_DEPLOYMENT_ID")
# Initialize clients
metorial = Metorial(api_key=metorial_api_key)
openai = AsyncOpenAI(api_key=openai_api_key)
# Run query
response = await metorial.run(
message=message,
server_deployments=[deployment_id],
client=openai,
model=model,
max_steps=max_steps
)
return response.text