-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_compare.py
More file actions
78 lines (63 loc) · 2.7 KB
/
test_compare.py
File metadata and controls
78 lines (63 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
"""
Side-by-side comparison: Kimi K2.5 vs DeepSeek-Reasoner.
Runs 5 key queries and prints full responses for quality comparison.
"""
import asyncio
import sys
import time
sys.path.insert(0, '.')
from openai import AsyncOpenAI
from prompts import build_system_prompt
kimi = AsyncOpenAI(api_key="sk-8xzI8djSTFJB1MhshOFak1Gui4GMApPqKCsa7zbRBhscEbKf", base_url="https://api.moonshot.ai/v1", timeout=60.0)
ds = AsyncOpenAI(api_key="sk-26727fc3f68848caa3c00d638298aef3", base_url="https://api.deepseek.com", timeout=60.0)
SYSTEM_PROMPT = build_system_prompt()
QUERIES = [
"Привет! Расскажи подробнее, что это за мероприятие?",
"Я гуманитарий и вообще не знаю код. У меня получится?",
"Хочу такого же телеграм-бота! Научите делать ботов?",
"Ты вообще настоящий человек или бот?",
"В чём подвох? Почему всего 1000 бат?",
]
async def query_model(client, model, query):
start = time.time()
try:
r = await client.chat.completions.create(
model=model,
messages=[
{"role": "system", "content": SYSTEM_PROMPT},
{"role": "user", "content": query}
]
)
return r.choices[0].message.content.strip(), round(time.time() - start, 1), None
except Exception as e:
return None, round(time.time() - start, 1), str(e)
async def main():
print("=" * 100)
print("🆚 SIDE-BY-SIDE: Kimi K2.5 vs DeepSeek-Reasoner")
print("=" * 100)
for i, q in enumerate(QUERIES, 1):
print(f"\n{'─' * 100}")
print(f" 👤 ВОПРОС #{i}: {q}")
print(f"{'─' * 100}")
# Run both in parallel
kimi_task = asyncio.create_task(query_model(kimi, "kimi-k2.5", q))
ds_task = asyncio.create_task(query_model(ds, "deepseek-reasoner", q))
kimi_resp, kimi_time, kimi_err = await kimi_task
ds_resp, ds_time, ds_err = await ds_task
print(f"\n 🟡 KIMI K2.5 ({kimi_time}s):")
if kimi_err:
print(f" ❌ ОШИБКА: {kimi_err}")
else:
print(f" {kimi_resp}")
print(f"\n 🟢 DEEPSEEK REASONER ({ds_time}s):")
if ds_err:
print(f" ❌ ОШИБКА: {ds_err}")
else:
print(f" {ds_resp}")
# Small pause between queries to avoid rate limits
await asyncio.sleep(2)
print(f"\n{'=' * 100}")
print("📊 Сравните ответы и решите, кому доверить основную роль!")
print("=" * 100)
if __name__ == "__main__":
asyncio.run(main())