Skip to main content

@cdklabs/genai-idp

Project description

GenAI IDP Core Package

Compatible with GenAI IDP version: 0.4.16 Stability: Experimental License

This package is provided on an "as-is" basis, and may include bugs, errors, or other issues. All classes are under active development and subject to non-backward compatible changes or removal in any future version. These are not subject to the Semantic Versioning model. This means that while you may use them, you may need to update your source code when upgrading to a newer version of this package.


Overview

The GenAI IDP Core Package provides the foundational AWS CDK constructs for building intelligent document processing solutions. This package serves as the backbone for the GenAI Intelligent Document Processing (IDP) Accelerator, enabling organizations to transform unstructured documents into structured data at scale using AWS's latest AI/ML services.

For a comprehensive reference of all available constructs and their properties, please explore our API documentation. This detailed guide will help you understand the full capabilities of this package and how to leverage them in your projects.

Features

  • Modular Architecture: Composable CDK constructs that can be combined to create complete document processing solutions
  • Document Processing Infrastructure: Core components for document ingestion, tracking, and management
  • Processing Environment API: GraphQL API for monitoring document processing status and results
  • Web Application Support: Optional secure web interface for document tracking and management
  • Extensible Design: Designed to work with multiple document processing patterns and AI/ML services
  • Security-First Approach: Built-in support for encryption, IAM permissions, and secure data handling
  • Observability: Integrated CloudWatch metrics, logs, and alarms for monitoring and troubleshooting

Getting Started

Installation

The package is available through npm for JavaScript/TypeScript projects and PyPI for Python projects.

JavaScript/TypeScript (npm)

# Using npm
npm install @cdklabs/genai-idp

# Using yarn
yarn add @cdklabs/genai-idp

Python (PyPI)

# Using pip
pip install cdklabs.genai-idp

# Using poetry
poetry add cdklabs.genai-idp

Basic Usage

Here's a simple example of how to use the core IDP constructs:

import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import * as s3 from 'aws-cdk-lib/aws-s3';
import * as kms from 'aws-cdk-lib/aws-kms';
import { ProcessingEnvironment } from '@cdklabs/genai-idp';

export class MyIdpStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);

    // Create encryption key
    const key = new kms.Key(this, 'IdpKey', {
      enableKeyRotation: true,
    });

    // Create S3 buckets for input and output
    const inputBucket = new s3.Bucket(this, 'InputBucket', {
      encryption: s3.BucketEncryption.KMS,
      encryptionKey: key,
      eventBridgeEnabled: true,
    });

    const outputBucket = new s3.Bucket(this, 'OutputBucket', {
      encryption: s3.BucketEncryption.KMS,
      encryptionKey: key,
    });

    const workingBucket = new s3.Bucket(this, 'WorkingBucket', {
      encryption: s3.BucketEncryption.KMS,
      encryptionKey: key,
    });

    // Create processing environment
    const environment = new ProcessingEnvironment(this, 'Environment', {
      key,
      inputBucket,
      outputBucket,
      workingBucket,
      metricNamespace: 'MyIdpSolution',
    });

    // Attach document processors to the environment
    // (processors are provided by separate packages)
  }
}

API Reference

Key Components

  • ProcessingEnvironment: Main construct that orchestrates the document processing workflow
  • ProcessingEnvironmentApi: GraphQL API for monitoring document processing status
  • IDocumentProcessor: Interface for document processing implementations
  • LogLevel: Enum for controlling logging verbosity

For detailed API documentation, please refer to the TypeScript type definitions and JSDoc comments in the source code.

Contributing

We welcome contributions to the GenAI IDP Core Package! Please follow these steps to contribute:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Please ensure your code adheres to our coding standards and includes appropriate tests.

Related Projects

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.


Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cdklabs_genai_idp-0.2.0.tar.gz (5.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cdklabs_genai_idp-0.2.0-py3-none-any.whl (5.8 MB view details)

Uploaded Python 3

File details

Details for the file cdklabs_genai_idp-0.2.0.tar.gz.

File metadata

  • Download URL: cdklabs_genai_idp-0.2.0.tar.gz
  • Upload date:
  • Size: 5.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.14.3

File hashes

Hashes for cdklabs_genai_idp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 84bd1fdca5fd0895c5b66b5f7572907901a0fcf68ebf6e2eded7fcb83cc05398
MD5 d1f7faa920cad6e1b45e3e7d4c8e3d43
BLAKE2b-256 505800b7934f6766c94c4449e542a827eac3a0fd0cafc2b34e17edb36e11b9f3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdklabs_genai_idp-0.2.0.tar.gz:

Publisher: release.yml on cdklabs/genai-idp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cdklabs_genai_idp-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cdklabs_genai_idp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 55a8c3c79d18acaa8c4607f62ab9f83a1328f1832417a5dfb9a42960731597e4
MD5 c55e57c33e2f27a041d7d02cd8da6ea0
BLAKE2b-256 0c8b7cea8289618d5e59a10e5e2b8baf8887def5e2404a0bcbb823a40f69bfaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for cdklabs_genai_idp-0.2.0-py3-none-any.whl:

Publisher: release.yml on cdklabs/genai-idp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page