Skip to content

Commit 6768f82

Browse files
committed
fixed:history set not work
added:get max token set
1 parent 86484a3 commit 6768f82

File tree

4 files changed

+57
-28
lines changed

4 files changed

+57
-28
lines changed

XEngine_Module/XEngine_AIApi/AIApi_Chat/AIApi_Chat.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ bool CAIApi_Chat::AIApi_Chat_Create(XNETHANDLE* pxhToken, LPCXSTR lpszAPIUrl, LP
7676
return false;
7777
}
7878
*pSt_AIClient = {};
79-
pSt_AIClient->bHistory = true;
79+
pSt_AIClient->bHistory = bHistory;
8080
pSt_AIClient->lParam = lParam;
8181
pSt_AIClient->lpCall_Chat = fpCall_Chat;
8282

@@ -156,12 +156,17 @@ bool CAIApi_Chat::AIApi_Chat_Create(XNETHANDLE* pxhToken, LPCXSTR lpszAPIUrl, LP
156156
类型:逻辑型
157157
可空:Y
158158
意思:是否使用流式数据回复
159+
参数.六:nMaxToken
160+
In/Out:In
161+
类型:整数型
162+
可空:Y
163+
意思:允许的最大token个数
159164
返回值
160165
类型:逻辑型
161166
意思:是否成功
162167
备注:
163168
*********************************************************************/
164-
bool CAIApi_Chat::AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream /* = false */)
169+
bool CAIApi_Chat::AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream /* = false */, int nMaxToken /* = 0 */)
165170
{
166171
AIApi_IsErrorOccur = false;
167172

@@ -218,6 +223,10 @@ bool CAIApi_Chat::AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, L
218223

219224
st_JsonRoot["model"] = lpszModelName;
220225
st_JsonRoot["stream"] = bStream;
226+
if (nMaxToken > 0)
227+
{
228+
st_JsonRoot["max_tokens"] = nMaxToken;
229+
}
221230
st_JsonRoot["messages"] = st_JsonArray;
222231

223232
xstring m_StrBody = Json::writeString(st_JsonBuilder, st_JsonRoot);

XEngine_Module/XEngine_AIApi/AIApi_Chat/AIApi_Chat.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class CAIApi_Chat
4444
~CAIApi_Chat();
4545
public:
4646
bool AIApi_Chat_Create(XNETHANDLE* pxhToken, LPCXSTR lpszAPIUrl, LPCXSTR lpszAPIKey, CALLBACK_XENGINE_MODULE_AIAPI_CHAT fpCall_Chat, XPVOID lParam = NULL, bool bHistory = true);
47-
bool AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream = false);
47+
bool AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream = false, int nMaxToken = 0);
4848
bool AIApi_Chat_SetRole(XNETHANDLE xhToken, LPCXSTR lpszRoleName);
4949
bool AIApi_Chat_Clear(XNETHANDLE xhToken);
5050
bool AIApi_Chat_GetStatus(XNETHANDLE xhToken, bool* pbComplete, int* pInt_HTTPCode = NULL, bool bWaitExist = true);

XEngine_Module/XEngine_AIApi/AIApi_Define.h

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,44 @@ extern "C" XLONG AIApi_GetLastError(int *pInt_ErrorCode = NULL);
6161
*********************************************************************/
6262
extern "C" bool AIApi_Chat_Create(XNETHANDLE* pxhToken, LPCXSTR lpszAPIUrl, LPCXSTR lpszAPIKey, CALLBACK_XENGINE_MODULE_AIAPI_CHAT fpCall_Chat, XPVOID lParam = NULL, bool bHistory = true);
6363
/********************************************************************
64-
函数名称:AIApi_Chat_Destory
65-
函数功能:销毁一个对话模型
64+
函数名称:AIApi_Chat_Excute
65+
函数功能:执行对话
6666
参数.一:xhToken
6767
In/Out:In
6868
类型:句柄
6969
可空:N
70-
意思:要操作的模型句柄
70+
意思:输入要操作的句柄
71+
参数.二:lpszModelName
72+
In/Out:In
73+
类型:常量字符指针
74+
可空:N
75+
意思:输入模型名称
76+
参数.三:lpszMSGBuffer
77+
In/Out:In
78+
类型:常量字符指针
79+
可空:N
80+
意思:输入要对话的数据
81+
参数.四:nMSGLen
82+
In/Out:In
83+
类型:整数型
84+
可空:N
85+
意思:输入对话数据大小
86+
参数.五:bStream
87+
In/Out:In
88+
类型:逻辑型
89+
可空:Y
90+
意思:是否使用流式数据回复
91+
参数.六:nMaxToken
92+
In/Out:In
93+
类型:整数型
94+
可空:Y
95+
意思:允许的最大token个数
7196
返回值
7297
类型:逻辑型
7398
意思:是否成功
7499
备注:
75100
*********************************************************************/
76-
extern "C" bool AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream = false);
101+
extern "C" bool AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream = false, int nMaxToken = 0);
77102
/********************************************************************
78103
函数名称:AIApi_Chat_SetRole
79104
函数功能:设置系统角色
@@ -108,37 +133,32 @@ extern "C" bool AIApi_Chat_SetRole(XNETHANDLE xhToken, LPCXSTR lpszRoleName);
108133
*********************************************************************/
109134
extern "C" bool AIApi_Chat_Clear(XNETHANDLE xhToken);
110135
/********************************************************************
111-
函数名称:AIApi_Chat_Excute
112-
函数功能:执行对话
136+
函数名称:AIApi_Chat_GetStatus
137+
函数功能:获取执行状态
113138
参数.一:xhToken
114139
In/Out:In
115140
类型:句柄
116141
可空:N
117142
意思:输入要操作的句柄
118-
参数.二:lpszModelName
119-
In/Out:In
120-
类型:常量字符指针
121-
可空:N
122-
意思:输入模型名称
123-
参数.三:lpszMSGBuffer
124-
In/Out:In
125-
类型:常量字符指针
126-
可空:N
127-
意思:输入要对话的数据
128-
参数.四:nMSGLen
129-
In/Out:In
130-
类型:整数型
143+
参数.二:pbComplete
144+
In/Out:Out
145+
类型:逻辑型指针
131146
可空:N
132-
意思:输入对话数据大小
133-
参数.五:bStream
147+
意思:输出是否执行完毕
148+
参数.三:pInt_HTTPCode
149+
In/Out:Out
150+
类型:整数型指针
151+
可空:Y
152+
意思:输出HTTP状态码
153+
参数.四:bWaitExist
134154
In/Out:In
135155
类型:逻辑型
136156
可空:Y
137-
意思:是否使用流式数据回复
157+
意思:是否等待执行完毕
138158
返回值
139159
类型:逻辑型
140160
意思:是否成功
141-
备注:
161+
备注:pbComplete没有执行完毕需要等待执行完毕
142162
*********************************************************************/
143163
extern "C" bool AIApi_Chat_GetStatus(XNETHANDLE xhToken, bool* pbComplete, int* pInt_HTTPCode = NULL, bool bWaitExist = true);
144164
/********************************************************************

XEngine_Module/XEngine_AIApi/pch.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ extern "C" bool AIApi_Chat_Create(XNETHANDLE* pxhToken, LPCXSTR lpszAPIUrl, LPCX
3333
{
3434
return m_AIChat.AIApi_Chat_Create(pxhToken, lpszAPIUrl, lpszAPIKey, fpCall_Chat, lParam, bHistory);
3535
}
36-
extern "C" bool AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream)
36+
extern "C" bool AIApi_Chat_Excute(XNETHANDLE xhToken, LPCXSTR lpszModelName, LPCXSTR lpszMSGBuffer, int nMSGLen, bool bStream, int nMaxToken)
3737
{
38-
return m_AIChat.AIApi_Chat_Excute(xhToken, lpszModelName, lpszMSGBuffer, nMSGLen, bStream);
38+
return m_AIChat.AIApi_Chat_Excute(xhToken, lpszModelName, lpszMSGBuffer, nMSGLen, bStream, nMaxToken);
3939
}
4040
extern "C" bool AIApi_Chat_SetRole(XNETHANDLE xhToken, LPCXSTR lpszRoleName)
4141
{

0 commit comments

Comments
 (0)