Spaces:
Configuration error
Configuration error
import json | |
import os | |
from unittest.mock import patch | |
import pytest | |
from litellm import completion | |
from litellm.llms.custom_httpx.http_handler import HTTPHandler | |
def test_completion_datarobot(): | |
"""Ensure that the completion function works with DataRobot API.""" | |
messages = [{"role": "user", "content": "What's the weather like in San Francisco?"}] | |
try: | |
client = HTTPHandler() | |
with patch.object(client, "post") as mock_post: | |
response = completion( | |
model="datarobot/vertex_ai/gemini-1.5-flash-002", | |
messages=messages, | |
client=client, | |
max_tokens=5, | |
clientId="custom-model", | |
) | |
print(response) | |
# Add any assertions here to check the response | |
mock_post.assert_called_once() | |
mocks_kwargs = mock_post.call_args.kwargs | |
assert mocks_kwargs["url"] == "https://app.datarobot.com/api/v2/genai/llmgw/chat/completions/" | |
assert mocks_kwargs["headers"]["Authorization"] == "Bearer fake-api-key" | |
json_data = json.loads(mock_post.call_args.kwargs["data"]) | |
assert json_data["clientId"] == "custom-model" | |
except Exception as e: | |
pytest.fail(f"Error occurred: {e}") | |
def test_completion_datarobot_with_deployment(): | |
"""Ensure that deployment URL is used correctly.""" | |
messages = [{"role": "user", "content": "What's the weather like in San Francisco?"}] | |
try: | |
client = HTTPHandler() | |
with patch.object(client, "post") as mock_post: | |
response = completion( | |
model="datarobot/vertex_ai/gemini-1.5-flash-002", | |
messages=messages, | |
client=client, | |
max_tokens=5, | |
clientId="custom-model", | |
) | |
print(response) | |
# Add any assertions here to check the response | |
mock_post.assert_called_once() | |
mocks_kwargs = mock_post.call_args.kwargs | |
assert mocks_kwargs["url"] == "https://app.datarobot.com/api/v2/deployments/deployment_id/" | |
assert mocks_kwargs["headers"]["Authorization"] == "Bearer fake-api-key" | |
json_data = json.loads(mock_post.call_args.kwargs["data"]) | |
assert json_data["clientId"] == "custom-model" | |
except Exception as e: | |
pytest.fail(f"Error occurred: {e}") | |
def test_completion_datarobot_with_environment_variables(): | |
"""Allow the test to run with environment variables if they are set for integrations.""" | |
# If keys are not set, the test will be skipped | |
if os.environ.get("DATAROBOT_API_TOKEN") is None: | |
return | |
messages = [{"role": "user", "content": "What's the weather like in San Francisco?"}] | |
try: | |
response = completion( | |
model="datarobot/vertex_ai/gemini-1.5-flash-002", messages=messages, max_tokens=5, clientId="custom-model" | |
) | |
print(response) | |
assert response["object"] == "chat.completion" | |
assert response["model"] == "gemini-1.5-flash-002" | |
assert len(response["choices"]) == 1 | |
assert len(response["choices"][0]["message"]["content"]) > 0 | |
except Exception as e: | |
pytest.fail(f"Error occurred: {e}") | |