59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.Dynamic;
|
|
using System.Net.Http;
|
|
using System.Text;
|
|
using Cysharp.Threading.Tasks;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Net.Project.B.AI.Dialogue.MaxKb
|
|
{
|
|
public class MaxKbDialogueService:IAiDialogueService
|
|
{
|
|
public async UniTask<string> DialogueAsync(int id, string message)
|
|
{
|
|
using var client = new HttpClient();
|
|
|
|
const string url = "http://server.bitfall.icu:18918/api/application/chat_message/ceb19752-185e-11f0-9541-0242ac120009";
|
|
|
|
dynamic data = new ExpandoObject() { };
|
|
|
|
data.message = message;
|
|
data.re_chat = false;
|
|
data.stream = false;
|
|
|
|
// 构造 JSON 数据
|
|
var json = JsonConvert.SerializeObject(data);
|
|
|
|
// 设置请求体
|
|
var stringContent = new StringContent(json, Encoding.UTF8, "application/json");
|
|
|
|
// 添加请求头
|
|
client.DefaultRequestHeaders.Clear();
|
|
client.DefaultRequestHeaders.Add("AUTHORIZATION", "application-012e89878ee3e8dcfc4bc59a0c5648ae");
|
|
client.DefaultRequestHeaders.Add("accept", "application/json");
|
|
|
|
// 发送请求
|
|
var response = await client.PostAsync(url, stringContent);
|
|
|
|
string newMessage;
|
|
try
|
|
{
|
|
response.EnsureSuccessStatusCode();
|
|
|
|
// 处理返回
|
|
json = await response.Content.ReadAsStringAsync();
|
|
|
|
var result = JsonConvert.DeserializeObject<dynamic>(json);
|
|
|
|
newMessage = result.data.content;
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
newMessage = e.Message;
|
|
}
|
|
|
|
return newMessage;
|
|
}
|
|
}
|
|
} |