戒酒的李白

Add DeepSeek model selection UI support.

@@ -166,6 +166,29 @@ @@ -166,6 +166,29 @@
166 </div> 166 </div>
167 </div> 167 </div>
168 </div> 168 </div>
  169 + <div class="col-lg-12 mb-3">
  170 + <div class="form-group">
  171 + <label for="modelSelect">选择分析模型:</label>
  172 + <select class="form-control" id="modelSelect" onchange="updateModel(this.value)">
  173 + <optgroup label="基础模型">
  174 + <option value="basic" {% if model_type == 'basic' %}selected{% endif %}>SnowNLP</option>
  175 + </optgroup>
  176 + <optgroup label="OpenAI 模型">
  177 + <option value="gpt-3.5-turbo" {% if model_type == 'gpt-3.5-turbo' %}selected{% endif %}>GPT-3.5-Turbo</option>
  178 + <option value="gpt-4" {% if model_type == 'gpt-4' %}selected{% endif %}>GPT-4</option>
  179 + </optgroup>
  180 + <optgroup label="Claude 模型">
  181 + <option value="claude-3-opus-20240229" {% if model_type == 'claude-3-opus-20240229' %}selected{% endif %}>Claude-3 Opus</option>
  182 + <option value="claude-3-sonnet-20240229" {% if model_type == 'claude-3-sonnet-20240229' %}selected{% endif %}>Claude-3 Sonnet</option>
  183 + <option value="claude-3-haiku-20240307" {% if model_type == 'claude-3-haiku-20240307' %}selected{% endif %}>Claude-3 Haiku</option>
  184 + </optgroup>
  185 + <optgroup label="DeepSeek 模型">
  186 + <option value="deepseek-chat" {% if model_type == 'deepseek-chat' %}selected{% endif %}>DeepSeek-V3</option>
  187 + <option value="deepseek-reasoner" {% if model_type == 'deepseek-reasoner' %}selected{% endif %}>DeepSeek-R1</option>
  188 + </optgroup>
  189 + </select>
  190 + </div>
  191 + </div>
169 </div> 192 </div>
170 193
171 {% endblock %} 194 {% endblock %}
@@ -370,4 +393,9 @@ @@ -370,4 +393,9 @@
370 option && myChart.setOption(option); 393 option && myChart.setOption(option);
371 394
372 </script> 395 </script>
  396 + <script>
  397 + function updateModel(value) {
  398 + window.location.href = '/page/yuqingChar?model=' + value;
  399 + }
  400 + </script>
373 {% endblock %} 401 {% endblock %}
@@ -162,26 +162,37 @@ @@ -162,26 +162,37 @@
162 {% endfor %} 162 {% endfor %}
163 </select> 163 </select>
164 </div> 164 </div>
165 - <div class="form-group">  
166 - <label>模型选择</label>  
167 - <select onchange="modelChange(event)" class="form-control mb-3">  
168 - {% if model_type == 'basic' %}  
169 - <option selected value="basic">基础模型</option>  
170 - <option value="pro">改进模型</option>  
171 - {% else %}  
172 - <option value="basic">基础模型</option>  
173 - <option selected value="pro">改进模型</option>  
174 - {% endif %}  
175 - </select> 165 + <div class="col-lg-12">
  166 + <div class="form-group">
  167 + <label for="modelSelect">选择分析模型:</label>
  168 + <select class="form-control" id="modelSelect" onchange="updateModel(this.value)">
  169 + <optgroup label="基础模型">
  170 + <option value="basic" {% if model_type == 'basic' %}selected{% endif %}>SnowNLP</option>
  171 + </optgroup>
  172 + <optgroup label="OpenAI 模型">
  173 + <option value="gpt-3.5-turbo" {% if model_type == 'gpt-3.5-turbo' %}selected{% endif %}>GPT-3.5-Turbo</option>
  174 + <option value="gpt-4" {% if model_type == 'gpt-4' %}selected{% endif %}>GPT-4</option>
  175 + </optgroup>
  176 + <optgroup label="Claude 模型">
  177 + <option value="claude-3-opus-20240229" {% if model_type == 'claude-3-opus-20240229' %}selected{% endif %}>Claude-3 Opus</option>
  178 + <option value="claude-3-sonnet-20240229" {% if model_type == 'claude-3-sonnet-20240229' %}selected{% endif %}>Claude-3 Sonnet</option>
  179 + <option value="claude-3-haiku-20240307" {% if model_type == 'claude-3-haiku-20240307' %}selected{% endif %}>Claude-3 Haiku</option>
  180 + </optgroup>
  181 + <optgroup label="DeepSeek 模型">
  182 + <option value="deepseek-chat" {% if model_type == 'deepseek-chat' %}selected{% endif %}>DeepSeek-V3</option>
  183 + <option value="deepseek-reasoner" {% if model_type == 'deepseek-reasoner' %}selected{% endif %}>DeepSeek-R1</option>
  184 + </optgroup>
  185 + </select>
  186 + </div>
176 </div> 187 </div>
177 <script> 188 <script>
178 function hotWordChange(e){ 189 function hotWordChange(e){
179 - const model = document.querySelector('select[onchange="modelChange(event)"]').value; 190 + const model = document.querySelector('select[onchange="updateModel(this.value)"]').value;
180 window.location.href = 'http://127.0.0.1:5000/page/yuqingpredict?Topic=' + e.target.value + '&model=' + model; 191 window.location.href = 'http://127.0.0.1:5000/page/yuqingpredict?Topic=' + e.target.value + '&model=' + model;
181 } 192 }
182 - function modelChange(e){ 193 + function updateModel(value) {
183 const topic = document.querySelector('select[onchange="hotWordChange(event)"]').value; 194 const topic = document.querySelector('select[onchange="hotWordChange(event)"]').value;
184 - window.location.href = 'http://127.0.0.1:5000/page/yuqingpredict?Topic=' + topic + '&model=' + e.target.value; 195 + window.location.href = 'http://127.0.0.1:5000/page/yuqingpredict?Topic=' + topic + '&model=' + value;
185 } 196 }
186 </script> 197 </script>
187 </div> 198 </div>