Views
No views yet

| Architecture | Mixture-of-Experts (MoE) |
| Total Parameters | 48B |
| Activated Parameters | 3B |
| Number of Layers (Dense layer included) | 40 |
| Number of Dense Layers | 1 |
| Attention Hidden Dimension | 2048 |
| MoE Hidden Dimension (per Expert) | 768 |
| Number of Attention Heads | 32 |
| Number of Experts | 256 |
| Selected Experts per Token | 8 |
| Number of Shared Experts | 1 |
| Vocabulary Size | 129K |
| Context Length | 128K |
| Attention Mechanism | MLA |
| Activation Function | SwiGLU |
| Benchmark | JoyAI-LLM Flash | Qwen3-30B-A3B-Instuct-2507 | GLM-4.7-Flash (Non-thinking) |
|---|---|---|---|
| Knowledge & Alignment | |||
| MMLU | 89.50 | 86.87 | 80.53 |
| MMLU-Pro | 81.02 | 73.88 | 63.62 |
| CMMLU | 87.03 | 85.88 | 75.85 |
| GPQA-Diamond | 74.43 | 68.69 | 39.90 |
| SuperGPQA | 55.00 | 52.00 | 32.00 |
| LiveBench | 72.90 | 59.70 | 43.10 |
| IFEval | 86.69 | 83.18 | 82.44 |
| AlignBench | 8.24 | 8.07 | 6.85 |
| HellaSwag | 91.79 | 89.90 | 60.84 |
| Coding | |||
| HumanEval | 96.34 | 95.12 | 74.39 |
| LiveCodeBench | 65.60 | 39.71 | 27.43 |
| SciCode | 3.08/22.92 | 3.08/22.92 | 3.08/15.11 |
| Mathematics | |||
| GSM8K | 95.83 | 79.83 | 81.88 |
| AIME2025 | 65.83 | 62.08 | 24.17 |
| MATH 500 | 97.10 | 89.80 | 90.90 |
| Agentic | |||
| SWE-bench Verified | 60.60 | 24.44 | 51.60 |
| Tau2-Retail | 67.55 | 53.51 | 62.28 |
| Tau2-Airline | 54.00 | 32.00 | 52.00 |
| Tau2-Telecom | 79.83 | 4.39 | 88.60 |
| Long Context | |||
| RULER | 95.60 | 89.66 | 56.12 |
[!Note] You can access JoyAI-LLM Flash API on https://docs.jdcloud.com/cn/jdaip/chat and we provide OpenAI/Anthropic-compatible API for you. Currently, JoyAI-LLM Flash is recommended to run on the following inference engines:
transformers is 4.57.1.[!Note] Recommended sampling parameters:temperature=0.6,top_p=1.0
1from openai import OpenAI
2
3client = OpenAI(base_url="http://IP:PORT/v1", api_key="EMPTY")
4
5
6def simple_chat(client: OpenAI):
7 messages = [
8 {
9 "role": "user",
10 "content": [
11 {
12 "type": "text",
13 "text": "which one is bigger, 9.11 or 9.9? think carefully.",
14 }
15 ],
16 },
17 ]
18 model_name = client.models.list().data[0].id
19 response = client.chat.completions.create(
20 model=model_name, messages=messages, stream=False, max_tokens=4096
21 )
22 print(f"response: {response.choices[0].message.content}")
23
24
25if __name__ == "__main__":
26 simple_chat(client)1import json
2
3from openai import OpenAI
4
5client = OpenAI(base_url="http://IP:PORT/v1", api_key="EMPTY")
6
7
8def my_calculator(expression: str) -> str:
9 return str(eval(expression))
10
11
12def rewrite(expression: str) -> str:
13 return str(expression)
14
15
16def simple_tool_call(client: OpenAI):
17 messages = [
18 {
19 "role": "user",
20 "content": [
21 {
22 "type": "text",
23 "text": "use my functions to compute the results for the equations: 6+1",
24 },
25 ],
26 },
27 ]
28 tools = [
29 {
30 "type": "function",
31 "function": {
32 "name": "my_calculator",
33 "description": "A calculator that can evaluate a mathematical equation and compute its results.",
34 "parameters": {
35 "type": "object",
36 "properties": {
37 "expression": {
38 "type": "string",
39 "description": "The mathematical expression to evaluate.",
40 },
41 },
42 "required": ["expression"],
43 },
44 },
45 },
46 {
47 "type": "function",
48 "function": {
49 "name": "rewrite",
50 "description": "Rewrite a given text for improved clarity",
51 "parameters": {
52 "type": "object",
53 "properties": {
54 "text": {
55 "type": "string",
56 "description": "The input text to rewrite",
57 }
58 },
59 },
60 },
61 },
62 ]
63 model_name = client.models.list().data[0].id
64 response = client.chat.completions.create(
65 model=model_name,
66 messages=messages,
67 temperature=1.0,
68 max_tokens=1024,
69 tools=tools,
70 tool_choice="auto",
71 )
72 tool_calls = response.choices[0].message.tool_calls
73
74 results = []
75 for tool_call in tool_calls:
76 function_name = tool_call.function.name
77 function_args = tool_call.function.arguments
78 if function_name == "my_calculator":
79 result = my_calculator(**json.loads(function_args))
80 results.append(result)
81 messages.append({"role": "assistant", "tool_calls": tool_calls})
82 for tool_call, result in zip(tool_calls, results):
83 messages.append(
84 {
85 "role": "tool",
86 "tool_call_id": tool_call.id,
87 "name": tool_call.function.name,
88 "content": result,
89 }
90 )
91 response = client.chat.completions.create(
92 model=model_name,
93 messages=messages,
94 temperature=1.0,
95 max_tokens=1024,
96 )
97 print(response.choices[0].message.content)
98
99
100if __name__ == "__main__":
101 simple_tool_call(client)
102