diff --git a/MANIFEST.in b/MANIFEST.in index 19847cec..f3ff18ed 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,4 +2,5 @@ recursive-include g4f/gui/server * recursive-include g4f/gui/client * recursive-include g4f/Provider/npm * recursive-include g4f/Provider/gigachat_crt * -recursive-include g4f/Provider/you * \ No newline at end of file +recursive-include g4f/Provider/you * +recursive-include g4f/Provider/har * \ No newline at end of file diff --git a/g4f/Provider/LMArenaProvider.py b/g4f/Provider/LMArenaProvider.py index ae56fd23..b3da8953 100644 --- a/g4f/Provider/LMArenaProvider.py +++ b/g4f/Provider/LMArenaProvider.py @@ -17,7 +17,7 @@ class LMArenaProvider(AsyncGeneratorProvider, ProviderModelMixin, AuthFileMixin) label = "LM Arena" url = "https://lmarena.ai" api_endpoint = "/queue/join?" - working = True + working = False default_model = "gpt-4o" model_aliases = {default_model: "chatgpt-4o-latest-20250326"} diff --git a/g4f/Provider/PerplexityLabs.py b/g4f/Provider/PerplexityLabs.py index 8134c8ea..08c6e44c 100644 --- a/g4f/Provider/PerplexityLabs.py +++ b/g4f/Provider/PerplexityLabs.py @@ -13,6 +13,7 @@ API_URL = "https://www.perplexity.ai/socket.io/" WS_URL = "wss://www.perplexity.ai/socket.io/" class PerplexityLabs(AsyncGeneratorProvider, ProviderModelMixin): + label = "Perplexity Labs" url = "https://labs.perplexity.ai" working = True diff --git a/g4f/Provider/__init__.py b/g4f/Provider/__init__.py index aef8eced..5321e465 100644 --- a/g4f/Provider/__init__.py +++ b/g4f/Provider/__init__.py @@ -12,6 +12,7 @@ except ImportError as e: from .needs_auth import * from .template import OpenaiTemplate, BackendApi from .hf import HuggingFace, HuggingChat, HuggingFaceAPI, HuggingFaceInference, HuggingFaceMedia +from .har import HarProvider try: from .not_working import * except ImportError as e: diff --git a/g4f/Provider/har/__init__.py b/g4f/Provider/har/__init__.py new file mode 100644 index 00000000..17c2252d --- /dev/null +++ b/g4f/Provider/har/__init__.py @@ -0,0 +1,151 @@ +from __future__ import annotations + +import os +import json +import uuid +from urllib.parse import urlparse + +from ...typing import AsyncResult, Messages +from ...requests import StreamSession, raise_for_status +from ..base_provider import AsyncGeneratorProvider, ProviderModelMixin +from ..helper import get_last_user_message +from ..openai.har_file import get_headers + +class HarProvider(AsyncGeneratorProvider, ProviderModelMixin): + url = "https://lmarena.ai" + working = True + + @classmethod + def get_models(cls): + for harFile in read_har_files(): + for v in harFile['log']['entries']: + request_url = v['request']['url'] + if not request_url.startswith(cls.url) or "." in urlparse(request_url).path or "heartbeat" in request_url: + continue + if "\n\ndata: " not in v['response']['content']['text']: + continue + chunk = v['response']['content']['text'].split("\n\ndata: ")[2] + cls.models = list(dict.fromkeys(get_str_list(find_list(json.loads(chunk), 'choices'))).keys()) + if cls.models: + break + return cls.models + + @classmethod + async def create_async_generator( + cls, model: str, messages: Messages, + proxy: str = None, + **kwargs + ) -> AsyncResult: + if model in cls.model_aliases: + model = cls.model_aliases[model] + session_hash = str(uuid.uuid4()).replace("-", "") + prompt = get_last_user_message(messages) + + for harFile in read_har_files(): + async with StreamSession(impersonate="chrome") as session: + for v in harFile['log']['entries']: + request_url = v['request']['url'] + if not request_url.startswith(cls.url) or "." in urlparse(request_url).path or "heartbeat" in request_url: + continue + postData = None + if "postData" in v['request']: + postData = v['request']['postData']['text'] + postData = postData.replace('"hello"', json.dumps(prompt)) + postData = postData.replace("__SESSION__", session_hash) + if model: + postData = postData.replace("__MODEL__", model) + request_url = request_url.replace("__SESSION__", session_hash) + method = v['request']['method'].lower() + + async with getattr(session, method)(request_url, data=postData, headers=get_headers(v), proxy=proxy) as response: + await raise_for_status(response) + if "heartbeat" in request_url: + continue + returned_data = "" + async for line in response.iter_lines(): + if not line.startswith(b"data: "): + continue + for content in find_str(json.loads(line[6:]), 3): + if content == ' ' or content == 'update': + continue + if content.endswith("▌"): + content = content[:-2] + new_content = content + if content.startswith(returned_data): + new_content = content[len(returned_data):] + if not new_content: + continue + returned_data += new_content + yield new_content + +def read_har_files(): + for root, _, files in os.walk(os.path.dirname(__file__)): + for file in files: + if not file.endswith(".har"): + continue + with open(os.path.join(root, file), 'rb') as file: + try: + yield json.loads(file.read()) + except json.JSONDecodeError: + raise RuntimeError(f"Failed to read HAR file: {file}") + +def read_str_recusive(data): + if isinstance(data, dict): + data = data.values() + for item in data: + if isinstance(item, (list, dict)): + yield from read_str_recusive(item) + elif isinstance(item, str): + yield item + +def find_str(data, skip=0): + for item in read_str_recusive(data): + if skip > 0: + skip -= 1 + continue + yield item + break + +def read_list_recusive(data, key): + if isinstance(data, dict): + for k, v in data.items(): + if k == key: + print(k, v) + yield v + else: + yield from read_list_recusive(v, key) + elif isinstance(data, list): + for item in data: + yield from read_list_recusive(item, key) + +def find_list(data, key): + for item in read_list_recusive(data, key): + if isinstance(item, str): + yield item + elif isinstance(item, list): + for sub_item in item: + yield sub_item + +def get_str_list(data): + for item in data: + if isinstance(item, list): + yield from get_str_list(item) + else: + yield item + +# with open("g4f/Provider/har/lmarena.ai.har", "r") as f: +# try: +# harFile = json.loads(f.read()) +# except json.JSONDecodeError: +# raise RuntimeError(f"Failed to read HAR file") + +# new_entries = [] +# for v in harFile['log']['entries']: +# request_url = v['request']['url'] +# if not request_url.startswith("https://lmarena.ai") or "." in urlparse(request_url).path or "heartbeat" in request_url: +# continue +# v['request']['cookies'] = [] +# v['request']['headers'] = [header for header in v['request']['headers'] if header['name'].lower() != "cookie"] +# v['response']['headers'] = [] +# new_entries.append(v) +# print(f"Request URL: {request_url}" \ No newline at end of file diff --git a/g4f/Provider/har/lmarena.ai.har b/g4f/Provider/har/lmarena.ai.har new file mode 100644 index 00000000..7176992e --- /dev/null +++ b/g4f/Provider/har/lmarena.ai.har @@ -0,0 +1,1483 @@ +{ + "log": { + "entries": [ + { + "startedDateTime": "2025-04-22T19:21:08.411+02:00", + "request": { + "bodySize": 93, + "method": "POST", + "url": "https://lmarena.ai/queue/join?", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "Content-Length", + "value": "93" + }, + { + "name": "Origin", + "value": "https://lmarena.ai" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "queryString": [], + "headersSize": 1112, + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[{}],\"event_data\":null,\"fn_index\":166,\"trigger_id\":null,\"session_hash\":\"__SESSION__\"}" + }, + "cookies": [] + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [ + { + "name": "SERVERID", + "value": "S2|aAfQB" + } + ], + "content": { + "mimeType": "application/json", + "size": 47, + "text": "{\"event_id\":\"5cd5c8a943e34b5bbb61bb79cf5971fd\"}" + }, + "redirectURL": "", + "headersSize": 397, + "bodySize": 444 + }, + "cache": {}, + "timings": { + "blocked": -1, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 291, + "receive": 0 + }, + "time": 291, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:11.383+02:00", + "request": { + "bodySize": 0, + "method": "GET", + "url": "https://lmarena.ai/queue/data?session_hash=__SESSION__", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "text/event-stream" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [ + { + "name": "session_hash", + "value": "__SESSION__" + } + ], + "headersSize": 1101 + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [ + { + "name": "SERVERID", + "value": "S2|aAfQC" + } + ], + "content": { + "mimeType": "text/event-stream; charset=utf-8", + "size": 16333, + "text": "data: {\"msg\":\"estimation\",\"event_id\":\"5cd5c8a943e34b5bbb61bb79cf5971fd\",\"rank\":0,\"queue_size\":1,\"rank_eta\":0.016060523576935777}\n\ndata: {\"msg\":\"process_starts\",\"event_id\":\"5cd5c8a943e34b5bbb61bb79cf5971fd\",\"eta\":0.016060523576935777}\n\ndata: {\"msg\":\"process_completed\",\"event_id\":\"5cd5c8a943e34b5bbb61bb79cf5971fd\",\"output\":{\"data\":[{\"selected\":0,\"__type__\":\"update\"},{\"selected\":0,\"__type__\":\"update\"},{\"selected\":0,\"__type__\":\"update\"},null,null,{\"visible\":true,\"__type__\":\"update\"},{\"visible\":true,\"__type__\":\"update\"},null,null,{\"choices\":[[\"__MODEL__\",\"__MODEL__\"],[\"o3-2025-04-16\",\"o3-2025-04-16\"],[\"o4-mini-2025-04-16\",\"o4-mini-2025-04-16\"],[\"gemini-2.5-flash-preview-04-17\",\"gemini-2.5-flash-preview-04-17\"],[\"gpt-4.1-2025-04-14\",\"gpt-4.1-2025-04-14\"],[\"gemini-2.5-pro-exp-03-25\",\"gemini-2.5-pro-exp-03-25\"],[\"llama-4-maverick-03-26-experimental\",\"llama-4-maverick-03-26-experimental\"],[\"grok-3-preview-02-24\",\"grok-3-preview-02-24\"],[\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219\"],[\"claude-3-7-sonnet-20250219-thinking-32k\",\"claude-3-7-sonnet-20250219-thinking-32k\"],[\"deepseek-v3-0324\",\"deepseek-v3-0324\"],[\"llama-4-maverick-17b-128e-instruct\",\"llama-4-maverick-17b-128e-instruct\"],[\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-mini-2025-04-14\"],[\"gpt-4.1-nano-2025-04-14\",\"gpt-4.1-nano-2025-04-14\"],[\"gemini-2.0-flash-001\",\"gemini-2.0-flash-001\"],[\"gemini-2.0-flash-lite-preview-02-05\",\"gemini-2.0-flash-lite-preview-02-05\"],[\"gemma-3-27b-it\",\"gemma-3-27b-it\"],[\"gemma-3-12b-it\",\"gemma-3-12b-it\"],[\"gemma-3-4b-it\",\"gemma-3-4b-it\"],[\"deepseek-r1\",\"deepseek-r1\"],[\"claude-3-5-sonnet-20241022\",\"claude-3-5-sonnet-20241022\"],[\"o3-mini\",\"o3-mini\"],[\"llama-3.3-70b-instruct\",\"llama-3.3-70b-instruct\"],[\"gpt-4o-mini-2024-07-18\",\"gpt-4o-mini-2024-07-18\"],[\"gpt-4o-2024-11-20\",\"gpt-4o-2024-11-20\"],[\"gpt-4o-2024-08-06\",\"gpt-4o-2024-08-06\"],[\"gpt-4o-2024-05-13\",\"gpt-4o-2024-05-13\"],[\"command-a-03-2025\",\"command-a-03-2025\"],[\"qwq-32b\",\"qwq-32b\"],[\"p2l-router-7b\",\"p2l-router-7b\"],[\"claude-3-5-haiku-20241022\",\"claude-3-5-haiku-20241022\"],[\"claude-3-5-sonnet-20240620\",\"claude-3-5-sonnet-20240620\"],[\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-pro-32k-250115\"],[\"doubao-1.5-vision-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\"],[\"mistral-small-24b-instruct-2501\",\"mistral-small-24b-instruct-2501\"],[\"phi-4\",\"phi-4\"],[\"amazon-nova-pro-v1.0\",\"amazon-nova-pro-v1.0\"],[\"amazon-nova-lite-v1.0\",\"amazon-nova-lite-v1.0\"],[\"amazon-nova-micro-v1.0\",\"amazon-nova-micro-v1.0\"],[\"qwen-max-2025-01-25\",\"qwen-max-2025-01-25\"],[\"qwen-plus-0125-exp\",\"qwen-plus-0125-exp\"],[\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-32b-instruct\"],[\"qwen2.5-vl-72b-instruct\",\"qwen2.5-vl-72b-instruct\"],[\"gemini-1.5-pro-002\",\"gemini-1.5-pro-002\"],[\"gemini-1.5-flash-002\",\"gemini-1.5-flash-002\"],[\"gemini-1.5-flash-8b-001\",\"gemini-1.5-flash-8b-001\"],[\"gemini-1.5-pro-001\",\"gemini-1.5-pro-001\"],[\"gemini-1.5-flash-001\",\"gemini-1.5-flash-001\"],[\"llama-3.1-405b-instruct-bf16\",\"llama-3.1-405b-instruct-bf16\"],[\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.3-nemotron-49b-super-v1\"],[\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-ultra-253b-v1\"],[\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-nemotron-70b-instruct\"],[\"llama-3.1-70b-instruct\",\"llama-3.1-70b-instruct\"],[\"llama-3.1-8b-instruct\",\"llama-3.1-8b-instruct\"],[\"hunyuan-standard-2025-02-10\",\"hunyuan-standard-2025-02-10\"],[\"hunyuan-large-2025-02-10\",\"hunyuan-large-2025-02-10\"],[\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-standard-vision-2024-12-31\"],[\"hunyuan-turbo-0110\",\"hunyuan-turbo-0110\"],[\"hunyuan-turbos-20250226\",\"hunyuan-turbos-20250226\"],[\"mistral-large-2411\",\"mistral-large-2411\"],[\"pixtral-large-2411\",\"pixtral-large-2411\"],[\"mistral-large-2407\",\"mistral-large-2407\"],[\"llama-3.1-nemotron-51b-instruct\",\"llama-3.1-nemotron-51b-instruct\"],[\"granite-3.1-8b-instruct\",\"granite-3.1-8b-instruct\"],[\"granite-3.1-2b-instruct\",\"granite-3.1-2b-instruct\"],[\"step-2-16k-exp-202412\",\"step-2-16k-exp-202412\"],[\"step-2-16k-202502\",\"step-2-16k-202502\"],[\"step-1o-vision-32k-highres\",\"step-1o-vision-32k-highres\"],[\"yi-lightning\",\"yi-lightning\"],[\"glm-4-plus\",\"glm-4-plus\"],[\"glm-4-plus-0111\",\"glm-4-plus-0111\"],[\"jamba-1.5-large\",\"jamba-1.5-large\"],[\"jamba-1.5-mini\",\"jamba-1.5-mini\"],[\"gemma-2-27b-it\",\"gemma-2-27b-it\"],[\"gemma-2-9b-it\",\"gemma-2-9b-it\"],[\"gemma-2-2b-it\",\"gemma-2-2b-it\"],[\"eureka-chatbot\",\"eureka-chatbot\"],[\"claude-3-haiku-20240307\",\"claude-3-haiku-20240307\"],[\"claude-3-sonnet-20240229\",\"claude-3-sonnet-20240229\"],[\"claude-3-opus-20240229\",\"claude-3-opus-20240229\"],[\"nemotron-4-340b\",\"nemotron-4-340b\"],[\"llama-3-70b-instruct\",\"llama-3-70b-instruct\"],[\"llama-3-8b-instruct\",\"llama-3-8b-instruct\"],[\"qwen2.5-plus-1127\",\"qwen2.5-plus-1127\"],[\"qwen2.5-coder-32b-instruct\",\"qwen2.5-coder-32b-instruct\"],[\"qwen2.5-72b-instruct\",\"qwen2.5-72b-instruct\"],[\"qwen-max-0919\",\"qwen-max-0919\"],[\"qwen-vl-max-1119\",\"qwen-vl-max-1119\"],[\"qwen-vl-max-0809\",\"qwen-vl-max-0809\"],[\"llama-3.1-tulu-3-70b\",\"llama-3.1-tulu-3-70b\"],[\"olmo-2-0325-32b-instruct\",\"olmo-2-0325-32b-instruct\"],[\"gpt-3.5-turbo-0125\",\"gpt-3.5-turbo-0125\"],[\"reka-core-20240904\",\"reka-core-20240904\"],[\"reka-flash-20240904\",\"reka-flash-20240904\"],[\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-32b\"],[\"c4ai-aya-expanse-8b\",\"c4ai-aya-expanse-8b\"],[\"c4ai-aya-vision-32b\",\"c4ai-aya-vision-32b\"],[\"command-r-plus-08-2024\",\"command-r-plus-08-2024\"],[\"command-r-08-2024\",\"command-r-08-2024\"],[\"codestral-2405\",\"codestral-2405\"],[\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x22b-instruct-v0.1\"],[\"mixtral-8x7b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\"],[\"pixtral-12b-2409\",\"pixtral-12b-2409\"],[\"ministral-8b-2410\",\"ministral-8b-2410\"]],\"visible\":true,\"value\":\"__MODEL__\",\"__type__\":\"update\"},{\"choices\":[[\"__MODEL__\",\"__MODEL__\"],[\"o3-2025-04-16\",\"o3-2025-04-16\"],[\"o4-mini-2025-04-16\",\"o4-mini-2025-04-16\"],[\"gemini-2.5-flash-preview-04-17\",\"gemini-2.5-flash-preview-04-17\"],[\"gpt-4.1-2025-04-14\",\"gpt-4.1-2025-04-14\"],[\"gemini-2.5-pro-exp-03-25\",\"gemini-2.5-pro-exp-03-25\"],[\"llama-4-maverick-03-26-experimental\",\"llama-4-maverick-03-26-experimental\"],[\"grok-3-preview-02-24\",\"grok-3-preview-02-24\"],[\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219\"],[\"claude-3-7-sonnet-20250219-thinking-32k\",\"claude-3-7-sonnet-20250219-thinking-32k\"],[\"deepseek-v3-0324\",\"deepseek-v3-0324\"],[\"llama-4-maverick-17b-128e-instruct\",\"llama-4-maverick-17b-128e-instruct\"],[\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-mini-2025-04-14\"],[\"gpt-4.1-nano-2025-04-14\",\"gpt-4.1-nano-2025-04-14\"],[\"gemini-2.0-flash-001\",\"gemini-2.0-flash-001\"],[\"gemini-2.0-flash-lite-preview-02-05\",\"gemini-2.0-flash-lite-preview-02-05\"],[\"gemma-3-27b-it\",\"gemma-3-27b-it\"],[\"gemma-3-12b-it\",\"gemma-3-12b-it\"],[\"gemma-3-4b-it\",\"gemma-3-4b-it\"],[\"deepseek-r1\",\"deepseek-r1\"],[\"claude-3-5-sonnet-20241022\",\"claude-3-5-sonnet-20241022\"],[\"o3-mini\",\"o3-mini\"],[\"llama-3.3-70b-instruct\",\"llama-3.3-70b-instruct\"],[\"gpt-4o-mini-2024-07-18\",\"gpt-4o-mini-2024-07-18\"],[\"gpt-4o-2024-11-20\",\"gpt-4o-2024-11-20\"],[\"gpt-4o-2024-08-06\",\"gpt-4o-2024-08-06\"],[\"gpt-4o-2024-05-13\",\"gpt-4o-2024-05-13\"],[\"command-a-03-2025\",\"command-a-03-2025\"],[\"qwq-32b\",\"qwq-32b\"],[\"p2l-router-7b\",\"p2l-router-7b\"],[\"claude-3-5-haiku-20241022\",\"claude-3-5-haiku-20241022\"],[\"claude-3-5-sonnet-20240620\",\"claude-3-5-sonnet-20240620\"],[\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-pro-32k-250115\"],[\"doubao-1.5-vision-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\"],[\"mistral-small-24b-instruct-2501\",\"mistral-small-24b-instruct-2501\"],[\"phi-4\",\"phi-4\"],[\"amazon-nova-pro-v1.0\",\"amazon-nova-pro-v1.0\"],[\"amazon-nova-lite-v1.0\",\"amazon-nova-lite-v1.0\"],[\"amazon-nova-micro-v1.0\",\"amazon-nova-micro-v1.0\"],[\"qwen-max-2025-01-25\",\"qwen-max-2025-01-25\"],[\"qwen-plus-0125-exp\",\"qwen-plus-0125-exp\"],[\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-32b-instruct\"],[\"qwen2.5-vl-72b-instruct\",\"qwen2.5-vl-72b-instruct\"],[\"gemini-1.5-pro-002\",\"gemini-1.5-pro-002\"],[\"gemini-1.5-flash-002\",\"gemini-1.5-flash-002\"],[\"gemini-1.5-flash-8b-001\",\"gemini-1.5-flash-8b-001\"],[\"gemini-1.5-pro-001\",\"gemini-1.5-pro-001\"],[\"gemini-1.5-flash-001\",\"gemini-1.5-flash-001\"],[\"llama-3.1-405b-instruct-bf16\",\"llama-3.1-405b-instruct-bf16\"],[\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.3-nemotron-49b-super-v1\"],[\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-ultra-253b-v1\"],[\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-nemotron-70b-instruct\"],[\"llama-3.1-70b-instruct\",\"llama-3.1-70b-instruct\"],[\"llama-3.1-8b-instruct\",\"llama-3.1-8b-instruct\"],[\"hunyuan-standard-2025-02-10\",\"hunyuan-standard-2025-02-10\"],[\"hunyuan-large-2025-02-10\",\"hunyuan-large-2025-02-10\"],[\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-standard-vision-2024-12-31\"],[\"hunyuan-turbo-0110\",\"hunyuan-turbo-0110\"],[\"hunyuan-turbos-20250226\",\"hunyuan-turbos-20250226\"],[\"mistral-large-2411\",\"mistral-large-2411\"],[\"pixtral-large-2411\",\"pixtral-large-2411\"],[\"mistral-large-2407\",\"mistral-large-2407\"],[\"llama-3.1-nemotron-51b-instruct\",\"llama-3.1-nemotron-51b-instruct\"],[\"granite-3.1-8b-instruct\",\"granite-3.1-8b-instruct\"],[\"granite-3.1-2b-instruct\",\"granite-3.1-2b-instruct\"],[\"step-2-16k-exp-202412\",\"step-2-16k-exp-202412\"],[\"step-2-16k-202502\",\"step-2-16k-202502\"],[\"step-1o-vision-32k-highres\",\"step-1o-vision-32k-highres\"],[\"yi-lightning\",\"yi-lightning\"],[\"glm-4-plus\",\"glm-4-plus\"],[\"glm-4-plus-0111\",\"glm-4-plus-0111\"],[\"jamba-1.5-large\",\"jamba-1.5-large\"],[\"jamba-1.5-mini\",\"jamba-1.5-mini\"],[\"gemma-2-27b-it\",\"gemma-2-27b-it\"],[\"gemma-2-9b-it\",\"gemma-2-9b-it\"],[\"gemma-2-2b-it\",\"gemma-2-2b-it\"],[\"eureka-chatbot\",\"eureka-chatbot\"],[\"claude-3-haiku-20240307\",\"claude-3-haiku-20240307\"],[\"claude-3-sonnet-20240229\",\"claude-3-sonnet-20240229\"],[\"claude-3-opus-20240229\",\"claude-3-opus-20240229\"],[\"nemotron-4-340b\",\"nemotron-4-340b\"],[\"llama-3-70b-instruct\",\"llama-3-70b-instruct\"],[\"llama-3-8b-instruct\",\"llama-3-8b-instruct\"],[\"qwen2.5-plus-1127\",\"qwen2.5-plus-1127\"],[\"qwen2.5-coder-32b-instruct\",\"qwen2.5-coder-32b-instruct\"],[\"qwen2.5-72b-instruct\",\"qwen2.5-72b-instruct\"],[\"qwen-max-0919\",\"qwen-max-0919\"],[\"qwen-vl-max-1119\",\"qwen-vl-max-1119\"],[\"qwen-vl-max-0809\",\"qwen-vl-max-0809\"],[\"llama-3.1-tulu-3-70b\",\"llama-3.1-tulu-3-70b\"],[\"olmo-2-0325-32b-instruct\",\"olmo-2-0325-32b-instruct\"],[\"gpt-3.5-turbo-0125\",\"gpt-3.5-turbo-0125\"],[\"reka-core-20240904\",\"reka-core-20240904\"],[\"reka-flash-20240904\",\"reka-flash-20240904\"],[\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-32b\"],[\"c4ai-aya-expanse-8b\",\"c4ai-aya-expanse-8b\"],[\"c4ai-aya-vision-32b\",\"c4ai-aya-vision-32b\"],[\"command-r-plus-08-2024\",\"command-r-plus-08-2024\"],[\"command-r-08-2024\",\"command-r-08-2024\"],[\"codestral-2405\",\"codestral-2405\"],[\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x22b-instruct-v0.1\"],[\"mixtral-8x7b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\"],[\"pixtral-12b-2409\",\"pixtral-12b-2409\"],[\"ministral-8b-2410\",\"ministral-8b-2410\"]],\"visible\":true,\"value\":\"llama-3.1-nemotron-ultra-253b-v1\",\"__type__\":\"update\"},null,{\"choices\":[[\"__MODEL__\",\"__MODEL__\"],[\"o3-2025-04-16\",\"o3-2025-04-16\"],[\"o4-mini-2025-04-16\",\"o4-mini-2025-04-16\"],[\"gemini-2.5-flash-preview-04-17\",\"gemini-2.5-flash-preview-04-17\"],[\"gpt-4.1-2025-04-14\",\"gpt-4.1-2025-04-14\"],[\"gemini-2.5-pro-exp-03-25\",\"gemini-2.5-pro-exp-03-25\"],[\"llama-4-maverick-03-26-experimental\",\"llama-4-maverick-03-26-experimental\"],[\"grok-3-preview-02-24\",\"grok-3-preview-02-24\"],[\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219\"],[\"claude-3-7-sonnet-20250219-thinking-32k\",\"claude-3-7-sonnet-20250219-thinking-32k\"],[\"deepseek-v3-0324\",\"deepseek-v3-0324\"],[\"llama-4-maverick-17b-128e-instruct\",\"llama-4-maverick-17b-128e-instruct\"],[\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-mini-2025-04-14\"],[\"gpt-4.1-nano-2025-04-14\",\"gpt-4.1-nano-2025-04-14\"],[\"gemini-2.0-flash-001\",\"gemini-2.0-flash-001\"],[\"gemini-2.0-flash-lite-preview-02-05\",\"gemini-2.0-flash-lite-preview-02-05\"],[\"gemma-3-27b-it\",\"gemma-3-27b-it\"],[\"gemma-3-12b-it\",\"gemma-3-12b-it\"],[\"gemma-3-4b-it\",\"gemma-3-4b-it\"],[\"deepseek-r1\",\"deepseek-r1\"],[\"claude-3-5-sonnet-20241022\",\"claude-3-5-sonnet-20241022\"],[\"o3-mini\",\"o3-mini\"],[\"llama-3.3-70b-instruct\",\"llama-3.3-70b-instruct\"],[\"gpt-4o-mini-2024-07-18\",\"gpt-4o-mini-2024-07-18\"],[\"gpt-4o-2024-11-20\",\"gpt-4o-2024-11-20\"],[\"gpt-4o-2024-08-06\",\"gpt-4o-2024-08-06\"],[\"gpt-4o-2024-05-13\",\"gpt-4o-2024-05-13\"],[\"command-a-03-2025\",\"command-a-03-2025\"],[\"qwq-32b\",\"qwq-32b\"],[\"p2l-router-7b\",\"p2l-router-7b\"],[\"claude-3-5-haiku-20241022\",\"claude-3-5-haiku-20241022\"],[\"claude-3-5-sonnet-20240620\",\"claude-3-5-sonnet-20240620\"],[\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-pro-32k-250115\"],[\"doubao-1.5-vision-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\"],[\"mistral-small-24b-instruct-2501\",\"mistral-small-24b-instruct-2501\"],[\"phi-4\",\"phi-4\"],[\"amazon-nova-pro-v1.0\",\"amazon-nova-pro-v1.0\"],[\"amazon-nova-lite-v1.0\",\"amazon-nova-lite-v1.0\"],[\"amazon-nova-micro-v1.0\",\"amazon-nova-micro-v1.0\"],[\"qwen-max-2025-01-25\",\"qwen-max-2025-01-25\"],[\"qwen-plus-0125-exp\",\"qwen-plus-0125-exp\"],[\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-32b-instruct\"],[\"qwen2.5-vl-72b-instruct\",\"qwen2.5-vl-72b-instruct\"],[\"gemini-1.5-pro-002\",\"gemini-1.5-pro-002\"],[\"gemini-1.5-flash-002\",\"gemini-1.5-flash-002\"],[\"gemini-1.5-flash-8b-001\",\"gemini-1.5-flash-8b-001\"],[\"gemini-1.5-pro-001\",\"gemini-1.5-pro-001\"],[\"gemini-1.5-flash-001\",\"gemini-1.5-flash-001\"],[\"llama-3.1-405b-instruct-bf16\",\"llama-3.1-405b-instruct-bf16\"],[\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.3-nemotron-49b-super-v1\"],[\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-ultra-253b-v1\"],[\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-nemotron-70b-instruct\"],[\"llama-3.1-70b-instruct\",\"llama-3.1-70b-instruct\"],[\"llama-3.1-8b-instruct\",\"llama-3.1-8b-instruct\"],[\"hunyuan-standard-2025-02-10\",\"hunyuan-standard-2025-02-10\"],[\"hunyuan-large-2025-02-10\",\"hunyuan-large-2025-02-10\"],[\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-standard-vision-2024-12-31\"],[\"hunyuan-turbo-0110\",\"hunyuan-turbo-0110\"],[\"hunyuan-turbos-20250226\",\"hunyuan-turbos-20250226\"],[\"mistral-large-2411\",\"mistral-large-2411\"],[\"pixtral-large-2411\",\"pixtral-large-2411\"],[\"mistral-large-2407\",\"mistral-large-2407\"],[\"llama-3.1-nemotron-51b-instruct\",\"llama-3.1-nemotron-51b-instruct\"],[\"granite-3.1-8b-instruct\",\"granite-3.1-8b-instruct\"],[\"granite-3.1-2b-instruct\",\"granite-3.1-2b-instruct\"],[\"step-2-16k-exp-202412\",\"step-2-16k-exp-202412\"],[\"step-2-16k-202502\",\"step-2-16k-202502\"],[\"step-1o-vision-32k-highres\",\"step-1o-vision-32k-highres\"],[\"yi-lightning\",\"yi-lightning\"],[\"glm-4-plus\",\"glm-4-plus\"],[\"glm-4-plus-0111\",\"glm-4-plus-0111\"],[\"jamba-1.5-large\",\"jamba-1.5-large\"],[\"jamba-1.5-mini\",\"jamba-1.5-mini\"],[\"gemma-2-27b-it\",\"gemma-2-27b-it\"],[\"gemma-2-9b-it\",\"gemma-2-9b-it\"],[\"gemma-2-2b-it\",\"gemma-2-2b-it\"],[\"eureka-chatbot\",\"eureka-chatbot\"],[\"claude-3-haiku-20240307\",\"claude-3-haiku-20240307\"],[\"claude-3-sonnet-20240229\",\"claude-3-sonnet-20240229\"],[\"claude-3-opus-20240229\",\"claude-3-opus-20240229\"],[\"nemotron-4-340b\",\"nemotron-4-340b\"],[\"llama-3-70b-instruct\",\"llama-3-70b-instruct\"],[\"llama-3-8b-instruct\",\"llama-3-8b-instruct\"],[\"qwen2.5-plus-1127\",\"qwen2.5-plus-1127\"],[\"qwen2.5-coder-32b-instruct\",\"qwen2.5-coder-32b-instruct\"],[\"qwen2.5-72b-instruct\",\"qwen2.5-72b-instruct\"],[\"qwen-max-0919\",\"qwen-max-0919\"],[\"qwen-vl-max-1119\",\"qwen-vl-max-1119\"],[\"qwen-vl-max-0809\",\"qwen-vl-max-0809\"],[\"llama-3.1-tulu-3-70b\",\"llama-3.1-tulu-3-70b\"],[\"olmo-2-0325-32b-instruct\",\"olmo-2-0325-32b-instruct\"],[\"gpt-3.5-turbo-0125\",\"gpt-3.5-turbo-0125\"],[\"reka-core-20240904\",\"reka-core-20240904\"],[\"reka-flash-20240904\",\"reka-flash-20240904\"],[\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-32b\"],[\"c4ai-aya-expanse-8b\",\"c4ai-aya-expanse-8b\"],[\"c4ai-aya-vision-32b\",\"c4ai-aya-vision-32b\"],[\"command-r-plus-08-2024\",\"command-r-plus-08-2024\"],[\"command-r-08-2024\",\"command-r-08-2024\"],[\"codestral-2405\",\"codestral-2405\"],[\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x22b-instruct-v0.1\"],[\"mixtral-8x7b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\"],[\"pixtral-12b-2409\",\"pixtral-12b-2409\"],[\"ministral-8b-2410\",\"ministral-8b-2410\"]],\"visible\":true,\"value\":\"__MODEL__\",\"__type__\":\"update\"}],\"is_generating\":false,\"duration\":0.020649433135986328,\"average_duration\":0.009280704254258185,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"close_stream\",\"event_id\":null}\n\n" + }, + "redirectURL": "", + "headersSize": 290, + "bodySize": 16623 + }, + "cache": {}, + "timings": { + "blocked": -1, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 217, + "receive": 120 + }, + "time": 337, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:11.911+02:00", + "request": { + "bodySize": 89, + "method": "POST", + "url": "https://lmarena.ai/queue/join?", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "Content-Length", + "value": "89" + }, + { + "name": "Origin", + "value": "https://lmarena.ai" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [], + "headersSize": 1112, + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[],\"event_data\":null,\"fn_index\":87,\"trigger_id\":114,\"session_hash\":\"__SESSION__\"}" + } + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "application/json", + "size": 47, + "text": "{\"event_id\":\"796de7df4b3146c2b04e3d0e0a3bb2ed\"}" + }, + "redirectURL": "", + "headersSize": 358, + "bodySize": 405 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 216, + "receive": 0 + }, + "time": 216, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:12.171+02:00", + "request": { + "bodySize": 0, + "method": "GET", + "url": "https://lmarena.ai/queue/data?session_hash=__SESSION__", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "text/event-stream" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [ + { + "name": "session_hash", + "value": "__SESSION__" + } + ], + "headersSize": 1101 + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "text/event-stream; charset=utf-8", + "size": 1102, + "text": "data: {\"msg\":\"estimation\",\"event_id\":\"796de7df4b3146c2b04e3d0e0a3bb2ed\",\"rank\":0,\"queue_size\":1,\"rank_eta\":0.009161355742416182}\n\ndata: {\"msg\":\"process_starts\",\"event_id\":\"796de7df4b3146c2b04e3d0e0a3bb2ed\",\"eta\":0.009161355742416182}\n\ndata: {\"msg\":\"process_completed\",\"event_id\":\"796de7df4b3146c2b04e3d0e0a3bb2ed\",\"output\":{\"data\":[null,null,[],[],{\"interactive\":true,\"visible\":true,\"placeholder\":\"Enter your prompt or add image here\",\"__type__\":\"update\"},{\"visible\":false,\"interactive\":false,\"value\":\"\",\"__type__\":\"update\"},{\"interactive\":false,\"visible\":false,\"__type__\":\"update\"},{\"interactive\":false,\"visible\":false,\"__type__\":\"update\"},{\"interactive\":false,\"visible\":false,\"__type__\":\"update\"},{\"interactive\":false,\"visible\":false,\"__type__\":\"update\"},{\"interactive\":false,\"visible\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"}],\"is_generating\":false,\"duration\":0.01667308807373047,\"average_duration\":0.0047883608947357145,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"close_stream\",\"event_id\":null}\n\n" + }, + "redirectURL": "", + "headersSize": 251, + "bodySize": 1353 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 177, + "receive": 0 + }, + "time": 177, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:12.852+02:00", + "request": { + "bodySize": 111, + "method": "POST", + "url": "https://lmarena.ai/queue/join?", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "Content-Length", + "value": "111" + }, + { + "name": "Origin", + "value": "https://lmarena.ai" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [], + "headersSize": 1113, + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[{\"text\":\"\",\"files\":[]}],\"event_data\":null,\"fn_index\":88,\"trigger_id\":114,\"session_hash\":\"__SESSION__\"}" + } + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "application/json", + "size": 47, + "text": "{\"event_id\":\"f37d69c87f0d488090965bd2166a41b0\"}" + }, + "redirectURL": "", + "headersSize": 358, + "bodySize": 405 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 327, + "receive": 0 + }, + "time": 327, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:13.182+02:00", + "request": { + "bodySize": 0, + "method": "GET", + "url": "https://lmarena.ai/queue/data?session_hash=__SESSION__", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "text/event-stream" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [ + { + "name": "session_hash", + "value": "__SESSION__" + } + ], + "headersSize": 1101 + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [ + { + "name": "SERVERID", + "value": "S2|aAfQD" + } + ], + "content": { + "mimeType": "text/event-stream; charset=utf-8", + "size": 572, + "text": "data: {\"msg\":\"estimation\",\"event_id\":\"f37d69c87f0d488090965bd2166a41b0\",\"rank\":0,\"queue_size\":1,\"rank_eta\":0.00415210783567436}\n\ndata: {\"msg\":\"process_starts\",\"event_id\":\"f37d69c87f0d488090965bd2166a41b0\",\"eta\":0.00415210783567436}\n\ndata: {\"msg\":\"process_completed\",\"event_id\":\"f37d69c87f0d488090965bd2166a41b0\",\"output\":{\"data\":[{\"visible\":false,\"__type__\":\"update\"}],\"is_generating\":false,\"duration\":0.0024254322052001953,\"average_duration\":0.002959741709450995,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"close_stream\",\"event_id\":null}\n\n" + }, + "redirectURL": "", + "headersSize": 290, + "bodySize": 862 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 202, + "receive": 0 + }, + "time": 202, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:23.093+02:00", + "request": { + "bodySize": 12475, + "method": "POST", + "url": "https://lmarena.ai/queue/join?", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "Content-Length", + "value": "12475" + }, + { + "name": "Origin", + "value": "https://lmarena.ai" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [], + "headersSize": 1115, + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[null,\"__MODEL__\",{\"text\":\"hello\",\"files\":[]},{\"text_models\":[\"__MODEL__\",\"o3-2025-04-16\",\"o4-mini-2025-04-16\",\"gemini-2.5-flash-preview-04-17\",\"gpt-4.1-2025-04-14\",\"gemini-2.5-pro-exp-03-25\",\"llama-4-maverick-03-26-experimental\",\"grok-3-preview-02-24\",\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219-thinking-32k\",\"deepseek-v3-0324\",\"llama-4-maverick-17b-128e-instruct\",\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-nano-2025-04-14\",\"gemini-2.0-flash-001\",\"gemini-2.0-flash-lite-preview-02-05\",\"gemma-3-27b-it\",\"gemma-3-12b-it\",\"gemma-3-4b-it\",\"deepseek-r1\",\"claude-3-5-sonnet-20241022\",\"o3-mini\",\"llama-3.3-70b-instruct\",\"gpt-4o-mini-2024-07-18\",\"gpt-4o-2024-11-20\",\"gpt-4o-2024-08-06\",\"gpt-4o-2024-05-13\",\"command-a-03-2025\",\"qwq-32b\",\"p2l-router-7b\",\"claude-3-5-haiku-20241022\",\"claude-3-5-sonnet-20240620\",\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\",\"mistral-small-24b-instruct-2501\",\"phi-4\",\"amazon-nova-pro-v1.0\",\"amazon-nova-lite-v1.0\",\"amazon-nova-micro-v1.0\",\"qwen-max-2025-01-25\",\"qwen-plus-0125-exp\",\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-72b-instruct\",\"gemini-1.5-pro-002\",\"gemini-1.5-flash-002\",\"gemini-1.5-flash-8b-001\",\"gemini-1.5-pro-001\",\"gemini-1.5-flash-001\",\"llama-3.1-405b-instruct-bf16\",\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-70b-instruct\",\"llama-3.1-8b-instruct\",\"hunyuan-standard-2025-02-10\",\"hunyuan-large-2025-02-10\",\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-turbo-0110\",\"hunyuan-turbos-20250226\",\"mistral-large-2411\",\"pixtral-large-2411\",\"mistral-large-2407\",\"llama-3.1-nemotron-51b-instruct\",\"granite-3.1-8b-instruct\",\"granite-3.1-2b-instruct\",\"step-2-16k-exp-202412\",\"step-2-16k-202502\",\"step-1o-vision-32k-highres\",\"yi-lightning\",\"glm-4-plus\",\"glm-4-plus-0111\",\"jamba-1.5-large\",\"jamba-1.5-mini\",\"gemma-2-27b-it\",\"gemma-2-9b-it\",\"gemma-2-2b-it\",\"eureka-chatbot\",\"claude-3-haiku-20240307\",\"claude-3-sonnet-20240229\",\"claude-3-opus-20240229\",\"nemotron-4-340b\",\"llama-3-70b-instruct\",\"llama-3-8b-instruct\",\"qwen2.5-plus-1127\",\"qwen2.5-coder-32b-instruct\",\"qwen2.5-72b-instruct\",\"qwen-max-0919\",\"qwen-vl-max-1119\",\"qwen-vl-max-0809\",\"llama-3.1-tulu-3-70b\",\"olmo-2-0325-32b-instruct\",\"gpt-3.5-turbo-0125\",\"reka-core-20240904\",\"reka-flash-20240904\",\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-8b\",\"c4ai-aya-vision-32b\",\"command-r-plus-08-2024\",\"command-r-08-2024\",\"codestral-2405\",\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\",\"pixtral-12b-2409\",\"ministral-8b-2410\"],\"all_text_models\":[\"__MODEL__\",\"o3-2025-04-16\",\"o4-mini-2025-04-16\",\"gemini-2.5-flash-preview-04-17\",\"gpt-4.1-2025-04-14\",\"gemini-2.5-pro-exp-03-25\",\"llama-4-maverick-03-26-experimental\",\"grok-3-preview-02-24\",\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219-thinking-32k\",\"deepseek-v3-0324\",\"llama-4-maverick-17b-128e-instruct\",\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-nano-2025-04-14\",\"gemini-2.0-flash-001\",\"gemini-2.0-flash-lite-preview-02-05\",\"gemma-3-27b-it\",\"gemma-3-12b-it\",\"gemma-3-4b-it\",\"deepseek-r1\",\"claude-3-5-sonnet-20241022\",\"o3-mini\",\"llama-3.3-70b-instruct\",\"gpt-4o-mini-2024-07-18\",\"gpt-4o-2024-11-20\",\"gpt-4o-2024-08-06\",\"gpt-4o-2024-05-13\",\"command-a-03-2025\",\"qwq-32b\",\"p2l-router-7b\",\"claude-3-5-haiku-20241022\",\"claude-3-5-sonnet-20240620\",\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\",\"mistral-small-24b-instruct-2501\",\"phi-4\",\"amazon-nova-pro-v1.0\",\"amazon-nova-lite-v1.0\",\"amazon-nova-micro-v1.0\",\"qwen-max-2025-01-25\",\"qwen-plus-0125-exp\",\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-72b-instruct\",\"gemini-1.5-pro-002\",\"gemini-1.5-flash-002\",\"gemini-1.5-flash-8b-001\",\"gemini-1.5-pro-001\",\"gemini-1.5-flash-001\",\"llama-3.1-405b-instruct-bf16\",\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-70b-instruct\",\"llama-3.1-8b-instruct\",\"hunyuan-standard-2025-02-10\",\"hunyuan-large-2025-02-10\",\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-turbo-0110\",\"hunyuan-turbos-20250226\",\"mistral-large-2411\",\"pixtral-large-2411\",\"mistral-large-2407\",\"llama-3.1-nemotron-51b-instruct\",\"granite-3.1-8b-instruct\",\"granite-3.1-2b-instruct\",\"step-2-16k-exp-202412\",\"step-2-16k-202502\",\"step-1o-vision-32k-highres\",\"yi-lightning\",\"glm-4-plus\",\"glm-4-plus-0111\",\"jamba-1.5-large\",\"jamba-1.5-mini\",\"gemma-2-27b-it\",\"gemma-2-9b-it\",\"gemma-2-2b-it\",\"eureka-chatbot\",\"claude-3-haiku-20240307\",\"claude-3-sonnet-20240229\",\"claude-3-opus-20240229\",\"nemotron-4-340b\",\"llama-3-70b-instruct\",\"llama-3-8b-instruct\",\"qwen2.5-plus-1127\",\"qwen2.5-coder-32b-instruct\",\"qwen2.5-72b-instruct\",\"qwen-max-0919\",\"qwen-vl-max-1119\",\"qwen-vl-max-0809\",\"llama-3.1-tulu-3-70b\",\"olmo-2-0325-32b-instruct\",\"gpt-3.5-turbo-0125\",\"reka-core-20240904\",\"reka-flash-20240904\",\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-8b\",\"c4ai-aya-vision-32b\",\"command-r-plus-08-2024\",\"command-r-08-2024\",\"codestral-2405\",\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\",\"pixtral-12b-2409\",\"ministral-8b-2410\"],\"vision_models\":[\"o3-2025-04-16\",\"o4-mini-2025-04-16\",\"gemini-2.5-flash-preview-04-17\",\"gpt-4.1-2025-04-14\",\"gemini-2.5-pro-exp-03-25\",\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219-thinking-32k\",\"llama-4-maverick-17b-128e-instruct\",\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-nano-2025-04-14\",\"gemini-2.0-flash-001\",\"gemini-2.0-flash-lite-preview-02-05\",\"claude-3-5-sonnet-20241022\",\"gpt-4o-mini-2024-07-18\",\"gpt-4o-2024-11-20\",\"gpt-4o-2024-08-06\",\"gpt-4o-2024-05-13\",\"claude-3-5-sonnet-20240620\",\"doubao-1.5-vision-pro-32k-250115\",\"amazon-nova-pro-v1.0\",\"amazon-nova-lite-v1.0\",\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-72b-instruct\",\"gemini-1.5-pro-002\",\"gemini-1.5-flash-002\",\"gemini-1.5-flash-8b-001\",\"gemini-1.5-pro-001\",\"gemini-1.5-flash-001\",\"hunyuan-standard-vision-2024-12-31\",\"pixtral-large-2411\",\"step-1o-vision-32k-highres\",\"claude-3-haiku-20240307\",\"claude-3-sonnet-20240229\",\"claude-3-opus-20240229\",\"qwen-vl-max-1119\",\"qwen-vl-max-0809\",\"reka-core-20240904\",\"reka-flash-20240904\",\"c4ai-aya-vision-32b\",\"pixtral-12b-2409\"],\"all_vision_models\":[\"o3-2025-04-16\",\"o4-mini-2025-04-16\",\"gemini-2.5-flash-preview-04-17\",\"gpt-4.1-2025-04-14\",\"gemini-2.5-pro-exp-03-25\",\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219-thinking-32k\",\"llama-4-maverick-17b-128e-instruct\",\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-nano-2025-04-14\",\"gemini-2.0-flash-001\",\"gemini-2.0-flash-lite-preview-02-05\",\"claude-3-5-sonnet-20241022\",\"gpt-4o-mini-2024-07-18\",\"gpt-4o-2024-11-20\",\"gpt-4o-2024-08-06\",\"gpt-4o-2024-05-13\",\"claude-3-5-sonnet-20240620\",\"doubao-1.5-vision-pro-32k-250115\",\"amazon-nova-pro-v1.0\",\"amazon-nova-lite-v1.0\",\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-72b-instruct\",\"gemini-1.5-pro-002\",\"gemini-1.5-flash-002\",\"gemini-1.5-flash-8b-001\",\"gemini-1.5-pro-001\",\"gemini-1.5-flash-001\",\"hunyuan-standard-vision-2024-12-31\",\"pixtral-large-2411\",\"step-1o-vision-32k-highres\",\"claude-3-haiku-20240307\",\"claude-3-sonnet-20240229\",\"claude-3-opus-20240229\",\"qwen-vl-max-1119\",\"qwen-vl-max-0809\",\"reka-core-20240904\",\"reka-flash-20240904\",\"c4ai-aya-vision-32b\",\"pixtral-12b-2409\"],\"image_gen_models\":[\"dall-e-3\",\"ideogram-v2\",\"recraft-v3\",\"flux-1.1-pro\",\"flux-1-dev-fp8\",\"imagen-3.0-generate-002\",\"photon\",\"stable-diffusion-v35-large\"],\"all_image_gen_models\":[\"dall-e-3\",\"ideogram-v2\",\"recraft-v3\",\"flux-1.1-pro\",\"flux-1-dev-fp8\",\"imagen-3.0-generate-002\",\"photon\",\"stable-diffusion-v35-large\"],\"search_models\":[],\"all_search_models\":[],\"models\":[\"__MODEL__\",\"o3-2025-04-16\",\"o4-mini-2025-04-16\",\"gemini-2.5-flash-preview-04-17\",\"gpt-4.1-2025-04-14\",\"gemini-2.5-pro-exp-03-25\",\"llama-4-maverick-03-26-experimental\",\"grok-3-preview-02-24\",\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219-thinking-32k\",\"deepseek-v3-0324\",\"llama-4-maverick-17b-128e-instruct\",\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-nano-2025-04-14\",\"gemini-2.0-flash-001\",\"gemini-2.0-flash-lite-preview-02-05\",\"gemma-3-27b-it\",\"gemma-3-12b-it\",\"gemma-3-4b-it\",\"deepseek-r1\",\"claude-3-5-sonnet-20241022\",\"o3-mini\",\"llama-3.3-70b-instruct\",\"gpt-4o-mini-2024-07-18\",\"gpt-4o-2024-11-20\",\"gpt-4o-2024-08-06\",\"gpt-4o-2024-05-13\",\"command-a-03-2025\",\"qwq-32b\",\"p2l-router-7b\",\"claude-3-5-haiku-20241022\",\"claude-3-5-sonnet-20240620\",\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\",\"mistral-small-24b-instruct-2501\",\"phi-4\",\"amazon-nova-pro-v1.0\",\"amazon-nova-lite-v1.0\",\"amazon-nova-micro-v1.0\",\"qwen-max-2025-01-25\",\"qwen-plus-0125-exp\",\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-72b-instruct\",\"gemini-1.5-pro-002\",\"gemini-1.5-flash-002\",\"gemini-1.5-flash-8b-001\",\"gemini-1.5-pro-001\",\"gemini-1.5-flash-001\",\"llama-3.1-405b-instruct-bf16\",\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-70b-instruct\",\"llama-3.1-8b-instruct\",\"hunyuan-standard-2025-02-10\",\"hunyuan-large-2025-02-10\",\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-turbo-0110\",\"hunyuan-turbos-20250226\",\"mistral-large-2411\",\"pixtral-large-2411\",\"mistral-large-2407\",\"llama-3.1-nemotron-51b-instruct\",\"granite-3.1-8b-instruct\",\"granite-3.1-2b-instruct\",\"step-2-16k-exp-202412\",\"step-2-16k-202502\",\"step-1o-vision-32k-highres\",\"yi-lightning\",\"glm-4-plus\",\"glm-4-plus-0111\",\"jamba-1.5-large\",\"jamba-1.5-mini\",\"gemma-2-27b-it\",\"gemma-2-9b-it\",\"gemma-2-2b-it\",\"eureka-chatbot\",\"claude-3-haiku-20240307\",\"claude-3-sonnet-20240229\",\"claude-3-opus-20240229\",\"nemotron-4-340b\",\"llama-3-70b-instruct\",\"llama-3-8b-instruct\",\"qwen2.5-plus-1127\",\"qwen2.5-coder-32b-instruct\",\"qwen2.5-72b-instruct\",\"qwen-max-0919\",\"qwen-vl-max-1119\",\"qwen-vl-max-0809\",\"llama-3.1-tulu-3-70b\",\"olmo-2-0325-32b-instruct\",\"gpt-3.5-turbo-0125\",\"reka-core-20240904\",\"reka-flash-20240904\",\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-8b\",\"c4ai-aya-vision-32b\",\"command-r-plus-08-2024\",\"command-r-08-2024\",\"codestral-2405\",\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\",\"pixtral-12b-2409\",\"ministral-8b-2410\"],\"all_models\":[\"__MODEL__\",\"o3-2025-04-16\",\"o4-mini-2025-04-16\",\"gemini-2.5-flash-preview-04-17\",\"gpt-4.1-2025-04-14\",\"gemini-2.5-pro-exp-03-25\",\"llama-4-maverick-03-26-experimental\",\"grok-3-preview-02-24\",\"claude-3-7-sonnet-20250219\",\"claude-3-7-sonnet-20250219-thinking-32k\",\"deepseek-v3-0324\",\"llama-4-maverick-17b-128e-instruct\",\"gpt-4.1-mini-2025-04-14\",\"gpt-4.1-nano-2025-04-14\",\"gemini-2.0-flash-001\",\"gemini-2.0-flash-lite-preview-02-05\",\"gemma-3-27b-it\",\"gemma-3-12b-it\",\"gemma-3-4b-it\",\"deepseek-r1\",\"claude-3-5-sonnet-20241022\",\"o3-mini\",\"llama-3.3-70b-instruct\",\"gpt-4o-mini-2024-07-18\",\"gpt-4o-2024-11-20\",\"gpt-4o-2024-08-06\",\"gpt-4o-2024-05-13\",\"command-a-03-2025\",\"qwq-32b\",\"p2l-router-7b\",\"claude-3-5-haiku-20241022\",\"claude-3-5-sonnet-20240620\",\"doubao-1.5-pro-32k-250115\",\"doubao-1.5-vision-pro-32k-250115\",\"mistral-small-24b-instruct-2501\",\"phi-4\",\"amazon-nova-pro-v1.0\",\"amazon-nova-lite-v1.0\",\"amazon-nova-micro-v1.0\",\"qwen-max-2025-01-25\",\"qwen-plus-0125-exp\",\"qwen2.5-vl-32b-instruct\",\"qwen2.5-vl-72b-instruct\",\"gemini-1.5-pro-002\",\"gemini-1.5-flash-002\",\"gemini-1.5-flash-8b-001\",\"gemini-1.5-pro-001\",\"gemini-1.5-flash-001\",\"llama-3.1-405b-instruct-bf16\",\"llama-3.3-nemotron-49b-super-v1\",\"llama-3.1-nemotron-ultra-253b-v1\",\"llama-3.1-nemotron-70b-instruct\",\"llama-3.1-70b-instruct\",\"llama-3.1-8b-instruct\",\"hunyuan-standard-2025-02-10\",\"hunyuan-large-2025-02-10\",\"hunyuan-standard-vision-2024-12-31\",\"hunyuan-turbo-0110\",\"hunyuan-turbos-20250226\",\"mistral-large-2411\",\"pixtral-large-2411\",\"mistral-large-2407\",\"llama-3.1-nemotron-51b-instruct\",\"granite-3.1-8b-instruct\",\"granite-3.1-2b-instruct\",\"step-2-16k-exp-202412\",\"step-2-16k-202502\",\"step-1o-vision-32k-highres\",\"yi-lightning\",\"glm-4-plus\",\"glm-4-plus-0111\",\"jamba-1.5-large\",\"jamba-1.5-mini\",\"gemma-2-27b-it\",\"gemma-2-9b-it\",\"gemma-2-2b-it\",\"eureka-chatbot\",\"claude-3-haiku-20240307\",\"claude-3-sonnet-20240229\",\"claude-3-opus-20240229\",\"nemotron-4-340b\",\"llama-3-70b-instruct\",\"llama-3-8b-instruct\",\"qwen2.5-plus-1127\",\"qwen2.5-coder-32b-instruct\",\"qwen2.5-72b-instruct\",\"qwen-max-0919\",\"qwen-vl-max-1119\",\"qwen-vl-max-0809\",\"llama-3.1-tulu-3-70b\",\"olmo-2-0325-32b-instruct\",\"gpt-3.5-turbo-0125\",\"reka-core-20240904\",\"reka-flash-20240904\",\"c4ai-aya-expanse-32b\",\"c4ai-aya-expanse-8b\",\"c4ai-aya-vision-32b\",\"command-r-plus-08-2024\",\"command-r-08-2024\",\"codestral-2405\",\"mixtral-8x22b-instruct-v0.1\",\"mixtral-8x7b-instruct-v0.1\",\"pixtral-12b-2409\",\"ministral-8b-2410\"],\"arena_type\":\"text-arena\"}],\"event_data\":null,\"fn_index\":119,\"trigger_id\":159,\"session_hash\":\"__SESSION__\"}" + } + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [ + { + "name": "SERVERID", + "value": "S2|aAfQF" + } + ], + "content": { + "mimeType": "application/json", + "size": 47, + "text": "{\"event_id\":\"f819a59665c04c2392682e874734d107\"}" + }, + "redirectURL": "", + "headersSize": 397, + "bodySize": 444 + }, + "cache": {}, + "timings": { + "blocked": -1, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 329, + "receive": 0 + }, + "time": 329, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:23.427+02:00", + "request": { + "bodySize": 0, + "method": "GET", + "url": "https://lmarena.ai/queue/data?session_hash=__SESSION__", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "text/event-stream" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [ + { + "name": "session_hash", + "value": "__SESSION__" + } + ], + "headersSize": 1101 + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "text/event-stream; charset=utf-8", + "size": 1027, + "text": "data: {\"msg\":\"estimation\",\"event_id\":\"f819a59665c04c2392682e874734d107\",\"rank\":0,\"queue_size\":1,\"rank_eta\":0.5475403745624524}\n\ndata: {\"msg\":\"process_starts\",\"event_id\":\"f819a59665c04c2392682e874734d107\",\"eta\":0.5475403745624524}\n\ndata: {\"msg\":\"process_completed\",\"event_id\":\"f819a59665c04c2392682e874734d107\",\"output\":{\"data\":[null,[[\"hello\",null]],{\"visible\":false,\"interactive\":false,\"value\":{\"text\":\"\",\"files\":[]},\"__type__\":\"update\"},{\"visible\":true,\"interactive\":true,\"placeholder\":\"\ud83d\udc49 Enter your prompt and press ENTER\",\"value\":\"\",\"__type__\":\"update\"},{\"interactive\":true,\"visible\":true,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"}],\"is_generating\":false,\"duration\":0.49739694595336914,\"average_duration\":0.5429518264943498,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"close_stream\",\"event_id\":null}\n\n" + }, + "redirectURL": "", + "headersSize": 251, + "bodySize": 1278 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 426, + "receive": 0 + }, + "time": 426, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:23.906+02:00", + "request": { + "bodySize": 90, + "method": "POST", + "url": "https://lmarena.ai/queue/join?", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "Content-Length", + "value": "90" + }, + { + "name": "Origin", + "value": "https://lmarena.ai" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [], + "headersSize": 1112, + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[],\"event_data\":null,\"fn_index\":120,\"trigger_id\":159,\"session_hash\":\"__SESSION__\"}" + } + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "application/json", + "size": 47, + "text": "{\"event_id\":\"0b9208c86eed4351b0be927f9cfdef26\"}" + }, + "redirectURL": "", + "headersSize": 358, + "bodySize": 405 + }, + "cache": {}, + "timings": { + "blocked": -1, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 155, + "receive": 0 + }, + "time": 155, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:24.067+02:00", + "request": { + "bodySize": 0, + "method": "GET", + "url": "https://lmarena.ai/queue/data?session_hash=__SESSION__", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "text/event-stream" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [ + { + "name": "session_hash", + "value": "__SESSION__" + } + ], + "headersSize": 1101 + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "text/event-stream; charset=utf-8", + "size": 572, + "text": "data: {\"msg\":\"estimation\",\"event_id\":\"0b9208c86eed4351b0be927f9cfdef26\",\"rank\":0,\"queue_size\":1,\"rank_eta\":0.004687517758282473}\n\ndata: {\"msg\":\"process_starts\",\"event_id\":\"0b9208c86eed4351b0be927f9cfdef26\",\"eta\":0.004687517758282473}\n\ndata: {\"msg\":\"process_completed\",\"event_id\":\"0b9208c86eed4351b0be927f9cfdef26\",\"output\":{\"data\":[{\"visible\":false,\"__type__\":\"update\"}],\"is_generating\":false,\"duration\":0.00436091423034668,\"average_duration\":0.003452160685610741,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"close_stream\",\"event_id\":null}\n\n" + }, + "redirectURL": "", + "headersSize": 251, + "bodySize": 823 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 580, + "receive": 0 + }, + "time": 580, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:24.692+02:00", + "request": { + "bodySize": 105, + "method": "POST", + "url": "https://lmarena.ai/queue/join?", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "*/*" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "content-type", + "value": "application/json" + }, + { + "name": "Content-Length", + "value": "105" + }, + { + "name": "Origin", + "value": "https://lmarena.ai" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [], + "headersSize": 1113, + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":[null,0.7,1,2048],\"event_data\":null,\"fn_index\":121,\"trigger_id\":159,\"session_hash\":\"__SESSION__\"}" + } + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [], + "content": { + "mimeType": "application/json", + "size": 47, + "text": "{\"event_id\":\"6d04e2a3cb144625965df8051fae45da\"}" + }, + "redirectURL": "", + "headersSize": 358, + "bodySize": 405 + }, + "cache": {}, + "timings": { + "blocked": 0, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 366, + "receive": 0 + }, + "time": 366, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + }, + { + "startedDateTime": "2025-04-22T19:21:25.062+02:00", + "request": { + "bodySize": 0, + "method": "GET", + "url": "https://lmarena.ai/queue/data?session_hash=__SESSION__", + "httpVersion": "HTTP/3", + "headers": [ + { + "name": "Host", + "value": "lmarena.ai" + }, + { + "name": "User-Agent", + "value": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:137.0) Gecko/20100101 Firefox/137.0" + }, + { + "name": "Accept", + "value": "text/event-stream" + }, + { + "name": "Accept-Language", + "value": "en-US" + }, + { + "name": "Accept-Encoding", + "value": "gzip, deflate, br, zstd" + }, + { + "name": "Referer", + "value": "https://lmarena.ai/" + }, + { + "name": "Content-Type", + "value": "application/json" + }, + { + "name": "DNT", + "value": "1" + }, + { + "name": "Sec-GPC", + "value": "1" + }, + { + "name": "Connection", + "value": "keep-alive" + }, + { + "name": "Sec-Fetch-Dest", + "value": "empty" + }, + { + "name": "Sec-Fetch-Mode", + "value": "cors" + }, + { + "name": "Sec-Fetch-Site", + "value": "same-origin" + }, + { + "name": "Priority", + "value": "u=4" + }, + { + "name": "Pragma", + "value": "no-cache" + }, + { + "name": "Cache-Control", + "value": "no-cache" + }, + { + "name": "TE", + "value": "trailers" + } + ], + "cookies": [], + "queryString": [ + { + "name": "session_hash", + "value": "__SESSION__" + } + ], + "headersSize": 1101 + }, + "response": { + "status": 200, + "statusText": "", + "httpVersion": "HTTP/3", + "headers": [], + "cookies": [ + { + "name": "SERVERID", + "value": "S2|aAfQG" + } + ], + "content": { + "mimeType": "text/event-stream; charset=utf-8", + "size": 5828, + "text": "data: {\"msg\":\"estimation\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"rank\":0,\"queue_size\":1,\"rank_eta\":19.477801224687145}\n\ndata: {\"msg\":\"process_starts\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"eta\":19.477801224687145}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[null,[[\"hello\",\" \"]],null,{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"},{\"interactive\":false,\"__type__\":\"update\"}],\"is_generating\":true,\"duration\":0.006632804870605469,\"average_duration\":0.031356163499834895,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.6299843788146973,\"average_duration\":0.03135649693577617,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0007112026214599609,\"average_duration\":0.031356479866355445,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello!\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0006053447723388672,\"average_duration\":0.031356462737990975,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.05831098556518555,\"average_duration\":0.03135647775163625,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0010182857513427734,\"average_duration\":0.03135646085329966,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.04837679862976074,\"average_duration\":0.03135647033360212,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0008041858673095703,\"average_duration\":0.03135645331603525,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can I\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0019123554229736328,\"average_duration\":0.031356436915735426,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can I help\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0014078617095947266,\"average_duration\":0.0313564202344521,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can I help you\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0068891048431396484,\"average_duration\":0.03135640660622471,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can I help you today\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.0007793903350830078,\"average_duration\":0.03135638957492022,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can I help you today?\u258c\"]],[],[],[],[],[],[]],\"is_generating\":true,\"duration\":0.006395101547241211,\"average_duration\":0.03135637567156692,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_generating\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[[],[[\"replace\",[0,1],\"Hello! \ud83d\ude0a \\nHow can I help you today?\"]],[],[[\"replace\",[\"interactive\"],true],[\"add\",[\"visible\"],true]],[[\"replace\",[\"interactive\"],true],[\"add\",[\"visible\"],true]],[[\"replace\",[\"interactive\"],true],[\"add\",[\"visible\"],true]],[[\"replace\",[\"interactive\"],true],[\"add\",[\"visible\"],true]],[[\"replace\",[\"interactive\"],true],[\"add\",[\"visible\"],true]]],\"is_generating\":true,\"duration\":0.005133867263793945,\"average_duration\":0.03135636106572625,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"process_completed\",\"event_id\":\"6d04e2a3cb144625965df8051fae45da\",\"output\":{\"data\":[null,[[\"hello\",\"Hello! \ud83d\ude0a \\nHow can I help you today?\"]],null,{\"interactive\":true,\"visible\":true,\"__type__\":\"update\"},{\"interactive\":true,\"visible\":true,\"__type__\":\"update\"},{\"interactive\":true,\"visible\":true,\"__type__\":\"update\"},{\"interactive\":true,\"visible\":true,\"__type__\":\"update\"},{\"interactive\":true,\"visible\":true,\"__type__\":\"update\"}],\"is_generating\":false,\"duration\":0.0008721351623535156,\"average_duration\":0.03135634408613408,\"render_config\":null,\"changed_state_ids\":[]},\"success\":true}\n\ndata: {\"msg\":\"close_stream\",\"event_id\":null}\n\n" + }, + "redirectURL": "", + "headersSize": 290, + "bodySize": 6118 + }, + "cache": {}, + "timings": { + "blocked": -1, + "dns": 0, + "connect": 0, + "ssl": 0, + "send": 0, + "wait": 609, + "receive": 37 + }, + "time": 646, + "_securityState": "secure", + "serverIPAddress": "2606:4700:10::6816:1c9", + "connection": "443", + "pageref": "page_2" + } + ] + } +} \ No newline at end of file diff --git a/g4f/Provider/hf_space/CohereForAI_C4AI_Command.py b/g4f/Provider/hf_space/CohereForAI_C4AI_Command.py index 2b36a8c3..42289fb2 100644 --- a/g4f/Provider/hf_space/CohereForAI_C4AI_Command.py +++ b/g4f/Provider/hf_space/CohereForAI_C4AI_Command.py @@ -11,7 +11,7 @@ from ...providers.response import JsonConversation, TitleGeneration class CohereForAI_C4AI_Command(AsyncGeneratorProvider, ProviderModelMixin): label = "CohereForAI C4AI Command" - url = "https://cohereforai-c4ai-command.hf.space" + url = " https://coherelabs-c4ai-command.hf.space" conversation_url = f"{url}/conversation" working = True diff --git a/g4f/Provider/needs_auth/OpenaiChat.py b/g4f/Provider/needs_auth/OpenaiChat.py index 05abd9ad..b5c3d5af 100644 --- a/g4f/Provider/needs_auth/OpenaiChat.py +++ b/g4f/Provider/needs_auth/OpenaiChat.py @@ -24,10 +24,10 @@ from ...requests import StreamSession from ...requests import get_nodriver from ...image import ImageRequest, to_image, to_bytes, is_accepted_format from ...errors import MissingAuthError, NoValidHarFileError -from ...providers.response import JsonConversation, FinishReason, SynthesizeData, AuthResult, ImageResponse +from ...providers.response import JsonConversation, FinishReason, SynthesizeData, AuthResult, ImageResponse, ImagePreview from ...providers.response import Sources, TitleGeneration, RequestLogin, Reasoning from ...tools.media import merge_media -from ..helper import format_cookies, get_last_user_message +from ..helper import format_cookies, format_image_prompt from ..openai.models import default_model, default_image_model, models, image_models, text_models from ..openai.har_file import get_request_config from ..openai.har_file import RequestConfig, arkReq, arkose_url, start_url, conversation_url, backend_url, backend_anon_url @@ -254,31 +254,26 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): return messages @classmethod - async def get_generated_image(cls, session: StreamSession, auth_result: AuthResult, element: dict, prompt: str, conversation_id: str) -> ImageResponse: - try: - prompt = element["metadata"]["dalle"]["prompt"] - except IndexError: - pass - try: - file_id = element["asset_pointer"] - if "file-service://" in file_id: - file_id = file_id.split("file-service://", 1)[-1] - url = f"{cls.url}/backend-api/files/{file_id}/download" - else: - file_id = file_id.split("sediment://")[-1] - url = f"{cls.url}/backend-api/conversation/{conversation_id}/attachment/{file_id}/download" - except TypeError: - return - except Exception as e: - raise RuntimeError(f"No Image: {element} - {e}") - try: + async def get_generated_images(cls, session: StreamSession, auth_result: AuthResult, parts: list, prompt: str, conversation_id: str) -> AsyncIterator: + download_urls = [] + for element in [parts] if isinstance(parts, str) else parts: + if isinstance(element, dict) and element.get("content_type") == "image_asset_pointer": + if not prompt: + prompt = element["metadata"]["dalle"]["prompt"] + element = element["asset_pointer"] + element = element.split("sediment://")[-1] + url = f"{cls.url}/backend-api/conversation/{conversation_id}/attachment/{element}/download" + debug.log(f"OpenaiChat: Downloading image: {url}") async with session.get(url, headers=auth_result.headers) as response: cls._update_request_args(auth_result, session) await raise_for_status(response) - download_url = (await response.json())["download_url"] - return ImageResponse(download_url, prompt) - except Exception as e: - raise RuntimeError(f"Error in downloading image: {e}") + data = await response.json() + download_url = data.get("download_url") + if download_url is None: + print(data) + else: + download_urls.append(download_url) + return ImagePreview(download_urls, prompt) @classmethod async def create_authed( @@ -394,10 +389,8 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): #f"Proofofwork: {'False' if proofofwork is None else proofofwork[:12]+'...'}", #f"AccessToken: {'False' if cls._api_key is None else cls._api_key[:12]+'...'}", )] - if action is None or action == "variant" or action == "continue" and conversation.message_id is None: - action = "next" data = { - "action": action, + "action": "next", "parent_message_id": conversation.message_id, "model": model, "timezone_offset_min":-60, @@ -413,7 +406,7 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): if conversation.conversation_id is not None: data["conversation_id"] = conversation.conversation_id debug.log(f"OpenaiChat: Use conversation: {conversation.conversation_id}") - prompt = get_last_user_message(messages) if prompt is None else prompt + conversation.prompt = format_image_prompt(messages, prompt) if action != "continue": data["parent_message_id"] = getattr(conversation, "parent_message_id", conversation.message_id) conversation.parent_message_id = None @@ -444,7 +437,7 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): await raise_for_status(response) buffer = u"" async for line in response.iter_lines(): - async for chunk in cls.iter_messages_line(session, auth_result, line, conversation, sources, prompt): + async for chunk in cls.iter_messages_line(session, auth_result, line, conversation, sources): if isinstance(chunk, str): chunk = chunk.replace("\ue203", "").replace("\ue204", "").replace("\ue206", "") buffer += chunk @@ -469,6 +462,10 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): break if sources.list: yield sources + if conversation.generated_images: + yield ImageResponse(conversation.generated_images.urls, conversation.prompt) + conversation.generated_images = None + conversation.prompt = None if return_conversation: yield conversation if auth_result.api_key is not None: @@ -486,7 +483,7 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): yield FinishReason(conversation.finish_reason) @classmethod - async def iter_messages_line(cls, session: StreamSession, auth_result: AuthResult, line: bytes, fields: Conversation, sources: Sources, prompt: str) -> AsyncIterator: + async def iter_messages_line(cls, session: StreamSession, auth_result: AuthResult, line: bytes, fields: Conversation, sources: Sources) -> AsyncIterator: if not line.startswith(b"data: "): return elif line.startswith(b"data: [DONE]"): @@ -519,6 +516,10 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): for m in v: if m.get("p") == "/message/content/parts/0" and fields.recipient == "all": yield m.get("v") + elif m.get("p") == "/message/metadata/image_gen_title": + fields.prompt = m.get("v") + elif m.get("p") == "/message/content/parts/0/asset_pointer": + fields.generated_images = await cls.get_generated_images(session, auth_result, m.get("v"), fields.prompt, fields.conversation_id) elif m.get("p") == "/message/metadata/search_result_groups": for entry in [p.get("entries") for p in m.get("v")]: for link in entry: @@ -547,14 +548,7 @@ class OpenaiChat(AsyncAuthedProvider, ProviderModelMixin): fields.is_thinking = True yield Reasoning(status=m.get("metadata", {}).get("initial_text")) if c.get("content_type") == "multimodal_text": - generated_images = [] - for element in c.get("parts"): - if isinstance(element, dict) and element.get("content_type") == "image_asset_pointer": - image = cls.get_generated_image(session, auth_result, element, prompt, fields.conversation_id) - generated_images.append(image) - for image_response in await asyncio.gather(*generated_images): - if image_response is not None: - yield image_response + yield await cls.get_generated_images(session, auth_result, c.get("parts"), fields.prompt, fields.conversation_id) if m.get("author", {}).get("role") == "assistant": if fields.parent_message_id is None: fields.parent_message_id = v.get("message", {}).get("id") @@ -738,6 +732,8 @@ class Conversation(JsonConversation): self.is_thinking = is_thinking self.p = None self.thoughts_summary = "" + self.prompt = None + self.generated_images: ImagePreview = None def get_cookies( urls: Optional[Iterator[str]] = None diff --git a/g4f/gui/server/backend_api.py b/g4f/gui/server/backend_api.py index 15fb7db1..735bace7 100644 --- a/g4f/gui/server/backend_api.py +++ b/g4f/gui/server/backend_api.py @@ -396,7 +396,7 @@ class Backend_Api(Api): updated = chat_data.get("updated", 0) cache_value = self.chat_cache.get(share_id, 0) if updated == cache_value: - return jsonify({"error": {"message": "invalid date"}}), 400 + return {"share_id": share_id} share_id = secure_filename(share_id) bucket_dir = get_bucket_dir(share_id) os.makedirs(bucket_dir, exist_ok=True)