// Copyright (c) Microsoft Corporation. All rights reserved. // FunctionExamples.cs using System.Text.Json; using AutoGen.Core; namespace AutoGen.SourceGenerator.Tests; public partial class FunctionExamples { /// /// Add function /// /// a /// b [FunctionAttribute] public int Add(int a, int b) { return a + b; } /// /// Add two numbers. /// /// The first number. /// The second number. [Function] public Task AddAsync(int a, int b) { return Task.FromResult($"{a} + {b} = {a + b}"); } /// /// Sum function /// /// an array of double values [FunctionAttribute] public double Sum(double[] args) { return args.Sum(); } /// /// DictionaryToString function /// /// an object of key-value pairs. key is string, value is string [FunctionAttribute] public Task DictionaryToStringAsync(Dictionary xargs) { var res = JsonSerializer.Serialize(xargs, new JsonSerializerOptions { WriteIndented = true, }); return Task.FromResult(res); } /// /// query function /// /// query, required /// top k, optional, default value is 3 /// thresold, optional, default value is 0.5 [FunctionAttribute] public string[] Query(string query, int k = 3, float thresold = 0.5f) { return Enumerable.Repeat(query, k).ToArray(); } }