# #### What this tests #### # # This tests the LiteLLM Class # import sys, os # import traceback # import pytest # sys.path.insert( # 0, os.path.abspath("../..") # ) # Adds the parent directory to the system path # import litellm # import asyncio # litellm.set_verbose = True # from litellm import Router # import instructor # from pydantic import BaseModel # # This enables response_model keyword # # from client.chat.completions.create # client = instructor.patch( # Router( # model_list=[ # { # "model_name": "gpt-3.5-turbo", # openai model name # "litellm_params": { # params for litellm completion/embedding call # "model": "azure/chatgpt-v-2", # "api_key": os.getenv("AZURE_API_KEY"), # "api_version": os.getenv("AZURE_API_VERSION"), # "api_base": os.getenv("AZURE_API_BASE"), # }, # } # ] # ) # ) # class UserDetail(BaseModel): # name: str # age: int # user = client.chat.completions.create( # model="gpt-3.5-turbo", # response_model=UserDetail, # messages=[ # {"role": "user", "content": "Extract Jason is 25 years old"}, # ], # ) # assert isinstance(user, UserDetail) # assert user.name == "Jason" # assert user.age == 25 # print(f"user: {user}") # # import instructor # # from openai import AsyncOpenAI # aclient = instructor.apatch( # Router( # model_list=[ # { # "model_name": "gpt-3.5-turbo", # openai model name # "litellm_params": { # params for litellm completion/embedding call # "model": "azure/chatgpt-v-2", # "api_key": os.getenv("AZURE_API_KEY"), # "api_version": os.getenv("AZURE_API_VERSION"), # "api_base": os.getenv("AZURE_API_BASE"), # }, # } # ], # default_litellm_params={"acompletion": True}, # ) # ) # class UserExtract(BaseModel): # name: str # age: int # async def main(): # model = await aclient.chat.completions.create( # model="gpt-3.5-turbo", # response_model=UserExtract, # messages=[ # {"role": "user", "content": "Extract jason is 25 years old"}, # ], # ) # print(f"model: {model}") # asyncio.run(main())