Files
FunnyGirl/Source/FunnyGirl/Public/LLM/BrainPromptDataAsset.h
T
2026-05-19 13:42:41 +07:00

42 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Engine/DataAsset.h"
#include "Templates/SubclassOf.h"
#include "BrainPromptDataAsset.generated.h"
class UBrainToolBase;
UCLASS(BlueprintType)
class FUNNYGIRL_API UBrainPromptDataAsset : public UPrimaryDataAsset
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Brain", meta = (DisplayPriority = "0"))
FString ID;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Prompting", meta = (DisplayPriority = "20"))
FText Name;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Prompting", meta = (MultiLine = "true", DisplayPriority = "10"))
FText SystemPrompt;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Prompting|Tools", meta = (MultiLine = "true", DisplayPriority = "10"))
FText ToolsPromptHeader;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Prompting|Tools", meta = (MultiLine = "true", DisplayPriority = "30"))
FText ToolsPromptFooter;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Prompting|Tools", meta = (DisplayPriority = "20"))
TArray<TSubclassOf<UBrainToolBase>> AllowedTools;
UFUNCTION(BlueprintPure, Category = "Brain")
virtual FString BuildBrainPrompt() const;
UFUNCTION(BlueprintPure, Category = "Tools")
FString BuildToolsPrompt() const;
};