feat: Variet Engine v1.0 + 5-model tuning complete

Phase 01 (LLM Tuning):
- Gemma4 26B: 74.65 t/s (fast)
- Qwen 35B: 61.62 t/s (balanced)
- Gemma4 31B: 16.0 t/s (deep-coder)
- Qwen 27B: 16.7 t/s (deep-logic)
- Qwen 122B: 8.95 t/s (ultra, GPU 1 only)

Phase 02 (API Engine):
- FastAPI reverse proxy on port 8000
- /engine/switch hot-swap with 503 protection
- config/engine_models.json as single source of truth
- Replaced 4 individual .bat files with unified engine

File cleanup:
- scripts/ 85 files -> 9 + _archive/
- Root .bat files -> _archive/
This commit is contained in:
Variet-Worker
2026-04-07 18:08:58 +09:00
parent 7c7a899fd5
commit c111b3a9b0
414 changed files with 3402 additions and 68598 deletions

View File

@@ -0,0 +1,124 @@
[
{
"id": "code_generate",
"category": "coding",
"name": "Python 함수 생성",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 12.7,
"tps": 62.97,
"eval_criteria": [
"correctness",
"type_hints",
"docstring",
"edge_cases"
]
},
{
"id": "code_debug",
"category": "coding",
"name": "버그 찾기 & 수정",
"model": "qwen35b",
"response": "Here's the corrected version of the function that returns a dictionary of duplicate values with their occurrence counts:\n\n```python\ndef find_duplicates(arr):\n count = {}\n for item in arr:\n count[item] = count.get(item, 0) + 1\n \n return {item: cnt for item, cnt in count.items() if cnt > 1}\n```\n\n### Explanation of Fixes:\n\n1. **Correct Output Format:** The function now returns a dictionary where each key is a duplicate value and the corresponding value is its total count of occurrences.\n2. **Handles Empty Lists:** The function works correctly with an empty list, returning an empty dictionary `{}`.\n3. **Accurate Duplicate Detection:** Only values that appear more than once are included in the result.\n\n### Example Usage:\n\n```python\nprint(find_duplicates([1, 2, 2, 3, 3, 3])) # Output: {2: 2, 3: 3}\nprint(find_duplicates([])) # Output: {}\nprint(find_duplicates([1, 1, 1])) # Output: {1: 3}\nprint(find_duplicates([1, 2, 3])) # Output: {}\n```\n\nThis implementation is efficient, readable, and meets the specified requirements.",
"tokens": 788,
"time": 12.8,
"tps": 61.58,
"eval_criteria": [
"bug_identified",
"correct_fix",
"clean_code"
]
},
{
"id": "code_refactor",
"category": "coding",
"name": "TypeScript 리팩토링",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 13.05,
"tps": 61.3,
"eval_criteria": [
"types",
"error_handling",
"backoff",
"production_quality"
]
},
{
"id": "korean_schedule",
"category": "assistant_kr",
"name": "한국어 일정 관리",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 12.89,
"tps": 62.08,
"eval_criteria": [
"korean_fluency",
"schedule_analysis",
"practical_advice"
]
},
{
"id": "korean_email",
"category": "assistant_kr",
"name": "한국어 이메일 요약",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 13.06,
"tps": 61.27,
"eval_criteria": [
"korean_summary",
"action_items",
"conciseness"
]
},
{
"id": "tool_calling",
"category": "tool_use",
"name": "Function Calling (JSON)",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 12.92,
"tps": 61.9,
"eval_criteria": [
"correct_sequence",
"valid_json",
"complete_args"
]
},
{
"id": "structured_output",
"category": "tool_use",
"name": "구조화 출력 (JSON)",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 13.04,
"tps": 61.34,
"eval_criteria": [
"correct_parsing",
"valid_json",
"completeness"
]
},
{
"id": "reasoning",
"category": "reasoning",
"name": "논리 추론",
"model": "qwen35b",
"response": "",
"tokens": 800,
"time": 12.86,
"tps": 62.21,
"eval_criteria": [
"correct_answer",
"clear_steps",
"math_accuracy"
]
}
]