File tree Expand file tree Collapse file tree 6 files changed +14
-8
lines changed
Expand file tree Collapse file tree 6 files changed +14
-8
lines changed Original file line number Diff line number Diff line change 131131
132132(defn ^:private prompt-messages!
133133 [user-messages
134+ reason?
134135 {:keys [db* config chat-id contexts behavior model] :as chat-ctx}]
135136 (when (seq contexts)
136137 (send-content! chat-ctx :system {:type :progress
161162 :past-messages past-messages
162163 :config config
163164 :tools all-tools
165+ :reason? reason?
164166 :on-first-response-received (fn [& _]
165167 (assert-chat-not-stopped! chat-ctx)
166168 (doseq [message user-messages]
289291 {}
290292 arguments)
291293 {:keys [messages]} (f.mcp/get-prompt! prompt args-vals @db*)]
292- (prompt-messages! messages chat-ctx)))
294+ (prompt-messages! messages false chat-ctx)))
293295
294296(defn ^:private handle-command! [{:keys [command]} {:keys [chat-id db*] :as chat-ctx}]
295297 (case command
336338 (case (:type decision)
337339 :mcp-prompt (send-mcp-prompt! decision chat-ctx)
338340 :eca-command (handle-command! decision chat-ctx)
339- :prompt-message (prompt-messages! [{:role " user" :content message}] chat-ctx))
341+ :prompt-message (prompt-messages! [{:role " user" :content message}] true chat-ctx))
340342 {:chat-id chat-id
341343 :model chosen-model
342344 :status :success }))
Original file line number Diff line number Diff line change 7171 :type " function" ))
7272
7373(defn complete!
74- [{:keys [model model-config instructions user-messages config on-first-response-received
74+ [{:keys [model model-config instructions reason? user-messages config on-first-response-received
7575 on-message-received on-error on-prepare-tool-call on-tool-called on-reason
7676 past-messages tools]}]
7777 (let [first-response-received* (atom false )
116116 :user-messages user-messages
117117 :max-output-tokens max-output-tokens
118118 :reason-tokens reason-tokens
119+ :reason? reason?
119120 :past-messages past-messages
120121 :tools tools
121122 :web-search web-search
132133 :user-messages user-messages
133134 :max-output-tokens max-output-tokens
134135 :reason-tokens reason-tokens
136+ :reason? reason?
135137 :past-messages past-messages
136138 :tools tools
137139 :web-search web-search
143145 (llm-providers.ollama/completion!
144146 {:host (-> config :ollama :host )
145147 :port (-> config :ollama :port )
148+ :reason? reason?
146149 :model (string/replace-first model config/ollama-model-prefix " " )
147150 :instructions instructions
148151 :user-messages user-messages
165168 :user-messages user-messages
166169 :max-output-tokens max-output-tokens
167170 :reason-tokens reason-tokens
171+ :reason? reason?
168172 :past-messages past-messages
169173 :web-search web-search
170174 :tools tools
Original file line number Diff line number Diff line change 9696
9797(defn completion!
9898 [{:keys [model user-messages temperature instructions max-output-tokens
99- api-url api-key reason-tokens past-messages tools web-search]
99+ api-url api-key reason? reason -tokens past-messages tools web-search]
100100 :or {temperature 1.0 }}
101101 {:keys [on-message-received on-error on-reason on-prepare-tool-call on-tool-called]}]
102102 (let [messages (concat (normalize-messages past-messages)
109109 :stream true
110110 :tools (->tools tools web-search)
111111 :system [{:type " text" :text instructions :cache_control {:type " ephemeral" }}]}
112- :thinking (when (and reason-tokens (> reason-tokens 0 ))
112+ :thinking (when (and reason? reason -tokens (> reason-tokens 0 ))
113113 {:type " enabled"
114114 :budget_tokens reason-tokens}))
115115
Original file line number Diff line number Diff line change 3737 :arguments {}
3838 :output {:contents [{:type :text
3939 :error false
40- :content " Allowed directories: /foo/bar" }]}}}
40+ :text " Allowed directories: /foo/bar" }]}}}
4141 {:role " assistant" :content " I see /foo/bar" }])))))
4242
4343(deftest add-cache-to-last-message-test
Original file line number Diff line number Diff line change 3434 :arguments {}
3535 :output {:contents [{:type :text
3636 :error false
37- :content " Allowed directories: /foo/bar" }]}}}
37+ :text " Allowed directories: /foo/bar" }]}}}
3838 {:role " assistant" :content " I see /foo/bar" }])))))
Original file line number Diff line number Diff line change 3838 :arguments {}
3939 :output {:contents [{:type :text
4040 :error false
41- :content " Allowed directories: /foo/bar" }]}}}
41+ :text " Allowed directories: /foo/bar" }]}}}
4242 {:role " assistant" :content [{:type :text :text " I see /foo/bar" }]}])))))
You can’t perform that action at this time.
0 commit comments