@azure-rest/ai-document-intelligence
Advanced tools
Comparing version 1.0.0-alpha.20231120.1 to 1.0.0-alpha.20231213.1
@@ -5,3 +5,3 @@ { | ||
"author": "Microsoft Corporation", | ||
"version": "1.0.0-alpha.20231120.1", | ||
"version": "1.0.0-alpha.20231213.1", | ||
"description": "Azure Document Intelligence Rest Client", | ||
@@ -93,3 +93,2 @@ "keywords": [ | ||
"@types/mocha": "^10.0.0", | ||
"mocha-junit-reporter": "^1.18.0", | ||
"cross-env": "^7.0.2", | ||
@@ -96,0 +95,0 @@ "@types/chai": "^4.2.8", |
131
README.md
@@ -7,2 +7,4 @@ # Azure DocumentIntelligence (formerly FormRecognizer) REST client library for JavaScript | ||
> NOTE: Form Recognizer has been rebranded to Document Intelligence. Please check the [Migration Guide from `@azure/ai-form-recognizer` to `@azure-rest/ai-document-intelligence`](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/documentintelligence/ai-document-intelligence-rest/MIGRATION-FR_v4-DI_v1.md). | ||
Key links: | ||
@@ -13,3 +15,23 @@ | ||
- [Samples](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/documentintelligence/ai-document-intelligence-rest/samples) | ||
- [Changelog](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/documentintelligence/ai-document-intelligence-rest/CHANGELOG.md) | ||
- [Migration Guide from Form Recognizer](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/documentintelligence/ai-document-intelligence-rest/MIGRATION-FR_v4-DI_v1.md) | ||
> This version of the client library defaults to the `"2023-10-31-preview"` version of the service. | ||
This table shows the relationship between SDK versions and supported API versions of the service: | ||
| SDK version | Supported API version of service | | ||
| ------------ | -------------------------------- | | ||
| 1.0.0-beta.1 | 2023-10-31-preview | | ||
> Please rely on the older `@azure/ai-form-recognizer` library through the older service API versions for retired models, such as `"prebuilt-businessCard"` and `"prebuilt-document"`. For more information, see [Changelog](https://github.com/Azure/azure-sdk-for-js/tree/main/sdk/documentintelligence/ai-document-intelligence-rest/CHANGELOG.md). | ||
The below table describes the relationship of each client and its supported API version(s): | ||
| Service API version | Supported clients | Package | | ||
| ------------------- | ------------------------------------------------------------ | ------------------------------------------------------------- | | ||
| 2023-10-31-preview | DocumentIntelligenceClient | `@azure-rest/ai-document-intelligence` version `1.0.0-beta.1` | | ||
| 2023-07-31 | DocumentAnalysisClient and DocumentModelAdministrationClient | `@azure/ai-form-recognizer` version `^5.0.0` | | ||
| 2022-08-01 | DocumentAnalysisClient and DocumentModelAdministrationClient | `@azure/ai-form-recognizer` version `^4.0.0` | | ||
## Getting started | ||
@@ -69,28 +91,2 @@ | ||
## Get Info | ||
```ts | ||
const response = await client.path("/info").get(); | ||
if (isUnexpected(response)) { | ||
throw response.body.error; | ||
} | ||
console.log(response.body.customDocumentModels.limit); | ||
// 20000 | ||
``` | ||
## List Document Models | ||
```ts | ||
import { paginate } from "@azure-rest/ai-document-intelligence"; | ||
const response = await client.path("/documentModels").get(); | ||
if (isUnexpected(response)) { | ||
throw response.body.error; | ||
} | ||
const modelsInAccount: string[] = []; | ||
for await (const model of paginate(client, response)) { | ||
console.log(model.modelId); | ||
} | ||
``` | ||
## Document Models | ||
@@ -161,2 +157,59 @@ | ||
### Markdown content format | ||
Supports output with Markdown content format along with the default plain _text_. For now, this is only supported for "prebuilt-layout". Markdown content format is deemed a more friendly format for LLM consumption in a chat or automation use scenario. | ||
Service follows the GFM spec ([GitHub Flavored Markdown](https://github.github.com/gfm/)) for the Markdown format. Also introduces a new _contentFormat_ property with value "text" or "markdown" to indicate the result content format. | ||
```ts | ||
import DocumentIntelligence from "@azure-rest/ai-document-intelligence"; | ||
const client = DocumentIntelligence(process.env["DOCUMENT_INTELLIGENCE_ENDPOINT"], { | ||
key: process.env["DOCUMENT_INTELLIGENCE_API_KEY"], | ||
}); | ||
const initialResponse = await client | ||
.path("/documentModels/{modelId}:analyze", "prebuilt-layout") | ||
.post({ | ||
contentType: "application/json", | ||
body: { | ||
urlSource: | ||
"https://raw.githubusercontent.com/Azure/azure-sdk-for-js/6704eff082aaaf2d97c1371a28461f512f8d748a/sdk/formrecognizer/ai-form-recognizer/assets/forms/Invoice_1.pdf", | ||
}, | ||
queryParameters: { outputContentFormat: "markdown" }, // <-- new query parameter | ||
}); | ||
``` | ||
### Query Fields | ||
When this feature flag is specified, the service will further extract the values of the fields specified via the queryFields query parameter to supplement any existing fields defined by the model as fallback. | ||
```ts | ||
await client.path("/documentModels/{modelId}:analyze", "prebuilt-layout").post({ | ||
contentType: "application/json", | ||
body: { urlSource: "..." }, | ||
queryParameters: { | ||
features: ["queryFields"], | ||
queryFields: ["NumberOfGuests", "StoreNumber"], | ||
}, // <-- new query parameter | ||
}); | ||
``` | ||
### Split Options | ||
In the previous API versions supported by the older `@azure/ai-form-recognizer` library, document splitting and classification operation (`"/documentClassifiers/{classifierId}:analyze"`) always tried to split the input file into multiple documents. | ||
To enable a wider set of scenarios, service introduces a "split" query parameter with the new "2023-10-31-preview" service version. The following values are supported: | ||
- `split: "auto"` | ||
Let service determine where to split. | ||
- `split: "none"` | ||
The entire file is treated as a single document. No splitting is performed. | ||
- `split: "perPage"` | ||
Each page is treated as a separate document. Each empty page is kept as its own document. | ||
## Document Classifiers #Build | ||
@@ -216,2 +269,28 @@ | ||
## Get Info | ||
```ts | ||
const response = await client.path("/info").get(); | ||
if (isUnexpected(response)) { | ||
throw response.body.error; | ||
} | ||
console.log(response.body.customDocumentModels.limit); | ||
// 20000 | ||
``` | ||
## List Document Models | ||
```ts | ||
import { paginate } from "@azure-rest/ai-document-intelligence"; | ||
const response = await client.path("/documentModels").get(); | ||
if (isUnexpected(response)) { | ||
throw response.body.error; | ||
} | ||
const modelsInAccount: string[] = []; | ||
for await (const model of paginate(client, response)) { | ||
console.log(model.modelId); | ||
} | ||
``` | ||
## Troubleshooting | ||
@@ -218,0 +297,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
283916
33
304
36