Mercurial Hosting > lang
view src/lib/ai/claude/Claude.luan @ 6:025bb19b65b1
use claude
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 17 Jul 2025 23:19:22 -0600 |
parents | |
children | 46097e607701 |
line wrap: on
line source
local Luan = require "luan:Luan.luan" local error = Luan.error local Io = require "luan:Io.luan" local uri = Io.uri or error() local Parsers = require "luan:Parsers.luan" local json_string = Parsers.json_string or error() local Config = require "site:/private/Config.luan" local Logging = require "luan:logging/Logging.luan" local logger = Logging.logger "claude/Claude" local Claude = {} local url = "https://api.anthropic.com/v1/messages" local headers = { ["x-api-key"] = Config.claude.key or error() ["anthropic-version"] = "2023-06-01" ["Content-Type"] = "application/json" } local model = "claude-sonnet-4-0" local max_tokens = 8192 function Claude.chat(content) content.model = content.model or model content.max_tokens = content.max_tokens or max_tokens local options = { method = "POST" headers = headers content = json_string(content) } local response = uri(url,options).read_text() return response end return Claude