@azure-rest/ai-document-intelligence
Version:
Document Intelligence Rest Client
254 lines • 9.84 kB
TypeScript
/** Azure Blob Storage content. */
export interface AzureBlobContentSource {
/** Azure Blob Storage container URL. */
containerUrl: string;
/** Blob name prefix. */
prefix?: string;
}
/** File list in Azure Blob Storage. */
export interface AzureBlobFileListContentSource {
/** Azure Blob Storage container URL. */
containerUrl: string;
/** Path to a JSONL file within the container specifying a subset of documents. */
fileList: string;
}
/** Document type info. */
export interface DocumentTypeDetails {
/** Document model description. */
description?: string;
/**
* Custom document model build mode.
*
* Possible values: "template", "neural"
*/
buildMode?: DocumentBuildMode;
/** Description of the document semantic schema using a JSON Schema style syntax. */
fieldSchema?: Record<string, DocumentFieldSchema>;
/** Estimated confidence for each field. */
fieldConfidence?: Record<string, number>;
/** Document model to use for analyzing documents with specified type. */
modelId?: string;
/** Only perform analysis if docType confidence is above threshold. */
confidenceThreshold?: number;
/** List of optional analysis features. */
features?: DocumentAnalysisFeature[];
/** List of additional fields to extract. Ex. "NumberOfGuests,StoreNumber" */
queryFields?: string[];
/** Maximum number of documents of specified type to analyze. Default=all. */
maxDocumentsToAnalyze?: number;
}
/** Description of the field semantic schema using a JSON Schema style syntax. */
export interface DocumentFieldSchema {
/**
* Semantic data type of the field value.
*
* Possible values: "string", "date", "time", "phoneNumber", "number", "integer", "selectionMark", "countryRegion", "signature", "array", "object", "currency", "address", "boolean", "selectionGroup"
*/
type: DocumentFieldType;
/** Field description. */
description?: string;
/** Example field content. */
example?: string;
/** Field type schema of each array element. */
items?: DocumentFieldSchema;
/** Named sub-fields of the object field. */
properties?: Record<string, DocumentFieldSchema>;
}
/** Classifier document type info. */
export interface ClassifierDocumentTypeDetails {
/**
* Type of training data source.
*
* Possible values: "url", "base64", "azureBlob", "azureBlobFileList"
*/
sourceKind?: ContentSourceKind;
/**
* Azure Blob Storage location containing the training data for a classifier
* document type. Either azureBlobSource or azureBlobFileListSource must be
* specified.
*/
azureBlobSource?: AzureBlobContentSource;
/**
* Azure Blob Storage file list specifying the training data for a classifier
* document type. Either azureBlobSource or azureBlobFileListSource must be
* specified.
*/
azureBlobFileListSource?: AzureBlobFileListContentSource;
}
/** Document analysis parameters. */
export interface AnalyzeDocumentRequest {
/** Document URL to analyze. Either urlSource or base64Source must be specified. */
urlSource?: string;
/**
* Base64 encoding of the document to analyze. Either urlSource or base64Source
* must be specified.
*/
base64Source?: string;
}
/** Batch document analysis parameters. */
export interface AnalyzeBatchDocumentsRequest {
/**
* Azure Blob Storage location containing the batch documents. Either
* azureBlobSource or azureBlobFileListSource must be specified.
*/
azureBlobSource?: AzureBlobContentSource;
/**
* Azure Blob Storage file list specifying the batch documents. Either
* azureBlobSource or azureBlobFileListSource must be specified.
*/
azureBlobFileListSource?: AzureBlobFileListContentSource;
/** Azure Blob Storage container URL where analyze result files will be stored. */
resultContainerUrl: string;
/** Blob name prefix of result files. */
resultPrefix?: string;
/** Overwrite existing analyze result files? */
overwriteExisting?: boolean;
}
/** Request body to build a new custom document model. */
export interface BuildDocumentModelRequest {
/** Unique document model name. */
modelId: string;
/** Document model description. */
description?: string;
/**
* Custom document model build mode.
*
* Possible values: "template", "neural"
*/
buildMode: DocumentBuildMode;
/**
* Azure Blob Storage location containing the training data. Either
* azureBlobSource or azureBlobFileListSource must be specified.
*/
azureBlobSource?: AzureBlobContentSource;
/**
* Azure Blob Storage file list specifying the training data. Either
* azureBlobSource or azureBlobFileListSource must be specified.
*/
azureBlobFileListSource?: AzureBlobFileListContentSource;
/** List of key-value tag attributes associated with the document model. */
tags?: Record<string, string>;
/** Max number of V100-equivalent GPU hours to use for model training. Default=0.5. */
maxTrainingHours?: number;
/** Allow overwriting an existing model with the same name. */
allowOverwrite?: boolean;
}
/** Request body to create a composed document model from component document models. */
export interface ComposeDocumentModelRequest {
/** Unique document model name. */
modelId: string;
/** Document model description. */
description?: string;
/** Custom classifier to split and classify the input file. */
classifierId: string;
/**
* File splitting behavior.
*
* Possible values: "auto", "none", "perPage"
*/
split?: SplitMode;
/** Dictionary mapping supported docTypes to the corresponding document models. */
docTypes: Record<string, DocumentTypeDetails>;
/** List of key-value tag attributes associated with the document model. */
tags?: Record<string, string>;
}
/** Request body to authorize document model copy. */
export interface AuthorizeCopyRequest {
/** Unique document model name. */
modelId: string;
/** Document model description. */
description?: string;
/** List of key-value tag attributes associated with the document model. */
tags?: Record<string, string>;
}
/**
* Authorization to copy a document model to the specified target resource and
* modelId.
*/
export interface ModelCopyAuthorization {
/** ID of the target Azure resource where the document model should be copied to. */
targetResourceId: string;
/**
* Location of the target Azure resource where the document model should be copied
* to.
*/
targetResourceRegion: string;
/** Identifier of the target document model. */
targetModelId: string;
/** URL of the copied document model in the target account. */
targetModelLocation: string;
/** Token used to authorize the request. */
accessToken: string;
/** Date/time when the access token expires. */
expirationDateTime: Date | string;
}
/** Request body to build a new custom document classifier. */
export interface BuildDocumentClassifierRequest {
/** Unique document classifier name. */
classifierId: string;
/** Document classifier description. */
description?: string;
/** Base classifierId on top of which to train the classifier. */
baseClassifierId?: string;
/** List of document types to classify against. */
docTypes: Record<string, ClassifierDocumentTypeDetails>;
/** Allow overwriting an existing classifier with the same name. */
allowOverwrite?: boolean;
}
/** Document classification parameters. */
export interface ClassifyDocumentRequest {
/** Document URL to classify. Either urlSource or base64Source must be specified. */
urlSource?: string;
/**
* Base64 encoding of the document to classify. Either urlSource or base64Source
* must be specified.
*/
base64Source?: string;
}
/** Request body to authorize document classifier copy. */
export interface AuthorizeClassifierCopyRequest {
/** Unique document classifier name. */
classifierId: string;
/** Document classifier description. */
description?: string;
/** List of key-value tag attributes associated with the document classifier. */
tags?: Record<string, string>;
}
/**
* Authorization to copy a document classifier to the specified target resource and
* classifierId.
*/
export interface ClassifierCopyAuthorization {
/** ID of the target Azure resource where the document classifier should be copied to. */
targetResourceId: string;
/**
* Location of the target Azure resource where the document classifier should be copied
* to.
*/
targetResourceRegion: string;
/** Identifier of the target document classifier. */
targetClassifierId: string;
/** URL of the copied document classifier in the target account. */
targetClassifierLocation: string;
/** Token used to authorize the request. */
accessToken: string;
/** Date/time when the access token expires. */
expirationDateTime: Date | string;
}
/** Alias for DocumentBuildMode */
export type DocumentBuildMode = string;
/** Alias for SplitMode */
export type SplitMode = string;
/** Alias for DocumentFieldType */
export type DocumentFieldType = string;
/** Alias for DocumentAnalysisFeature */
export type DocumentAnalysisFeature = string;
/** Alias for ContentSourceKind */
export type ContentSourceKind = string;
/** Alias for StringIndexType */
export type StringIndexType = string;
/** Alias for DocumentContentFormat */
export type DocumentContentFormat = string;
/** Alias for AnalyzeOutputOption */
export type AnalyzeOutputOption = string;
//# sourceMappingURL=models.d.ts.map