🎉 ai-infra v1.0 is here — Production-ready AI/LLM infrastructure
What's new
nfrax logonfrax

Infrastructure that just works. Ship products, not boilerplate.

Frameworks

  • svc-infra
  • ai-infra
  • fin-infra
  • robo-infra

Resources

  • Getting Started
  • What's New
  • Contributing

Community

  • GitHub

© 2026 nfrax. All rights reserved.

nfrax logonfrax
Start HereWhat's New
GitHub
ai-infra / API Reference

Persona

from ai_infra.llm.personas import Persona
View source
ai_infra.llm.personas

Agent persona configuration. Defines agent behavior, allowed tools, and safety constraints in a declarative format.

Attributes

name: Persona identifier for logging/debugging prompt: System prompt defining agent behavior tools: List of allowed tool names (whitelist) deny: List of blocked tool names (blacklist) approve: List of tools requiring HITL approval provider: Override default LLM provider model_name: Override default model temperature: Override temperature setting max_tokens: Override max tokens setting metadata: Additional arbitrary metadata Example YAML: ```yaml name: analyst prompt: | You are a senior data analyst. Always verify data accuracy before making claims. tools: - query_database - create_chart deny: - delete_record - drop_table approve: - send_email - publish_report temperature: 0.3 max_tokens: 4000 ```

Constructor
Persona(name: str, prompt: str = '', tools: list[str] | None = None, deny: list[str] | None = None, approve: list[str] | None = None, provider: str | None = None, model_name: str | None = None, temperature: float | None = None, max_tokens: int | None = None, metadata: dict[str, Any] = dict()) -> None
ParameterTypeDefaultDescription
namerequiredstr——
promptstr''—
toolslist[str] |NoneNone—
denylist[str] |NoneNone—
approvelist[str] |NoneNone—
providerstr|NoneNone—
model_namestr|NoneNone—
temperaturefloat|NoneNone—
max_tokensint|NoneNone—
metadatadict[str, Any]dict()—

Methods

On This Page

Constructorfrom_dictclassmethodfrom_yamlclassmethodsave_yamlto_dict