Mercurial Hosting > lang
annotate src/new_chat.red.luan @ 71:44bec62c49e2 default tip
split ask
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sun, 24 Aug 2025 08:32:08 -0600 |
parents | 4a73af8f2203 |
children |
rev | line source |
---|---|
18 | 1 local Luan = require "luan:Luan.luan" |
2 local error = Luan.error | |
3 local Http = require "luan:http/Http.luan" | |
4 local User = require "site:/lib/User.luan" | |
70 | 5 local current_user = User.current_required or error() |
18 | 6 local Chat = require "site:/lib/Chat.luan" |
24 | 7 local Course = require "site:/lib/Course.luan" |
8 local get_course_by_id = Course.get_by_id or error() | |
35
3117876debca
ai_first_message in textarea
Franklin Schmidt <fschmidt@gmail.com>
parents:
24
diff
changeset
|
9 local Ai_chat = require "site:/lib/ai/claude/Ai_chat.luan" |
3117876debca
ai_first_message in textarea
Franklin Schmidt <fschmidt@gmail.com>
parents:
24
diff
changeset
|
10 local ai_init = Ai_chat.init or error() |
24 | 11 |
18 | 12 |
13 | |
14 return function() | |
70 | 15 local user = current_user() |
16 if user == nil then return end | |
24 | 17 local course_id = Http.request.parameters.course or error() |
18 local course = get_course_by_id(course_id) or error() | |
18 | 19 local chat = Chat.new{ |
20 user_id = user.id | |
24 | 21 course_id = course.id |
22 name = course.name | |
23 language = course.language | |
46 | 24 tts_instructions = course.tts_instructions |
52 | 25 has_ruby = course.has_ruby |
69 | 26 stt_prompt = course.stt_prompt |
35
3117876debca
ai_first_message in textarea
Franklin Schmidt <fschmidt@gmail.com>
parents:
24
diff
changeset
|
27 ai_thread = ai_init(course.ai_system_prompt) |
18 | 28 } |
29 chat.save() | |
30 Http.response.send_redirect("chat.html?chat="..chat.id) | |
31 end |