Mercurial Hosting > lang
comparison src/lib/ai/claude/Claude.luan @ 9:46097e607701
romaji
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Mon, 21 Jul 2025 15:16:47 -0600 |
parents | 025bb19b65b1 |
children | d3f5448743bf |
comparison
equal
deleted
inserted
replaced
8:2b7dcf355a78 | 9:46097e607701 |
---|---|
3 local Io = require "luan:Io.luan" | 3 local Io = require "luan:Io.luan" |
4 local uri = Io.uri or error() | 4 local uri = Io.uri or error() |
5 local Parsers = require "luan:Parsers.luan" | 5 local Parsers = require "luan:Parsers.luan" |
6 local json_string = Parsers.json_string or error() | 6 local json_string = Parsers.json_string or error() |
7 local Config = require "site:/private/Config.luan" | 7 local Config = require "site:/private/Config.luan" |
8 local Utils = require "site:/lib/Utils.luan" | |
9 local shallow_copy = Utils.shallow_copy or error() | |
8 local Logging = require "luan:logging/Logging.luan" | 10 local Logging = require "luan:logging/Logging.luan" |
9 local logger = Logging.logger "claude/Claude" | 11 local logger = Logging.logger "claude/Claude" |
10 | 12 |
11 | 13 |
12 local Claude = {} | 14 local Claude = {} |
19 } | 21 } |
20 local model = "claude-sonnet-4-0" | 22 local model = "claude-sonnet-4-0" |
21 local max_tokens = 8192 | 23 local max_tokens = 8192 |
22 | 24 |
23 function Claude.chat(content) | 25 function Claude.chat(content) |
26 content = shallow_copy(content) | |
24 content.model = content.model or model | 27 content.model = content.model or model |
25 content.max_tokens = content.max_tokens or max_tokens | 28 content.max_tokens = content.max_tokens or max_tokens |
26 local options = { | 29 local options = { |
27 method = "POST" | 30 method = "POST" |
28 headers = headers | 31 headers = headers |