model rwkv-world-7b messages role system content role user content 你扮演胡桃是我的好朋友。 role assistant content 你好旅行者。 role user con
你可以按照以下方式修改你的代码来达到你想要的请求格式和内容:
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
public class chatRWKV : LLM
{
public chatRWKV()
{
url = "https://rwkv.ai-creator.net/chntuned/v1/chat/completions";
}
/// <summary>
/// AI设定
/// </summary>
public string m_SystemSetting = string.Empty;
/// <summary>
/// gpt-3.5-turbo
/// </summary>
public string m_gptModel = "rwkv-world-7b";
public string systemSetting = "";
private void Start()
{
//运行时,添加AI设定
m_DataList.Add(new SendData("system", m_SystemSetting));
}
/// <summary>
/// 发送消息
/// </summary>
/// <returns></returns>
public override void PostMsg(string _msg, Action<string> _callback)
{
base.PostMsg(_msg, _callback);
}
/// <summary>
/// 调用接口
/// </summary>
/// <param name="_postWord"></param>
/// <param name="_callback"></param>
/// <returns></returns>
public override IEnumerator Request(string _postWord, System.Action<string> _callback)
{
stopwatch.Restart();
using (UnityWebRequest request = UnityWebRequest.Post(url, ""))
{
PostData _postData = new PostData
{
model = m_gptModel,
messages = new List<Message>()
{
new Message()
{
role = "user",
content = "你扮演胡桃,是我的好朋友。"
},
new Message()
{
role = "assistant",
content = "你好旅行者。"
},
new Message()
{
role = "user",
content = "我们来聊聊天吧。"
},
new Message()
{
role = "assistant",
content = "好啊旅行者,请问有什么需要我帮忙吗?"
},
new Message()
{
role = "user",
content = _postWord
}
}
};
string _jsonText = JsonUtility.ToJson(_postData);
byte[] data = System.Text.Encoding.UTF8.GetBytes(_jsonText);
request.uploadHandler = (UploadHandler)new UploadHandlerRaw(data);
request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
request.SetRequestHeader("Content-Type", "application/json");
yield return request.SendWebRequest();
if (request.responseCode == 200)
{
string _msgBack = request.downloadHandler.text;
MessageBack _textback = JsonUtility.FromJson<MessageBack>(_msgBack);
if (_textback != null && _textback.choices.Count > 0)
{
string _backMsg = _textback.choices[0].message.content;
//添加记录
m_DataList.Add(new SendData("assistant", _backMsg));
_callback(_backMsg);
}
}
stopwatch.Stop();
Debug.Log("RWKV耗时:" + stopwatch.Elapsed.TotalSeconds);
}
}
#region 数据包
[Serializable]
public class PostData
{
public string model;
public List<Message> messages;
}
[Serializable]
public class MessageBack
{
public string id;
public string created;
public string model;
public List<MessageBody> choices;
}
[Serializable]
public class MessageBody
{
public Message message;
public string finish_reason;
public string index;
}
[Serializable]
public class Message
{
public string role;
public string content;
}
#endregion
}
原文地址: https://www.cveoy.top/t/topic/i5dU 著作权归作者所有。请勿转载和采集!