// Copyright (c) Microsoft Corporation. All rights reserved.
// Example09_LMStudio_FunctionCall.cs
using System.Text.Json;
using System.Text.Json.Serialization;
using AutoGen.Core;
using AutoGen.LMStudio;
using Azure.AI.OpenAI;
namespace AutoGen.BasicSample;
public class LLaMAFunctionCall
{
[JsonPropertyName("name")]
public string Name { get; set; }
[JsonPropertyName("arguments")]
public JsonElement Arguments { get; set; }
}
public partial class Example09_LMStudio_FunctionCall
{
///
/// Get weather from location.
///
/// location
/// date. type is string
[Function]
public async Task GetWeather(string location, string date)
{
return $"[Function] The weather on {date} in {location} is sunny.";
}
///
/// Search query on Google and return the results.
///
/// search query
[Function]
public async Task GoogleSearch(string query)
{
return $"[Function] Here are the search results for {query}.";
}
private static object SerializeFunctionDefinition(FunctionDefinition functionDefinition)
{
return new
{
type = "function",
function = new
{
name = functionDefinition.Name,
description = functionDefinition.Description,
parameters = functionDefinition.Parameters.ToObjectFromJson