|
import aiohttp |
|
import asyncio |
|
import time, random, json |
|
from llama_index.llms.ollama import Ollama |
|
|
|
async def fetch(session, url, payload): |
|
start_time = time.time() |
|
async with session.post(url=url, data=payload) as response: |
|
async for line in response.content: |
|
line = line.decode('utf-8').strip() |
|
if line.startswith('data:{"content"'): |
|
response_time = time.time() - start_time |
|
print(f"Received data in {response_time:.4f} seconds") |
|
break |
|
|
|
async def main(url, num_requests): |
|
async with aiohttp.ClientSession() as session: |
|
tasks = [] |
|
NAME_LIST = ["Lisa Ann", "Mia Malkova", "Ava Addams", "Savanna Bond", "Siri Dahl"] |
|
for _ in range(num_requests): |
|
name = random.choice(NAME_LIST) |
|
payload = { |
|
"query": f"Infos of {name}", |
|
"llmSessionId": "test", |
|
"isLlmContext": "1", |
|
"adultMode": "1" |
|
} |
|
payload = json.dumps(payload) |
|
tasks.append(fetch(session, url, payload)) |
|
await asyncio.gather(*tasks) |
|
|
|
if __name__ == '__main__': |
|
URL = 'http://0.0.0.0:8000/sql_chat/' |
|
NUM_REQUESTS = 30 |
|
asyncio.run(main(URL, NUM_REQUESTS)) |