Spaces:
Configuration error
Configuration error
import json | |
import os | |
import sys | |
from datetime import datetime | |
from unittest.mock import AsyncMock | |
sys.path.insert( | |
0, os.path.abspath("../..") | |
) # Adds the parent directory to the system path | |
import httpx | |
import pytest | |
from respx import MockRouter | |
from unittest.mock import patch, MagicMock, AsyncMock | |
import litellm | |
from litellm import Choices, Message, ModelResponse, EmbeddingResponse, Usage | |
from litellm import completion | |
def test_completion_nvidia_nim(): | |
from openai import OpenAI | |
litellm.set_verbose = True | |
model_name = "nvidia_nim/databricks/dbrx-instruct" | |
client = OpenAI( | |
api_key="fake-api-key", | |
) | |
with patch.object( | |
client.chat.completions.with_raw_response, "create" | |
) as mock_client: | |
try: | |
completion( | |
model=model_name, | |
messages=[ | |
{ | |
"role": "user", | |
"content": "What's the weather like in Boston today in Fahrenheit?", | |
} | |
], | |
presence_penalty=0.5, | |
frequency_penalty=0.1, | |
client=client, | |
) | |
except Exception as e: | |
print(e) | |
# Add any assertions here to check the response | |
mock_client.assert_called_once() | |
request_body = mock_client.call_args.kwargs | |
print("request_body: ", request_body) | |
assert request_body["messages"] == [ | |
{ | |
"role": "user", | |
"content": "What's the weather like in Boston today in Fahrenheit?", | |
}, | |
] | |
assert request_body["model"] == "databricks/dbrx-instruct" | |
assert request_body["frequency_penalty"] == 0.1 | |
assert request_body["presence_penalty"] == 0.5 | |
def test_embedding_nvidia_nim(): | |
litellm.set_verbose = True | |
from openai import OpenAI | |
client = OpenAI( | |
api_key="fake-api-key", | |
) | |
with patch.object(client.embeddings.with_raw_response, "create") as mock_client: | |
try: | |
litellm.embedding( | |
model="nvidia_nim/nvidia/nv-embedqa-e5-v5", | |
input="What is the meaning of life?", | |
input_type="passage", | |
dimensions=1024, | |
client=client, | |
) | |
except Exception as e: | |
print(e) | |
mock_client.assert_called_once() | |
request_body = mock_client.call_args.kwargs | |
print("request_body: ", request_body) | |
assert request_body["input"] == "What is the meaning of life?" | |
assert request_body["model"] == "nvidia/nv-embedqa-e5-v5" | |
assert request_body["extra_body"]["input_type"] == "passage" | |
assert request_body["dimensions"] == 1024 | |
def test_chat_completion_nvidia_nim_with_tools(): | |
from openai import OpenAI | |
litellm.set_verbose = True | |
model_name = "nvidia_nim/meta/llama3-70b-instruct" | |
client = OpenAI( | |
api_key="fake-api-key", | |
) | |
# Define tools | |
tools = [ | |
{ | |
"type": "function", | |
"function": { | |
"name": "get_weather", | |
"description": "Get the current weather in a given location", | |
"parameters": { | |
"type": "object", | |
"properties": { | |
"location": { | |
"type": "string", | |
"description": "The city and state, e.g. San Francisco, CA", | |
}, | |
"unit": { | |
"type": "string", | |
"enum": ["celsius", "fahrenheit"], | |
"description": "The unit of temperature to use", | |
}, | |
}, | |
"required": ["location"], | |
}, | |
}, | |
}, | |
{ | |
"type": "function", | |
"function": { | |
"name": "get_current_time", | |
"description": "Get the current time in a given timezone", | |
"parameters": { | |
"type": "object", | |
"properties": { | |
"timezone": { | |
"type": "string", | |
"description": "The timezone, e.g. EST, PST", | |
}, | |
}, | |
"required": ["timezone"], | |
}, | |
}, | |
}, | |
] | |
with patch.object( | |
client.chat.completions.with_raw_response, "create" | |
) as mock_client: | |
try: | |
completion( | |
model=model_name, | |
messages=[ | |
{ | |
"role": "user", | |
"content": "What's the weather like in Boston today and what time is it in EST?", | |
} | |
], | |
tools=tools, | |
tool_choice="auto", | |
parallel_tool_calls=True, | |
temperature=0.7, | |
client=client, | |
) | |
except Exception as e: | |
print(e) | |
# Add assertions to check the request | |
mock_client.assert_called_once() | |
request_body = mock_client.call_args.kwargs | |
print("request_body: ", request_body) | |
assert request_body["messages"] == [ | |
{ | |
"role": "user", | |
"content": "What's the weather like in Boston today and what time is it in EST?", | |
}, | |
] | |
assert request_body["model"] == "meta/llama3-70b-instruct" | |
assert request_body["temperature"] == 0.7 | |
assert request_body["tools"] == tools | |
assert request_body["tool_choice"] == "auto" | |
assert request_body["parallel_tool_calls"] == True | |