Skip to main content

Document Intelligence Client

This Python package offers a robust client for seamless interaction with the Document Intelligence API. It enables you to efficiently retrieve, manage, and process document data within your workspace.

Installation

To install the package directly from GitHub using pip, run the following command:

pip install sema4ai-di-client

Usage

After installing the package, you can import it and start using the DocumentIntelligenceClient class.

Importing the Package

from sema4ai.di_client import DocumentIntelligenceClient

Getting a Document Work Item

To retrieve a document work item, make sure you've set the required environment variables before initializing the client. Specifically, ensure that DOCUMENT_INTELLIGENCE_SERVICE_URL and AGENTS_EVENTS_SERVICE_URL is set.

When running in Sema4.ai Control Room these are all handled by the platform.

  • Environment Variables: Make sure the required environment variables (DOCUMENT_INTELLIGENCE_SERVICE_URL, AGENTS_EVENTS_SERVICE_URL) are set in your environment before running the code.
  • Workspace ID: If you are developing on local, then make sure to set workspace_id in DocumentIntelligenceClient(workspace_id='<your_workspace_id>'), which is optional and deduced on non-local environments from the URL passed.
  • Initialize the Client: The client will automatically read the environment variables and initialize the connection.
  • Error Handling: The example includes error handling and ensures the client is properly closed at the end.

Here's an example:

from sema4ai.di_client import DocumentIntelligenceClient

# Ensure environment variables are set for the service URLs
# Example:
# export DOCUMENT_INTELLIGENCE_SERVICE_URL='https://api.yourdomain.com'
# export AGENTS_EVENTS_SERVICE_URL='https://agents.yourdomain.com'

# Initialize the client
client = DocumentIntelligenceClient()

# Specify the document ID you want to retrieve
document_id = 'your_document_id'

# Get the document work item
try:
    document_work_item = client.get_document_work_item(document_id)
    if document_work_item:
        print("Document Work Item:")
        print(document_work_item)
    else:
        print("No document work item found for the given document ID.")
except Exception as e:
    print(f"An error occurred: {e}")
finally:
    client.close()  # Make sure to close the client connection

Available Methods

The DocumentIntelligenceClient offers several methods to interact with the Document Intelligence API and manage work items. Below are examples of the available operations:

  • Get Document Type: Retrieve details about a specific document type.

    document_type = client.get_document_type(document_type_name)
    
  • Get Document Format: Fetch the format of a document based on its type and class.

    document_format = client.get_document_format(document_type_name, document_class_name)
    
  • Store Extracted Content: Store extracted content after processing a document.

    client.store_extracted_content(extracted_content)
    
  • Store Transformed Content: Save content that has been transformed by a process.

    client.store_transformed_content(transformed_content)
    
  • Store Computed Content: Submit content that has been computed after analysis.

    client.store_computed_content(computed_content)
    
  • Get Document Content: Retrieve document content in various states, such as raw, extracted, transformed, or computed.

    content = client.get_document_content(document_id, content_state)
    
  • Remove Document Content: Delete content for a document in a specific state.

    client.remove_document_content(document_id, content_state)
    
  • Complete Work Item Stage: Mark a work item’s current stage as complete and move to the next stage.

    response = client.work_items_complete_stage(
        work_item_id='your_work_item_id',
        status='SUCCESS',  # or 'FAILURE'
        status_reason='optional_reason',  # Optional
        log_details_path='optional_log_path'  # Optional
    )
    

Dependencies

The package requires the following dependencies:

  • urllib3 >= 1.25.3, < 2.1.0
  • python-dateutil
  • pydantic >= 2
  • typing-extensions >= 4.7.1

These should be installed automatically when you install the package via pip.

Example Code Snippet

Below is an example code snippet if you are testing on prod.

from sema4ai.di_client import DocumentIntelligenceClient

client = DocumentIntelligenceClient()

# Fetch and print the document type
try:
    document_type = client.get_document_type("CounterParty Reconciliation")
    print(document_type)
except Exception as e:
    print(f"An error occurred: {e}")
finally:
    client.close()  # Ensure proper resource cleanup

Below is an example code snippet if you are testing on local.

from sema4ai.di_client import DocumentIntelligenceClient
import os

# Set the required environment variables within the Python code
os.environ['DOCUMENT_INTELLIGENCE_SERVICE_URL'] = 'http://127.0.0.1:9080'
os.environ['AGENTS_EVENTS_SERVICE_URL'] = 'http://127.0.0.1:9080'

workspace_id = "<your Sema4.ai Control Room Workspace ID>"
client = DocumentIntelligenceClient(workspace_id=workspace_id)

# Fetch and print the document type
try:
    document_type = client.get_document_type("CounterParty Reconciliation")
    print(document_type)
except Exception as e:
    print(f"An error occurred: {e}")
finally:
    client.close()  # Ensure proper resource cleanup

Metadata

Release files for sema4ai-di-client 1.0.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sema4ai-di-client 1.0.14
File Size Uploaded
sema4ai_di_client-1.0.14.tar.gz 72.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sema4ai-di-client 1.0.14
File Interpreter ABI Platform
sema4ai_di_client-1.0.14-py3-none-any.whl Python 3 none any Details

Total release size: 220.2 kB

Release files / sema4ai_di_client-1.0.14.tar.gz

Download URL sema4ai_di_client-1.0.14.tar.gz
Size 72.6 kB
Tags Source
SHA-256 checksum
How to use checksums
37fa92372a2b9560679d551cbd24d0d4cb934c8d0c0dc8ea4233778b2180e17e
BLAKE2b-256 checksum
How to use checksums
90ae464d7d662264f8a5b1fb6ba4ab9f1c9f9466089776653e8869b1b87346fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1021-azure

Release files / sema4ai_di_client-1.0.14-py3-none-any.whl

Download URL sema4ai_di_client-1.0.14-py3-none-any.whl
Size 147.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ffe0c18639c56a2d5468de95243f91964aa6fd42af3895030ff19129d86caa99
BLAKE2b-256 checksum
How to use checksums
c13d3bf275d7a1ffa0f3224c733a5592f5b14f623fcd4487a70f7a950a9b3b15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.12.3 Linux/6.8.0-1021-azure

Release history Release notifications | RSS feed

This release

1.0.14 This release

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page