Files
Auto-GPT/agbenchmark/get_data_from_helicone.py
merwanehamadi ad00a0634e Get helicone costs (#220)
Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-07-30 21:33:09 -07:00

54 lines
1.4 KiB
Python

import os
from typing import Optional
import requests
from agbenchmark.start_benchmark import BENCHMARK_START_TIME
def get_data_from_helicone(challenge: str) -> Optional[float]:
# Define the endpoint of your GraphQL server
url = "https://www.helicone.ai/api/graphql"
# Set the headers, usually you'd need to set the content type and possibly an authorization token
headers = {"authorization": "Bearer {os.environ.get('HELICONE_API_KEY')}"}
# Define the query, variables, and operation name
query = """
query ExampleQuery {
aggregatedHeliconeRequest {
cost
}
}
"""
variables = {
"filters": [
{
"property": {
"value": {"equals": os.environ.get("AGENT_NAME")},
"name": "agent",
}
},
{
"property": {
"value": {"equals": BENCHMARK_START_TIME},
"name": "benchmark_start_time",
}
},
{"property": {"value": {"equals": challenge}, "name": "challenge"}},
]
}
operation_name = "ExampleQuery"
# Make the request
response = requests.post(
url,
headers=headers,
json={"query": query, "variables": variables, "operationName": operation_name},
)
data = response.json()
return data.get("data", {}).get("aggregatedHeliconeRequest", {}).get("cost", None)