Mercurial Hosting > lang
diff src/lib/ai/claude/Ai_chat.luan @ 71:44bec62c49e2 default tip
split ask
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 24 Aug 2025 08:32:08 -0600 |
parents | f5e72f2d1025 |
children |
line wrap: on
line diff
--- a/src/lib/ai/claude/Ai_chat.luan Sat Aug 23 12:00:16 2025 -0600 +++ b/src/lib/ai/claude/Ai_chat.luan Sun Aug 24 08:32:08 2025 -0600 @@ -10,6 +10,7 @@ local Parsers = require "luan:Parsers.luan" local json_parse = Parsers.json_parse or error() local json_string = Parsers.json_string or error() +local Thread = require "luan:Thread.luan" local Claude = require "site:/lib/ai/claude/Claude.luan" local claude_chat = Claude.chat or error() local Logging = require "luan:logging/Logging.luan" @@ -163,12 +164,8 @@ return #thread.messages > 0 end -local function ask(thread,content) +local function ask(thread) local messages = thread.messages or error - messages[#messages+1] = { - role = "user" - content = content - } --[=[ messages[#messages+1] = { role = "assistant" @@ -176,6 +173,7 @@ hello ]] } + Thread.sleep(2000) if true then return end @@ -208,15 +206,29 @@ } end end - ask(thread,response) + messages[#messages+1] = { + role = "user" + content = response + } + ask(thread) else error(stop_reason) end end -function Ai_chat.ask(thread,input) +function Ai_chat.add(thread,input) thread = json_parse(thread) - ask(thread,input) + local messages = thread.messages or error + messages[#messages+1] = { + role = "user" + content = input + } + return json_string(thread) +end + +function Ai_chat.respond(thread) + thread = json_parse(thread) + ask(thread) return json_string(thread) end