Spaces:
Sleeping
Sleeping
# import sys, os | |
# import traceback | |
# from dotenv import load_dotenv | |
# import copy | |
# load_dotenv() | |
# sys.path.insert( | |
# 0, os.path.abspath("../..") | |
# ) # Adds the parent directory to the system path | |
# import asyncio | |
# from litellm import Router, Timeout | |
# async def call_acompletion(semaphore, router: Router, input_data): | |
# async with semaphore: | |
# try: | |
# # Use asyncio.wait_for to set a timeout for the task | |
# response = await router.acompletion(**input_data) | |
# # Handle the response as needed | |
# return response | |
# except Timeout: | |
# print(f"Task timed out: {input_data}") | |
# return None # You may choose to return something else or raise an exception | |
# async def main(): | |
# # Initialize the Router | |
# model_list = [ | |
# { | |
# "model_name": "gpt-3.5-turbo", | |
# "litellm_params": { | |
# "model": "gpt-3.5-turbo", | |
# "api_key": os.getenv("OPENAI_API_KEY"), | |
# }, | |
# }, | |
# { | |
# "model_name": "gpt-3.5-turbo", | |
# "litellm_params": { | |
# "model": "azure/chatgpt-v-2", | |
# "api_key": os.getenv("AZURE_API_KEY"), | |
# "api_base": os.getenv("AZURE_API_BASE"), | |
# "api_version": os.getenv("AZURE_API_VERSION"), | |
# }, | |
# }, | |
# { | |
# "model_name": "gpt-3.5-turbo", | |
# "litellm_params": { | |
# "model": "azure/chatgpt-functioncalling", | |
# "api_key": os.getenv("AZURE_API_KEY"), | |
# "api_base": os.getenv("AZURE_API_BASE"), | |
# "api_version": os.getenv("AZURE_API_VERSION"), | |
# }, | |
# }, | |
# ] | |
# router = Router(model_list=model_list, num_retries=3, timeout=10) | |
# # Create a semaphore with a capacity of 100 | |
# semaphore = asyncio.Semaphore(100) | |
# # List to hold all task references | |
# tasks = [] | |
# # Launch 1000 tasks | |
# for _ in range(1000): | |
# task = asyncio.create_task( | |
# call_acompletion( | |
# semaphore, | |
# router, | |
# { | |
# "model": "gpt-3.5-turbo", | |
# "messages": [{"role": "user", "content": "Hey, how's it going?"}], | |
# }, | |
# ) | |
# ) | |
# tasks.append(task) | |
# # Wait for all tasks to complete | |
# responses = await asyncio.gather(*tasks) | |
# # Process responses as needed | |
# print(f"NUMBER OF COMPLETED TASKS: {len(responses)}") | |
# # Run the main function | |
# asyncio.run(main()) | |