nnnn / litellm /tests /test_langfuse.py
nonhuman's picture
Upload 165 files
395201c
import sys
import os
import io, asyncio
# import logging
# logging.basicConfig(level=logging.DEBUG)
sys.path.insert(0, os.path.abspath('../..'))
from litellm import completion
import litellm
litellm.num_retries = 3
litellm.success_callback = ["langfuse"]
# litellm.set_verbose = True
import time
import pytest
def test_langfuse_logging_async():
try:
litellm.set_verbose = True
async def _test_langfuse():
return await litellm.acompletion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content":"This is a test"}],
max_tokens=1000,
temperature=0.7,
timeout=5,
)
response = asyncio.run(_test_langfuse())
print(f"response: {response}")
except litellm.Timeout as e:
pass
except Exception as e:
pytest.fail(f"An exception occurred - {e}")
# test_langfuse_logging_async()
def test_langfuse_logging():
try:
# litellm.set_verbose = True
response = completion(model="claude-instant-1.2",
messages=[{
"role": "user",
"content": "Hi πŸ‘‹ - i'm claude"
}],
max_tokens=10,
temperature=0.2,
metadata={"langfuse/key": "foo"}
)
print(response)
except litellm.Timeout as e:
pass
except Exception as e:
print(e)
test_langfuse_logging()
def test_langfuse_logging_stream():
try:
litellm.set_verbose=True
response = completion(model="anyscale/meta-llama/Llama-2-7b-chat-hf",
messages=[{
"role": "user",
"content": "this is a streaming test for llama2 + langfuse"
}],
max_tokens=20,
temperature=0.2,
stream=True
)
print(response)
for chunk in response:
pass
# print(chunk)
except litellm.Timeout as e:
pass
except Exception as e:
print(e)
# test_langfuse_logging_stream()
def test_langfuse_logging_custom_generation_name():
try:
litellm.set_verbose=True
response = completion(model="gpt-3.5-turbo",
messages=[{
"role": "user",
"content": "Hi πŸ‘‹ - i'm claude"
}],
max_tokens=10,
metadata = {
"langfuse/foo": "bar",
"langsmith/fizz": "buzz",
"prompt_hash": "asdf98u0j9131123"
}
)
print(response)
except litellm.Timeout as e:
pass
except Exception as e:
pytest.fail(f"An exception occurred - {e}")
print(e)
test_langfuse_logging_custom_generation_name()
def test_langfuse_logging_function_calling():
function1 = [
{
"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"],
},
}
]
try:
response = completion(model="gpt-3.5-turbo",
messages=[{
"role": "user",
"content": "what's the weather in boston"
}],
temperature=0.1,
functions=function1,
)
print(response)
except litellm.Timeout as e:
pass
except Exception as e:
print(e)
# test_langfuse_logging_function_calling()