Skip to content
This repository was archived by the owner on Oct 11, 2024. It is now read-only.

Commit 8fd23c0

Browse files
committed
UE5.4.1
1 parent 870b864 commit 8fd23c0

File tree

7 files changed

+72
-68
lines changed

7 files changed

+72
-68
lines changed

HttpGPT.uplugin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"FileVersion": 3,
3-
"Version": 22,
4-
"VersionName": "1.5.9",
3+
"Version": 23,
4+
"VersionName": "1.5.10",
55
"FriendlyName": "HttpGPT - GPT Integration",
66
"Description": "HttpGPT is an Unreal Engine plugin that facilitates integration with OpenAI's GPT based services (ChatGPT and DALL-E) through asynchronous REST requests, making it easy for developers to communicate with these services. HttpGPT also includes new Editor Tools to integrate Chat GPT and DALL-E image generation directly in the Engine.",
77
"Category": "Game Features",

Source/HttpGPTChatModule/Private/Tasks/HttpGPTChatRequest.cpp

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ bool UHttpGPTChatRequest::CanActivateTask() const
8181

8282
if (HttpGPT::Internal::HasEmptyParam(Messages))
8383
{
84-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Can't activate task: Invalid Messages."), *FString(__func__), GetUniqueID());
84+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Can't activate task: Invalid Messages."), *FString(__FUNCTION__), GetUniqueID());
8585
return false;
8686
}
8787

@@ -116,7 +116,7 @@ FString UHttpGPTChatRequest::SetRequestContent()
116116
return FString();
117117
}
118118

119-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Mounting content"), *FString(__func__), GetUniqueID());
119+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Mounting content"), *FString(__FUNCTION__), GetUniqueID());
120120

121121
const TSharedPtr<FJsonObject> JsonRequest = MakeShared<FJsonObject>();
122122
JsonRequest->SetStringField("model", UHttpGPTHelper::ModelToName(GetChatOptions().Model).ToString().ToLower());
@@ -157,7 +157,7 @@ FString UHttpGPTChatRequest::SetRequestContent()
157157

158158
if (UHttpGPTHelper::ModelSupportsChat(GetChatOptions().Model))
159159
{
160-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Selected model supports Chat API. Mounting section history."), *FString(__func__),
160+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Selected model supports Chat API. Mounting section history."), *FString(__FUNCTION__),
161161
GetUniqueID());
162162

163163
TArray<TSharedPtr<FJsonValue>> MessagesJson;
@@ -182,7 +182,7 @@ FString UHttpGPTChatRequest::SetRequestContent()
182182
else
183183
{
184184
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Selected model does not supports Chat API. Using last message as prompt content."),
185-
*FString(__func__), GetUniqueID());
185+
*FString(__FUNCTION__), GetUniqueID());
186186
JsonRequest->SetStringField("prompt", Messages.Top().Content);
187187
}
188188

@@ -206,8 +206,8 @@ void UHttpGPTChatRequest::OnProgressUpdated(const FString& Content, int32 BytesS
206206

207207
TArray<FString> Deltas = GetDeltasFromContent(Content);
208208

209-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Progress Updated"), *FString(__func__), GetUniqueID());
210-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Content: %s; Bytes Sent: %d; Bytes Received: %d"), *FString(__func__), GetUniqueID(),
209+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Progress Updated"), *FString(__FUNCTION__), GetUniqueID());
210+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Content: %s; Bytes Sent: %d; Bytes Received: %d"), *FString(__FUNCTION__), GetUniqueID(),
211211
*Deltas.Top(), BytesSent, BytesReceived);
212212

213213
DeserializeStreamedResponse(Deltas);
@@ -245,7 +245,7 @@ void UHttpGPTChatRequest::OnProgressCompleted(const FString& Content, const bool
245245

246246
if (!bWasSuccessful || HttpGPT::Internal::HasEmptyParam(Content))
247247
{
248-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Request failed"), *FString(__func__), GetUniqueID());
248+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Request failed"), *FString(__FUNCTION__), GetUniqueID());
249249
AsyncTask(ENamedThreads::GameThread, [this]
250250
{
251251
RequestFailed.Broadcast();
@@ -254,8 +254,8 @@ void UHttpGPTChatRequest::OnProgressCompleted(const FString& Content, const bool
254254
return;
255255
}
256256

257-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Process Completed"), *FString(__func__), GetUniqueID());
258-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Content: %s"), *FString(__func__), GetUniqueID(), *Content);
257+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Process Completed"), *FString(__FUNCTION__), GetUniqueID());
258+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Content: %s"), *FString(__FUNCTION__), GetUniqueID(), *Content);
259259

260260
if (!GetChatOptions().bStream)
261261
{
@@ -283,7 +283,7 @@ void UHttpGPTChatRequest::OnProgressCompleted(const FString& Content, const bool
283283
}
284284
else
285285
{
286-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Request failed"), *FString(__func__), GetUniqueID());
286+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Request failed"), *FString(__FUNCTION__), GetUniqueID());
287287
AsyncTask(ENamedThreads::GameThread, [this]
288288
{
289289
FScopeLock Lock(&Mutex);
@@ -342,16 +342,16 @@ void UHttpGPTChatRequest::DeserializeSingleResponse(const FString& Content)
342342

343343
Response.bSuccess = true;
344344

345-
Response.ID = *JsonResponse->GetStringField("id");
346-
Response.Object = *JsonResponse->GetStringField("object");
347-
Response.Created = JsonResponse->GetNumberField("created");
345+
Response.ID = *JsonResponse->GetStringField(TEXT("id"));
346+
Response.Object = *JsonResponse->GetStringField(TEXT("object"));
347+
Response.Created = JsonResponse->GetNumberField(TEXT("created"));
348348

349-
const TArray<TSharedPtr<FJsonValue>> ChoicesArr = JsonResponse->GetArrayField("choices");
349+
const TArray<TSharedPtr<FJsonValue>> ChoicesArr = JsonResponse->GetArrayField(TEXT("choices"));
350350

351351
for (auto Iterator = ChoicesArr.CreateConstIterator(); Iterator; ++Iterator)
352352
{
353353
const TSharedPtr<FJsonObject> ChoiceObj = (*Iterator)->AsObject();
354-
const int32 ChoiceIndex = ChoiceObj->GetIntegerField("index");
354+
const int32 ChoiceIndex = ChoiceObj->GetIntegerField(TEXT("index"));
355355

356356
FHttpGPTChatChoice* Choice = Response.Choices.FindByPredicate([this, ChoiceIndex](const FHttpGPTChatChoice& Element)
357357
{
@@ -365,54 +365,54 @@ void UHttpGPTChatRequest::DeserializeSingleResponse(const FString& Content)
365365
Choice = &Response.Choices.Add_GetRef(NewChoice);
366366
}
367367

368-
if (const TSharedPtr<FJsonObject>* MessageObj; ChoiceObj->TryGetObjectField("message", MessageObj))
368+
if (const TSharedPtr<FJsonObject>* MessageObj; ChoiceObj->TryGetObjectField(TEXT("message"), MessageObj))
369369
{
370-
if (FString RoleStr; (*MessageObj)->TryGetStringField("role", RoleStr))
370+
if (FString RoleStr; (*MessageObj)->TryGetStringField(TEXT("role"), RoleStr))
371371
{
372372
Choice->Message.Role = RoleStr == "user" ? EHttpGPTChatRole::User : EHttpGPTChatRole::Assistant;
373373
}
374374

375-
if (FString ContentStr; (*MessageObj)->TryGetStringField("content", ContentStr))
375+
if (FString ContentStr; (*MessageObj)->TryGetStringField(TEXT("content"), ContentStr))
376376
{
377377
Choice->Message.Content = ContentStr;
378378
}
379379

380-
if (const TSharedPtr<FJsonObject>* FunctionObj; (*MessageObj)->TryGetObjectField("function_call", FunctionObj))
380+
if (const TSharedPtr<FJsonObject>* FunctionObj; (*MessageObj)->TryGetObjectField(TEXT("function_call"), FunctionObj))
381381
{
382-
if (FString FunctionNameStr; (*FunctionObj)->TryGetStringField("name", FunctionNameStr))
382+
if (FString FunctionNameStr; (*FunctionObj)->TryGetStringField(TEXT("name"), FunctionNameStr))
383383
{
384384
Choice->Message.FunctionCall.Name = *FunctionNameStr;
385385
}
386-
if (FString FunctionArgumentsStr; (*FunctionObj)->TryGetStringField("arguments", FunctionArgumentsStr))
386+
if (FString FunctionArgumentsStr; (*FunctionObj)->TryGetStringField(TEXT("arguments"), FunctionArgumentsStr))
387387
{
388388
Choice->Message.FunctionCall.Arguments = FunctionArgumentsStr;
389389
}
390390
}
391391
}
392-
else if (const TSharedPtr<FJsonObject>* DeltaObj; ChoiceObj->TryGetObjectField("delta", DeltaObj))
392+
else if (const TSharedPtr<FJsonObject>* DeltaObj; ChoiceObj->TryGetObjectField(TEXT("delta"), DeltaObj))
393393
{
394-
if (FString RoleStr; (*DeltaObj)->TryGetStringField("role", RoleStr))
394+
if (FString RoleStr; (*DeltaObj)->TryGetStringField(TEXT("role"), RoleStr))
395395
{
396396
Choice->Message.Role = UHttpGPTHelper::NameToRole(*RoleStr);
397397
}
398-
else if (FString ContentStr; (*DeltaObj)->TryGetStringField("content", ContentStr))
398+
else if (FString ContentStr; (*DeltaObj)->TryGetStringField(TEXT("content"), ContentStr))
399399
{
400400
Choice->Message.Content += ContentStr;
401401
}
402402

403-
if (const TSharedPtr<FJsonObject>* FunctionObj; (*DeltaObj)->TryGetObjectField("function_call", FunctionObj))
403+
if (const TSharedPtr<FJsonObject>* FunctionObj; (*DeltaObj)->TryGetObjectField(TEXT("function_call"), FunctionObj))
404404
{
405-
if (FString FunctionNameStr; (*FunctionObj)->TryGetStringField("name", FunctionNameStr))
405+
if (FString FunctionNameStr; (*FunctionObj)->TryGetStringField(TEXT("name"), FunctionNameStr))
406406
{
407407
Choice->Message.FunctionCall.Name = *FunctionNameStr;
408408
}
409-
if (FString FunctionArgumentsStr; (*FunctionObj)->TryGetStringField("arguments", FunctionArgumentsStr))
409+
if (FString FunctionArgumentsStr; (*FunctionObj)->TryGetStringField(TEXT("arguments"), FunctionArgumentsStr))
410410
{
411411
Choice->Message.FunctionCall.Arguments += FunctionArgumentsStr;
412412
}
413413
}
414414
}
415-
else if (FString MessageText; ChoiceObj->TryGetStringField("text", MessageText))
415+
else if (FString MessageText; ChoiceObj->TryGetStringField(TEXT("text"), MessageText))
416416
{
417417
Choice->Message.Role = EHttpGPTChatRole::Assistant;
418418
Choice->Message.Content += MessageText;
@@ -423,16 +423,16 @@ void UHttpGPTChatRequest::DeserializeSingleResponse(const FString& Content)
423423
Choice->Message.Content.RemoveAt(0);
424424
}
425425

426-
if (FString FinishReasonStr; ChoiceObj->TryGetStringField("finish_reason", FinishReasonStr))
426+
if (FString FinishReasonStr; ChoiceObj->TryGetStringField(TEXT("finish_reason"), FinishReasonStr))
427427
{
428428
Choice->FinishReason = *FinishReasonStr;
429429
}
430430
}
431431

432-
if (const TSharedPtr<FJsonObject>* UsageObj; JsonResponse->TryGetObjectField("usage", UsageObj))
432+
if (const TSharedPtr<FJsonObject>* UsageObj; JsonResponse->TryGetObjectField(TEXT("usage"), UsageObj))
433433
{
434-
Response.Usage = FHttpGPTChatUsage((*UsageObj)->GetNumberField("prompt_tokens"), (*UsageObj)->GetNumberField("completion_tokens"),
435-
(*UsageObj)->GetNumberField("total_tokens"));
434+
Response.Usage = FHttpGPTChatUsage((*UsageObj)->GetNumberField(TEXT("prompt_tokens")), (*UsageObj)->GetNumberField(TEXT("completion_tokens")),
435+
(*UsageObj)->GetNumberField(TEXT("total_tokens")));
436436
}
437437
}
438438

Source/HttpGPTCommonModule/Private/Tasks/HttpGPTBaseTask.cpp

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ void UHttpGPTBaseTask::Activate()
2929
{
3030
Super::Activate();
3131

32-
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Activating task"), *FString(__func__), GetUniqueID());
32+
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Activating task"), *FString(__FUNCTION__), GetUniqueID());
3333

3434
bIsTaskActive = true;
3535
if (!CommonOptions.Endpoint.EndsWith(TEXT("/")))
@@ -39,7 +39,7 @@ void UHttpGPTBaseTask::Activate()
3939

4040
if (!CanActivateTask())
4141
{
42-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Failed to activate task."), *FString(__func__), GetUniqueID());
42+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Failed to activate task."), *FString(__FUNCTION__), GetUniqueID());
4343
RequestFailed.Broadcast();
4444
SetReadyToDestroy();
4545
return;
@@ -71,7 +71,7 @@ void UHttpGPTBaseTask::StopHttpGPTTask()
7171
return;
7272
}
7373

74-
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Stopping task"), *FString(__func__), GetUniqueID());
74+
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Stopping task"), *FString(__FUNCTION__), GetUniqueID());
7575

7676
bIsTaskActive = false;
7777

@@ -93,7 +93,7 @@ void UHttpGPTBaseTask::SetReadyToDestroy()
9393
return;
9494
}
9595

96-
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Setting task as Ready to Destroy"), *FString(__func__), GetUniqueID());
96+
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Setting task as Ready to Destroy"), *FString(__FUNCTION__), GetUniqueID());
9797

9898
#if WITH_EDITOR
9999
if (bIsEditorTask)
@@ -132,7 +132,7 @@ void UHttpGPTBaseTask::PrePIEEnded(bool bIsSimulating)
132132
return;
133133
}
134134

135-
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Trying to finish task due to PIE end"), *FString(__func__), GetUniqueID());
135+
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Trying to finish task due to PIE end"), *FString(__FUNCTION__), GetUniqueID());
136136

137137
bEndingPIE = true;
138138
StopHttpGPTTask();
@@ -143,7 +143,7 @@ bool UHttpGPTBaseTask::CanActivateTask() const
143143
{
144144
if (HttpGPT::Internal::HasEmptyParam(GetCommonOptions().APIKey))
145145
{
146-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Can't activate task: Invalid API Key."), *FString(__func__), GetUniqueID());
146+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Can't activate task: Invalid API Key."), *FString(__FUNCTION__), GetUniqueID());
147147
return false;
148148
}
149149

@@ -164,7 +164,7 @@ void UHttpGPTBaseTask::InitializeRequest()
164164
{
165165
FScopeLock Lock(&Mutex);
166166

167-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Initializing request object"), *FString(__func__), GetUniqueID());
167+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Initializing request object"), *FString(__FUNCTION__), GetUniqueID());
168168

169169
HttpRequest = FHttpModule::Get().CreateRequest();
170170
HttpRequest->SetURL(GetEndpointURL());
@@ -182,11 +182,15 @@ void UHttpGPTBaseTask::BindRequestCallbacks()
182182
return;
183183
}
184184

185-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Binding callbacks"), *FString(__func__), GetUniqueID());
185+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Binding callbacks"), *FString(__FUNCTION__), GetUniqueID());
186186

187187
if (CanBindProgress())
188188
{
189+
#if ENGINE_MAJOR_VERSION > 5 || (ENGINE_MAJOR_VERSION == 5 && ENGINE_MINOR_VERSION >= 4)
190+
HttpRequest->OnRequestProgress64().BindLambda([this](const FHttpRequestPtr& Request, int32 BytesSent, int32 BytesReceived)
191+
#else
189192
HttpRequest->OnRequestProgress().BindLambda([this](const FHttpRequestPtr& Request, int32 BytesSent, int32 BytesReceived)
193+
#endif
190194
{
191195
const FScopeTryLock Lock(&Mutex);
192196

@@ -226,7 +230,7 @@ void UHttpGPTBaseTask::SendRequest()
226230

227231
if (!HttpRequest.IsValid())
228232
{
229-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Failed to send request: Request object is invalid"), *FString(__func__), GetUniqueID());
233+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Failed to send request: Request object is invalid"), *FString(__FUNCTION__), GetUniqueID());
230234

231235
AsyncTask(ENamedThreads::GameThread, [this]
232236
{
@@ -237,12 +241,12 @@ void UHttpGPTBaseTask::SendRequest()
237241
return;
238242
}
239243

240-
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Sending request"), *FString(__func__), GetUniqueID());
244+
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Sending request"), *FString(__FUNCTION__), GetUniqueID());
241245

242246
if (HttpRequest->ProcessRequest())
243247
{
244-
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Request sent"), *FString(__func__), GetUniqueID());
245-
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Request content body:\n%s"), *FString(__func__), GetUniqueID(), *ContentString);
248+
UE_LOG(LogHttpGPT, Display, TEXT("%s (%d): Request sent"), *FString(__FUNCTION__), GetUniqueID());
249+
UE_LOG(LogHttpGPT_Internal, Display, TEXT("%s (%d): Request content body:\n%s"), *FString(__FUNCTION__), GetUniqueID(), *ContentString);
246250

247251
AsyncTask(ENamedThreads::GameThread, [this]
248252
{
@@ -251,7 +255,7 @@ void UHttpGPTBaseTask::SendRequest()
251255
}
252256
else
253257
{
254-
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Failed to initialize the request process"), *FString(__func__), GetUniqueID());
258+
UE_LOG(LogHttpGPT, Error, TEXT("%s (%d): Failed to initialize the request process"), *FString(__FUNCTION__), GetUniqueID());
255259
AsyncTask(ENamedThreads::GameThread, [this]
256260
{
257261
RequestFailed.Broadcast();
@@ -262,18 +266,18 @@ void UHttpGPTBaseTask::SendRequest()
262266

263267
const bool UHttpGPTBaseTask::CheckError(const TSharedPtr<FJsonObject>& JsonObject, FHttpGPTCommonError& OutputError) const
264268
{
265-
if (JsonObject->HasField("error"))
269+
if (JsonObject->HasField(TEXT("error")))
266270
{
267-
const TSharedPtr<FJsonObject> ErrorObj = JsonObject->GetObjectField("error");
268-
if (FString ErrorMessage; ErrorObj->TryGetStringField("message", ErrorMessage))
271+
const TSharedPtr<FJsonObject> ErrorObj = JsonObject->GetObjectField(TEXT("error"));
272+
if (FString ErrorMessage; ErrorObj->TryGetStringField(TEXT("message"), ErrorMessage))
269273
{
270274
OutputError.Message = *ErrorMessage;
271275
}
272-
if (FString ErrorCode; ErrorObj->TryGetStringField("code", ErrorCode))
276+
if (FString ErrorCode; ErrorObj->TryGetStringField(TEXT("code"), ErrorCode))
273277
{
274278
OutputError.Code = *ErrorCode;
275279
}
276-
if (FString ErrorType; ErrorObj->TryGetStringField("type", ErrorType))
280+
if (FString ErrorType; ErrorObj->TryGetStringField(TEXT("type"), ErrorType))
277281
{
278282
OutputError.Type = *ErrorType;
279283
}

Source/HttpGPTEditorModule/Private/Chat/SHttpGPTChatView.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void SHttpGPTChatView::Construct(const FArguments& InArgs)
2121
{
2222
SetSessionID(InArgs._SessionID);
2323

24-
ModelsComboBox = SNew(STextComboBox).OptionsSource(&AvailableModels).ToolTipText(FText::FromString(TEXT("GPT Model")));
24+
SAssignNew(ModelsComboBox, STextComboBox).OptionsSource(&AvailableModels).ToolTipText(FText::FromString(TEXT("GPT Model")));
2525

2626
for (const FName& ModelName : UHttpGPTHelper::GetAvailableGPTModels())
2727
{
@@ -230,7 +230,7 @@ FString SHttpGPTChatView::GetDefaultSystemContext() const
230230
}
231231

232232
FString SupportedModels;
233-
for (const FTextDisplayStringPtr& Model : AvailableModels)
233+
for (const TSharedPtr<FString>& Model : AvailableModels)
234234
{
235235
SupportedModels.Append(*Model.Get() + ", ");
236236
}
@@ -298,16 +298,16 @@ void SHttpGPTChatView::LoadChatHistory()
298298
const TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(FileContent);
299299
if (FJsonSerializer::Deserialize(Reader, JsonParsed))
300300
{
301-
const TArray<TSharedPtr<FJsonValue>> SessionData = JsonParsed->GetArrayField("Data");
301+
const TArray<TSharedPtr<FJsonValue>> SessionData = JsonParsed->GetArrayField(TEXT("Data"));
302302
for (const TSharedPtr<FJsonValue>& Item : SessionData)
303303
{
304304
if (const TSharedPtr<FJsonObject> MessageItObj = Item->AsObject())
305305
{
306-
if (FString RoleString; MessageItObj->TryGetStringField("role", RoleString))
306+
if (FString RoleString; MessageItObj->TryGetStringField(TEXT("role"), RoleString))
307307
{
308308
const EHttpGPTChatRole Role = UHttpGPTHelper::NameToRole(*RoleString);
309309

310-
if (FString Message; MessageItObj->TryGetStringField("content", Message))
310+
if (FString Message; MessageItObj->TryGetStringField(TEXT("content"), Message))
311311
{
312312
if (Role == EHttpGPTChatRole::System && Message == GetDefaultSystemContext())
313313
{

Source/HttpGPTEditorModule/Private/Chat/SHttpGPTChatView.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class SHttpGPTChatView final : public SCompoundWidget
5353
TSharedPtr<class SEditableTextBox> InputTextBox;
5454

5555
TSharedPtr<class STextComboBox> ModelsComboBox;
56-
TArray<FTextDisplayStringPtr> AvailableModels;
56+
TArray<TSharedPtr<FString>> AvailableModels;
5757

5858
TWeakObjectPtr<class UHttpGPTChatRequest> RequestReference;
5959
};

Source/HttpGPTEditorModule/Private/ImageGen/SHttpGPTImageGenView.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,8 @@ class SHttpGPTImageGenView final : public SCompoundWidget
3636
TSharedPtr<class SEditableTextBox> InputTextBox;
3737

3838
TSharedPtr<class STextComboBox> ImageNumComboBox;
39-
TArray<FTextDisplayStringPtr> ImageNum;
39+
TArray<TSharedPtr<FString>> ImageNum;
4040

4141
TSharedPtr<class STextComboBox> ImageSizeComboBox;
42-
TArray<FTextDisplayStringPtr> ImageSize;
42+
TArray<TSharedPtr<FString>> ImageSize;
4343
};

0 commit comments

Comments
 (0)