|
|
|
|
|
|
|
import sys, os, pytest |
|
import traceback |
|
|
|
sys.path.insert( |
|
0, os.path.abspath("../..") |
|
) |
|
import litellm |
|
|
|
|
|
def test_function_call_non_openai_model(): |
|
try: |
|
model = "claude-instant-1" |
|
messages=[{"role": "user", "content": "what's the weather in sf?"}] |
|
functions = [ |
|
{ |
|
"name": "get_current_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"] |
|
} |
|
}, |
|
"required": ["location"] |
|
} |
|
} |
|
] |
|
response = litellm.completion(model=model, messages=messages, functions=functions) |
|
pytest.fail(f'An error occurred') |
|
except Exception as e: |
|
print(e) |
|
pass |
|
|
|
test_function_call_non_openai_model() |
|
|
|
|
|
def test_function_call_non_openai_model_litellm_mod_set(): |
|
litellm.add_function_to_prompt = True |
|
try: |
|
model = "claude-instant-1" |
|
messages=[{"role": "user", "content": "what's the weather in sf?"}] |
|
functions = [ |
|
{ |
|
"name": "get_current_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"] |
|
} |
|
}, |
|
"required": ["location"] |
|
} |
|
} |
|
] |
|
response = litellm.completion(model=model, messages=messages, functions=functions) |
|
print(f'response: {response}') |
|
except Exception as e: |
|
pytest.fail(f'An error occurred {e}') |
|
|
|
|