38 lines
932 B
C#
38 lines
932 B
C#
using Godot;
|
|
using System;
|
|
|
|
public partial class LLMApiRequest : HttpRequest
|
|
{
|
|
public record AnswerRequest(
|
|
Message[] Context,
|
|
string Prompt
|
|
);
|
|
|
|
public record Message(
|
|
string Role,
|
|
string? Content
|
|
);
|
|
|
|
private bool PostToApiIsSet = false;
|
|
|
|
// Called when the node enters the scene tree for the first time.
|
|
public override void _Ready()
|
|
{
|
|
SetProcess(false);
|
|
}
|
|
|
|
public void PostToApi(Action<long, long, string[], byte[]> action)
|
|
{
|
|
if(!PostToApiIsSet)
|
|
{
|
|
RequestCompleted += (long result, long responseCode, string[] headers, byte[] body) => action(result, responseCode, headers, body);
|
|
PostToApiIsSet = true;
|
|
}
|
|
|
|
var answerRequest = new AnswerRequest(new[] { new Message("user", "Hello!"), }, "aodneris");
|
|
|
|
|
|
Request($"http://localhost:5246/LLM/Test", new[] { "Content-Type: application/json" }, HttpClient.Method.Get, Newtonsoft.Json.JsonConvert.SerializeObject(answerRequest));
|
|
}
|
|
}
|