package agent import ( "fmt" "os" "github.com/Edw590/go-wolfram" ) var WolframTool = FromFunction( func(ctx *Context, args struct { Query string `description:"what to ask wolfram alpha"` }) (FuncResponse, error) { var cl = wolfram.Client{ AppID: os.Getenv("WOLFRAM_APPID"), } unit := wolfram.Imperial a, err := cl.GetShortAnswerQuery(args.Query, unit, 10) if err != nil { return FuncResponse{}, fmt.Errorf("failed to get short answer from wolfram: %w", err) } return FuncResponse{Result: a, Source: "Wolfram|Alpha"}, nil }). WithName("wolfram"). WithDescription("ask wolfram alpha for the answer")