Widget:OllamaChat: различия между версиями
Перейти к навигации
Перейти к поиску
Rodion (обсуждение | вклад) Нет описания правки |
Rodion (обсуждение | вклад) Нет описания правки |
||
| (не показаны 3 промежуточные версии этого же участника) | |||
| Строка 9: | Строка 9: | ||
<option value="deepseek-r1:1.5b">DeepSeek-R1 1.5b (логическая)</option> | <option value="deepseek-r1:1.5b">DeepSeek-R1 1.5b (логическая)</option> | ||
</select> | </select> | ||
<div style="display: flex; gap: 10px; margin-top: 10px;"> | <div style="display: flex; gap: 10px; margin-top: 10px;"> | ||
<input type="text" id="ollama-input" placeholder="Введите сообщение..." style="flex: 1; padding: 8px; border: 1px solid #ccc; border-radius: 4px;"> | <input type="text" id="ollama-input" placeholder="Введите сообщение..." style="flex: 1; padding: 8px; border: 1px solid #ccc; border-radius: 4px;"> | ||
| Строка 25: | Строка 22: | ||
const sendButton = document.getElementById('ollama-send'); | const sendButton = document.getElementById('ollama-send'); | ||
const modelSelect = document.getElementById('ollama-model'); | const modelSelect = document.getElementById('ollama-model'); | ||
const OLLAMA_URL = ' | const OLLAMA_URL = '/ollama-proxy.php/api/generate'; | ||
function addMessage(text, isUser) { | function addMessage(text, isUser) { | ||
| Строка 106: | Строка 103: | ||
let answer = data.response || 'Извините, не удалось получить ответ.'; | let answer = data.response || 'Извините, не удалось получить ответ.'; | ||
if (modelSelect.value === 'deepseek-r1:1.5b') { | if (modelSelect.value === 'deepseek-r1:1.5b') { | ||
answer = answer.replace(/<thinking>[\s\S]*?<\/thinking>/g, '').trim(); | answer = answer.replace(/<thinking>[\s\S]*?<\/thinking>/g, '').trim(); | ||
if (!answer) answer = 'Ответ не сформирован.'; | |||
} | } | ||
addMessage(answer, false); | addMessage(answer, false); | ||
| Строка 114: | Строка 111: | ||
} catch (error) { | } catch (error) { | ||
hideTyping(); | hideTyping(); | ||
addMessage('❌ Ошибка: ' + error.message, false); | |||
} finally { | } finally { | ||
inputField.disabled = false; | inputField.disabled = false; | ||
| Строка 133: | Строка 124: | ||
}); | }); | ||
inputField.focus(); | inputField.focus(); | ||
})(); | })(); | ||