answer/pkg/agents/tools/calculator.go
Steve Dudenhoeffer 693ac4e6a7 Add core implementation for AI-powered question answering
Introduce multiple agents, tools, and utilities for processing, extracting, and answering user-provided questions using LLMs and external data. Key features include knowledge processing, question splitting, search term generation, and contextual knowledge handling.
2025-03-21 11:10:48 -04:00

28 lines
598 B
Go

package tools
import (
"go.starlark.net/lib/math"
"go.starlark.net/starlark"
"go.starlark.net/syntax"
gollm "gitea.stevedudenhoeffer.com/steve/go-llm"
)
var Calculator = gollm.NewFunction(
"calculator",
"A starlark calculator",
func(ctx *gollm.Context, args struct {
Expression string `description:"The expression to evaluate using starlark"`
}) (string, error) {
val, err := starlark.EvalOptions(&syntax.FileOptions{},
&starlark.Thread{Name: "main"},
"input",
args.Expression,
math.Module.Members)
if err != nil {
return "", err
}
return val.String(), nil
})