Spaces:
Running
on
Inf2
Running
on
Inf2
feat: add section about `reasoning` field in README.md
Browse files
README.md
CHANGED
|
@@ -909,6 +909,60 @@ MODELS=`[
|
|
| 909 |
]
|
| 910 |
}
|
| 911 |
]`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 912 |
```
|
| 913 |
|
| 914 |
## Common issues
|
|
|
|
| 909 |
]
|
| 910 |
}
|
| 911 |
]`
|
| 912 |
+
|
| 913 |
+
```
|
| 914 |
+
|
| 915 |
+
### Reasoning Models
|
| 916 |
+
|
| 917 |
+
ChatUI supports specialized reasoning/Chain-of-Thought (CoT) models through the `reasoning` configuration field. When properly configured, this displays a UI widget that allows users to view or collapse the model’s reasoning steps. We support three types of reasoning parsing:
|
| 918 |
+
|
| 919 |
+
#### Token-Based Delimitations
|
| 920 |
+
|
| 921 |
+
For models like DeepSeek R1, token-based delimitations can be used to identify reasoning steps. This is done by specifying the `beginToken` and `endToken` fields in the `reasoning` configuration.
|
| 922 |
+
|
| 923 |
+
Example configuration for DeepSeek R1 (token-based):
|
| 924 |
+
|
| 925 |
+
```json
|
| 926 |
+
{
|
| 927 |
+
"name": "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
|
| 928 |
+
// ...
|
| 929 |
+
"reasoning": {
|
| 930 |
+
"type": "tokens",
|
| 931 |
+
"beginToken": "<think>",
|
| 932 |
+
"endToken": "</think>"
|
| 933 |
+
}
|
| 934 |
+
}
|
| 935 |
+
```
|
| 936 |
+
|
| 937 |
+
#### Summarizing the Chain of Thought
|
| 938 |
+
|
| 939 |
+
For models like QwQ, which return a chain of thought but do not explicitly provide a final answer, the `summarize` type can be used. This automatically summarizes the reasoning steps using the `TASK_MODEL` (or the first model in the configuration if `TASK_MODEL` is not specified) and displays the summary as the final answer.
|
| 940 |
+
|
| 941 |
+
Example configuration for QwQ (summarize-based):
|
| 942 |
+
|
| 943 |
+
```json
|
| 944 |
+
{
|
| 945 |
+
"name": "Qwen/QwQ-32B-Preview",
|
| 946 |
+
// ...
|
| 947 |
+
"reasoning": {
|
| 948 |
+
"type": "summarize"
|
| 949 |
+
}
|
| 950 |
+
}
|
| 951 |
+
```
|
| 952 |
+
|
| 953 |
+
#### Regex-Based Delimitations
|
| 954 |
+
|
| 955 |
+
In some cases, the final answer can be extracted from the model output using a regular expression. This is achieved by specifying the `regex` field in the `reasoning` configuration. For example, if your model wraps the final answer in a `\boxed{}` tag, you can use the following configuration:
|
| 956 |
+
|
| 957 |
+
```json
|
| 958 |
+
{
|
| 959 |
+
"name": "model/yourmodel",
|
| 960 |
+
// ...
|
| 961 |
+
"reasoning": {
|
| 962 |
+
"type": "regex",
|
| 963 |
+
"regex": "\\\\boxed\\{(.+?)\\}"
|
| 964 |
+
}
|
| 965 |
+
}
|
| 966 |
```
|
| 967 |
|
| 968 |
## Common issues
|