package tools import ( "github.com/Edw590/go-wolfram" gollm "gitea.stevedudenhoeffer.com/steve/go-llm" ) type WolframFunctions struct { Imperial *gollm.Function Metric *gollm.Function } func CreateWolframFunctions(appId string) WolframFunctions { client := &wolfram.Client{AppID: appId} return WolframFunctions{ Imperial: gollm.NewFunction( "wolfram", "Query the Wolfram Alpha API", func(ctx *gollm.Context, args struct { Question string `description:"The question to ask Wolfram|Alpha"` }) (string, error) { return client.GetShortAnswerQuery(args.Question, wolfram.Imperial, 10) }), Metric: gollm.NewFunction( "wolfram", "Query the Wolfram Alpha API", func(ctx *gollm.Context, args struct { Question string `description:"The question to ask Wolfram|Alpha"` }) (string, error) { return client.GetShortAnswerQuery(args.Question, wolfram.Metric, 10) }), } }