Spaces:
Configuration error
Configuration error
# What is this? | |
## This tests the braintrust integration | |
import asyncio | |
import os | |
import random | |
import sys | |
import time | |
import traceback | |
from datetime import datetime | |
from dotenv import load_dotenv | |
from fastapi import Request | |
load_dotenv() | |
import os | |
sys.path.insert( | |
0, os.path.abspath("../..") | |
) # Adds the parent directory to the system path | |
import asyncio | |
import logging | |
from unittest.mock import AsyncMock, MagicMock, patch | |
import pytest | |
import litellm | |
from litellm.llms.custom_httpx.http_handler import HTTPHandler | |
def test_braintrust_logging(): | |
import litellm | |
litellm.set_verbose = True | |
http_client = HTTPHandler() | |
with patch.object( | |
litellm.integrations.braintrust_logging.global_braintrust_sync_http_handler, | |
"post", | |
new=MagicMock(), | |
) as mock_client: | |
# set braintrust as a callback, litellm will send the data to braintrust | |
litellm.callbacks = ["braintrust"] | |
# openai call | |
response = litellm.completion( | |
model="gpt-3.5-turbo", | |
messages=[{"role": "user", "content": "Hi π - i'm openai"}], | |
) | |
time.sleep(2) | |
mock_client.assert_called() | |
def test_braintrust_logging_specific_project_id(): | |
import litellm | |
litellm.set_verbose = True | |
with patch.object( | |
litellm.integrations.braintrust_logging.global_braintrust_sync_http_handler, | |
"post", | |
new=MagicMock(), | |
) as mock_client: | |
# set braintrust as a callback, litellm will send the data to braintrust | |
litellm.callbacks = ["braintrust"] | |
response = litellm.completion(model="openai/gpt-4o", messages=[{ "content": "Hello, how are you?","role": "user"}], metadata={"project_id": "123"}) | |
time.sleep(2) | |
# Check that the log was inserted into the correct project | |
mock_client.assert_called() | |
_, kwargs = mock_client.call_args | |
assert 'url' in kwargs | |
assert kwargs['url'] == "https://api.braintrustdata.com/v1/project_logs/123/insert" | |