nemoguardrails.library.clavata.request

View as Markdown

Module for handling Clavata requests.

Module Contents

Classes

NameDescription
AuthHeaderRepresents the authorization header structure for Clavata API requests.
ClavataClientA client for the Clavata API.
ContentDataRepresents the content data structure for Clavata API requests.
CreateJobResponseResponse from the Clavata Create Job API
JobA job in Clavata
JobRequestRepresents the job request structure for Clavata API requests.
ReportA report for a job result
ResultA JobResult. One will be created for each content item submitted.
SectionReportA section report for a job result

Data

JobStatus

Outcome

ResponseModelT

_CLAVATA_API_KEY

log

API

class nemoguardrails.library.clavata.request.AuthHeader(
api_key: typing.Optional[str] = None
)
Dataclass

Represents the authorization header structure for Clavata API requests.

api_key
Optional[str] = None
nemoguardrails.library.clavata.request.AuthHeader.to_headers() -> typing.Dict[str, str]

Converts the auth token into a dictionary that can be used with aiohttp to supply headers for the request.

class nemoguardrails.library.clavata.request.ClavataClient(
base_endpoint: str,
api_key: typing.Optional[str] = None
)

A client for the Clavata API.

api_key
Optional[str] = api_key or os.environ.get('CLAVATA_API_KEY')
nemoguardrails.library.clavata.request.ClavataClient._get_full_endpoint(
endpoint: str
) -> str
nemoguardrails.library.clavata.request.ClavataClient._get_headers() -> typing.Dict[str, str]
nemoguardrails.library.clavata.request.ClavataClient._make_request(
endpoint: str,
payload: pydantic.BaseModel,
response_model: typing.Type[nemoguardrails.library.clavata.request.ResponseModelT]
) -> nemoguardrails.library.clavata.request.ResponseModelT
async
nemoguardrails.library.clavata.request.ClavataClient.create_job(
text: str,
policy_id: str
) -> nemoguardrails.library.clavata.request.Job
async

Create a job in Clavata.

Parameters:

text
str

The text to send to the Clavata API.

policy_id
str

The policy ID to use for the request.

Returns: Job

The job that was created.

class nemoguardrails.library.clavata.request.ContentData()

Bases: BaseModel

Represents the content data structure for Clavata API requests.

text
str
class nemoguardrails.library.clavata.request.CreateJobResponse()

Bases: BaseModel

Response from the Clavata Create Job API

job
Job = Field(description='The job that was created')
class nemoguardrails.library.clavata.request.Job()

Bases: BaseModel

A job in Clavata

results
List[Result] = Field(description='The results of the job')
status
JobStatus = Field(description='The status of the job')
class nemoguardrails.library.clavata.request.JobRequest()

Bases: BaseModel

Represents the job request structure for Clavata API requests.

content_data
List[ContentData]
policy_id
str
wait_for_completion
bool = Field(default=True)
class nemoguardrails.library.clavata.request.Report()

Bases: BaseModel

A report for a job result

result
Outcome = Field(description='The result of the report')
sectionEvaluationReports
List[SectionReport]
class nemoguardrails.library.clavata.request.Result()

Bases: BaseModel

A JobResult. One will be created for each content item submitted.

report
Report = Field(description='The report for the job result')
class nemoguardrails.library.clavata.request.SectionReport()

Bases: BaseModel

A section report for a job result

message
str
name
str = Field(description='The name of the section')
result
Outcome = Field(description='The result of the section')
nemoguardrails.library.clavata.request.JobStatus = Literal['JOB_STATUS_UNSPECIFIED', 'JOB_STATUS_PENDING', 'JOB_STATUS_RUNNING', 'J...
nemoguardrails.library.clavata.request.Outcome = Literal['OUTCOME_UNSPECIFIED', 'OUTCOME_TRUE', 'OUTCOME_FALSE', 'OUTCOME_FAILED'...
nemoguardrails.library.clavata.request.ResponseModelT = TypeVar('ResponseModelT', bound=BaseModel)
nemoguardrails.library.clavata.request._CLAVATA_API_KEY = os.environ.get('CLAVATA_API_KEY')
nemoguardrails.library.clavata.request.log = logging.getLogger(__name__)