feat: Поиск - with it on the assistant searches DuckDuckGo itself and answers from what it found; without it, it cannot. «Думал N сек.»
This commit is contained in:
1 parent
fa62f2c5b6
commit
9bf30b281e
8 files changed
+921
-7
No files matched your search
@@ -363,6 +363,10 @@ const aiAgent = `
|
||||
Режим агента: ты сам ведёшь задачу шаг за шагом. В каждом ответе - коротко, что делаешь, и ровно одно действие. Получив результат, решай следующий шаг.
|
||||
Когда задача решена (или решить нельзя) - ответь итогом без блоков действий.`
|
||||
|
||||
const aiSearch = `
|
||||
Поиск в интернете включён: блок ` + "```search\nзапрос\n```" + ` - панель найдёт его в DuckDuckGo и пришлёт результаты (заголовок, адрес, отрывок) следующим сообщением.
|
||||
Ищи активно: свежие данные, версии, документация, тексты ошибок, всё, в чём не уверен, - сначала поиск, потом ответ со ссылками на найденное. Одно действие за ответ. Ссылки не выдумывай.`
|
||||
|
||||
const aiThink = `
|
||||
Режим размышления: начни ответ строкой ::думаю:: и подумай - разбери задачу, варианты и риски; затем строка ::ответ:: и сам ответ.`
|
||||
|
||||
@@ -524,6 +528,7 @@ func (s *Server) handleAIChat(w http.ResponseWriter, r *http.Request) {
|
||||
Context string `json:"context"`
|
||||
Agent bool `json:"agent"`
|
||||
Think bool `json:"think"`
|
||||
Search bool `json:"search"`
|
||||
Chat int64 `json:"chat"`
|
||||
}
|
||||
if err := json.NewDecoder(http.MaxBytesReader(w, r.Body, 1<<20)).Decode(&in); err != nil || (in.Message == "" && in.Result == "") {
|
||||
@@ -546,6 +551,9 @@ func (s *Server) handleAIChat(w http.ResponseWriter, r *http.Request) {
|
||||
if in.Agent {
|
||||
system += aiAgent
|
||||
}
|
||||
if in.Search {
|
||||
system += aiSearch
|
||||
}
|
||||
if in.Think {
|
||||
system += aiThink
|
||||
// Models heed the last words most: the reminder goes there too (not
|
||||
|
||||
Reference in new issue
Block a user