Table of Contents

Class AgentBase

Namespace
FoundationaLLM.Common.Models.ResourceProviders.Agent
Assembly
FoundationaLLM.Common.dll

Base agent metadata model.

[JsonPolymorphic(TypeDiscriminatorPropertyName = "type")]
[JsonDerivedType(typeof(KnowledgeManagementAgent), "knowledge-management")]
public class AgentBase : ResourceBase
Inheritance
AgentBase
Derived
Inherited Members
Extension Methods

Properties

AgentType

The object type of the agent.

[JsonIgnore]
public Type AgentType { get; }

Property Value

Type

CacheSettings

Gets or sets the agent's caching settings.

[JsonPropertyName("cache_settings")]
public AgentCacheSettings? CacheSettings { get; set; }

Property Value

AgentCacheSettings

ConversationHistorySettings

The agent's conversation history configuration.

[JsonPropertyName("conversation_history_settings")]
public AgentConversationHistorySettings? ConversationHistorySettings { get; set; }

Property Value

AgentConversationHistorySettings

GatekeeperSettings

The agent's Gatekeeper configuration.

[JsonPropertyName("gatekeeper_settings")]
public AgentGatekeeperSettings? GatekeeperSettings { get; set; }

Property Value

AgentGatekeeperSettings

SessionsEnabled

Indicates whether sessions are enabled for the agent.

[JsonPropertyName("sessions_enabled")]
public bool SessionsEnabled { get; set; }

Property Value

bool

ShowFileUpload

Indicates whether to show the file upload option on agent message input.

[JsonPropertyName("show_file_upload")]
public bool? ShowFileUpload { get; set; }

Property Value

bool?

ShowMessageRating

Indicates whether to show rating options on the messages.

[JsonPropertyName("show_message_rating")]
public bool? ShowMessageRating { get; set; }

Property Value

bool?

ShowMessageTokens

Indicates whether to show a token count on the messages.

[JsonPropertyName("show_message_tokens")]
public bool? ShowMessageTokens { get; set; }

Property Value

bool?

ShowViewPrompt

Indicates whether to show a view prompt option on agent messages.

[JsonPropertyName("show_view_prompt")]
public bool? ShowViewPrompt { get; set; }

Property Value

bool?

TextRewriteSettings

Gets or sets the agent's text rewrite settings.

[JsonPropertyName("text_rewrite_settings")]
public AgentTextRewriteSettings? TextRewriteSettings { get; set; }

Property Value

AgentTextRewriteSettings

Tools

Gets or sets a list of tools that are registered with the agent.

[JsonPropertyName("tools")]
public AgentTool[] Tools { get; set; }

Property Value

AgentTool[]

Remarks

The key is the name of the tool, and the value is the AgentTool object.

Type

The type of the resource.

[JsonIgnore]
public override string? Type { get; set; }

Property Value

string

VirtualSecurityGroupId

Gets or sets the object identifier of the virtual security group associated with the agent.

[JsonPropertyName("virtual_security_group_id")]
public string? VirtualSecurityGroupId { get; set; }

Property Value

string

Remarks

The virtual security group is used to provide access to the agent for the virtual security principals. An example of such a virtual security principal is the virtual identity associated with an agent access token.

Workflow

The agent's workflow configuration.

[JsonPropertyName("workflow")]
public AgentWorkflowBase? Workflow { get; set; }

Property Value

AgentWorkflowBase

Methods

HasAzureAIAgentServiceWorkflow()

Checks whether the agent uses an Azure AI Agent Service workflow.

public bool HasAzureAIAgentServiceWorkflow()

Returns

bool

HasAzureOpenAIAssistantsWorkflow()

Checks whether the agent uses an Azure OpenAI Assistants workflow.

public bool HasAzureOpenAIAssistantsWorkflow()

Returns

bool

True if the agent uses an Azure OpenAI Assistants workflow, False otherwise.