Efficient Document Handling with AI on Prisme.ai¶
This tutorial will guide you through setting up a robust document management system on Prisme.ai, utilizing the power of Generative AI to classify documents into categories such as invoices, CVs, quotes, contracts, and others. This system simplifies the process of managing, storing, and retrieving documents, enhancing organizational efficiency.
Prerequisites¶
- Active account on Prisme.ai.
- Access to Knowledge Client and the Collection apps installed in your workspace.
Step 1: Setting Up Your Workspace on Prisme.ai¶
Begin by logging into Prisme.ai and navigating to the Builder product to initiate a new workspace specifically for document management.
Workspace Creation:¶
- Click on the "Create Workspace" button.
- Name your workspace to reflect its purpose, such as "Document Management System".
- Select the necessary settings for your project.
Step 2: Creating a Document Upload Page¶
This step involves setting up a page within your workspace where users can upload documents to be automatically classified by AI.
Page Setup:¶
Creating a Document Upload Form on Prisme.ai¶
This form acts as the entry point for document submissions into your system.
1. Initiating a New Page:¶
- Within your workspace, navigate to the section where you can manage or create new pages.
- Click on "Create a New Page" and begin customizing the user experience.
2. Naming and Setting Up Your Page:¶
- Give your page a meaningful name like "Document Upload Form."
- Assign a slug, e.g.,
upload-docs
, which will be used in the page's URL path.
3. Building the Form:¶
- Locate the form builder section within your page settings.
- Click on "Add a Block" and search for "Form" to add it to your page.
4. Configuring Form Specifications:¶
- Add fields for document upload and description:
- For Document Field:
- Add a new field with the property name
attachment
, set to allow file uploads, specifically.pdf
files.
- Add a new field with the property name
- For Description Field:
- Add a "Description" field as a text area for users to describe the document content.
slug: upload-docs
name: Document Upload Form
blocks:
- slug: Form
schema:
type: object
properties:
attachment:
type: string
ui:widget: upload
title: Document Upload
description: Attach your document here.
ui:options:
upload:
accept: .pdf
description:
type: textarea
title: Document Description
placeholder: Describe the document here.
onSubmit: save
Upon saving the configuration you shall visualize your freshly built form.
5. Displaying Data Table:¶
- Add a DataTable block to show the uploaded documents along with their classified categories.
- Configure columns for ID, description, category, and actions such as delete.
- Also, make sure your DataTable block listen to a given event thanks to the
updateOn
field, here we will chooseupdateData
.
You can also add anonInit
event which will be emitted when the block is loaded in the page by a user.
- slug: DataTable
columns:
- label: ID
key: id
type: string
- label: Description
key: description
type: string
- label: Category
key: category
type: string
- label: Actions
actions:
- label: Delete
action:
type: event
value: deleteData
payload:
id: ${_id}
config:
customProps:
loading: true
title:
fr: Uploaded Documents
en: Uploaded Documents
updateOn: updateData
onInit: initData
data:
- {}
- Obtain the URL for your page; each page follows the format:
workspace-slug.host-page/lang/page-slug
. To find it, click on the share icon located between the page name and the "duplicate" action. If you've named your slug "index," access it directly viaworkspace-slug.host-page
.
Step 3: Automating Document Classification¶
Set up an automation within Prisme.ai that triggers upon document upload to classify the document using AI.
Event Listening automations:¶
- Navigate to the "Automations" section of your workspace.
- Create a new automation named "Document Classification Handler".
- Configure this automation to use Knowledge Client in order to categorize the documents based on the provided description during upload.
slug: manage-form
name: Manage Form
do:
- Knowledge Client.chat-completion:
messages:
- role: system
content: 'Classify the document within these categories: invoice, CV, quote, contract, others. Provide your categorization based on the content.'
- role: user
content: '{{payload.description}}'
output: data
- conditions:
'{{data.response}}':
- set:
name: payload.category
value: '{{data.response}}'
type: merge
default:
- emit:
target:
currentSocket: true
options:
persist: true
event: error
payload: '{{data}}'
- set:
name: payload.error
value: '{{data.error.message}}'
type: merge
- Collection.insert:
data: '{{payload}}'
- emit:
target:
currentSocket: true
options:
persist: false
event: initData
when:
events:
- save
output: '{{payload}}'
Automation for Retrieving Data¶
This automation ensures that the latest data is always displayed on your DataTable after any operation, such as uploads or deletions.
Retrieving Data Automation Setup:¶
- Set up a new automation within the "Automations" section called "Get Data".
- Configure this automation to fetch all documents from the collection and emit an event to update the data table on the front end.
slug: get-data
name: Get Data
do:
- Collection.find:
query: {}
output: data
sort:
createdAt: -1
- emit:
event: updateData
payload:
data: '{{data}}'
customProps:
loading: false
when:
events:
- initData
output: ''
Automation for Deleting Data¶
This automation will handle requests to delete documents from your system, ensuring that data management remains streamlined and secure.
Deleting Data Automation Setup:¶
- Navigate to the "Automations" section of your workspace.
- Create a new automation named "Delete Data".
- Set up the automation to listen for the
deleteData
event and execute a deletion from your document collection.
slug: delete-data
name: Delete Data
do:
- conditions:
'!{{payload.data._id}}':
- break: {}
default: []
- Collection.deleteOne:
query:
_id: '{{payload.data._id}}'
- emit:
target:
currentSocket: true
options:
persist: true
event: initData
when:
events:
- deleteData
output: ''
Version Control and Deployment:¶
- After setting up, push the latest changes and create a version for easy updates or rollbacks.
Learn more about Version Control and RBAC to manage access and permissions.
Step 4: Monitoring and Optimization¶
Regularly check the activity log in Prisme.ai to monitor actions from form submissions to document classification.
Conclusion¶
By following this guide, you've set up a sophisticated AI-powered document management system on Prisme.ai that categorizes documents efficiently, improving your organization's document handling capabilities.
Explore further enhancements and adaptations for broader applications using Prisme.ai. This setup is just the beginning of transforming your business processes into more intelligent and automated operations.