Unreal OpenAI API 1.0.0
Loading...
Searching...
No Matches
CompletionAction.h
1// OpenAI, Copyright LifeEXE. All Rights Reserved.
2
3#pragma once
4
5#include "BlueprintAsyncActions/OpenAIActionBase.h"
6#include "Provider/Types/Legacy/CompletionTypes.h"
7#include "Provider/Types/OpenAICommonTypes.h"
8#include "CompletionAction.generated.h"
9
10USTRUCT(BlueprintType)
12{
13 GENERATED_BODY()
14
15
16 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
18
20 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
22
24 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
26
27 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
28 bool bStream{};
29
30 UPROPERTY(BlueprintReadOnly, Category = "OpenAI")
31 bool bCompleted{};
32};
33
34DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(
35 FOnCompletion, const FCompletionPayload&, Payload, const FOpenAIResponseMetadata&, ResponseMetadata, const FOpenAIError&, RawError);
36
37UCLASS()
38class OPENAI_API UCompletionAction : public UOpenAIActionBase
39{
40 GENERATED_BODY()
41
42public:
43 UPROPERTY(BlueprintAssignable)
44 FOnCompletion OnUpdate;
45
46 virtual void Activate() override;
47
48private:
53 UFUNCTION(BlueprintCallable, meta = (BlueprintInternalUseOnly = "true"), Category = "OpenAI | Completion")
54 static UCompletionAction* CreateCompletion(const FCompletion& CompletionRequest, const FOpenAIAuth& Auth, const FString& URLOverride);
55
56 void OnCreateCompletionCompleted(const FCompletionResponse& Response, const FOpenAIResponseMetadata& ResponseMetadata);
57 void OnCreateCompletionStreamProgresses(
58 const TArray<FCompletionStreamResponse>& Responses, const FOpenAIResponseMetadata& ResponseMetadata);
59 void OnCreateCompletionStreamCompleted(
60 const TArray<FCompletionStreamResponse>& Responses, const FOpenAIResponseMetadata& ResponseMetadata);
61 virtual void OnRequestError(const FString& URL, const FString& Content) override;
62 virtual void SetEndpoint(OpenAI::V1::FOpenAIEndpoints& Endpoints, const FString& URL) const override;
63
64private:
65 FCompletion Completion;
66};
Definition CompletionAction.h:39
static UCompletionAction * CreateCompletion(const FCompletion &CompletionRequest, const FOpenAIAuth &Auth, const FString &URLOverride)
Definition CompletionAction.cpp:20
Definition OpenAIActionBase.h:12
Definition CompletionTypes.h:16
Definition CompletionAction.h:12
TArray< FCompletionStreamResponse > StreamResponse
Definition CompletionAction.h:21
FString StreamResponseString
Definition CompletionAction.h:25
FCompletionResponse Response
Definition CompletionAction.h:17
Definition CompletionTypes.h:252
Definition CompletionTypes.h:264
Definition OpenAICommonTypes.h:11
Definition OpenAICommonTypes.h:28
Definition OpenAICommonTypes.h:49
Definition API.h:127