Grooper and AI: Difference between revisions
Dgreenwood (talk | contribs) |
Dgreenwood (talk | contribs) |
||
| Line 128: | Line 128: | ||
** Example: Global Standard gpt-4o (Enterprise and MCA-E) = 30M tokens per minute & 180K requests per minute | ** Example: Global Standard gpt-4o (Enterprise and MCA-E) = 30M tokens per minute & 180K requests per minute | ||
== OpenAI | == Does OpenAI or Azure OpenAI save my data or use it for training? == | ||
: ''For OpenAI models'' | |||
:: Grooper integrates with OpenAI API ''not'' Chat GPT. When using the OpenAI API, your data (prompts, completions, embeddings, and fine-tuning data) is not used for training to improve OpenAI models (unless you explicitly opt in to share data with OpenAI). Your data is not available to other customers or other third parties. | |||
:: All data passed to and from OpenAI (prompts, completions, embeddings, and fine-tuning data) is encrypted in transit. | |||
* [https://openai.com/policies/data-processing-addendum/ OpenAI Data Processing Addendum] | :: Data is saved in the case of fine-tuning data for your own custom models. Fine-tuned models are available to you and no one else (without your consent). All stored fine-tuning data may be deleted at your discretion. All stored data is encrypted at rest. The OpenAI API may store logs for up to 30 days for abuse monitoring. However, they offer a "zero data retention" option for trusted customers with sensitive applications. You will need to contact the [https://openai.com/contact-sales/ OpenAI sales team] for more information on obtaining a zero data retention policy. | ||
* [https://openai.com/enterprise-privacy/ OpenAI enterprise privacy policy] | ::* Relevant links: | ||
* [https://platform.openai.com/docs/models/how-we-use-your-data Open AI API | ::**[https://platform.openai.com/docs/guides/your-data See here for more on data controls in the OpenAI API.] | ||
::** [https://openai.com/policies/data-processing-addendum/ OpenAI Data Processing Addendum] | |||
::** [https://openai.com/enterprise-privacy/ OpenAI enterprise privacy policy] | |||
::** [https://platform.openai.com/docs/models/how-we-use-your-data Open AI API - How we use your data] | |||
* [https://learn.microsoft.com/en-us/ | :''For Azure AI Foundry Models (including Azure OpenAI models)'' | ||
:: Azure AI models are deployed in Azure resources under your control in your tenant. Models are deployed in Azure and operate as a service under your control. Your data (prompts, completions, embeddings, and fine-tuning data) is not available to other customers, OpenAI, or other third parties. Your data is not used for training to improve models by Microsoft, OpenAI or any other third parties with out your permission or instruction. | |||
:: All data passed to and from the model service (prompts, completions, embeddings, and fine-tuning data) is encrypted in transit. | |||
:: Some data is saved in certain cases, such as data saved for fine-tuning your own custom models. All stored data is encrypted at rest. All data may be deleted at your discretion. Azure will not store prompts and completions without enabling features that do so. Azure OpenAI may store logs for up to 30 days for abuse monitoring purposes, but this can be disabled for approved applications. | |||
::* Relevant links: | |||
::**[https://learn.microsoft.com/en-us/azure/ai-foundry/how-to/concept-data-privacy See here for Azure AI Foundry's data privacy summary] | |||
::**[https://learn.microsoft.com/en-us/azure/ai-foundry/responsible-ai/openai/data-privacy See here for Azure's OpenAI data privacy policies] | |||
== OpenAI and Azure account setup == | == OpenAI and Azure account setup == | ||
Revision as of 09:43, 7 August 2025
Grooper's groundbreaking AI-based integrations make getting good data from your documents a reality with less setup than ever before.
Artificial intelligence and machine learning technology has always been a core part of the Grooper platform. It all started with ESP Auto Separation's capability to separate loose pages into discrete documents using trained examples. As Grooper has progressed, we've integrated with other AI technologies to improve our product.
Grooper not only offers Azure's machine-learning based OCR engine as an option, but we improve its results with supplementary data from traditional OCR engines. This gives you the "best of both worlds": Highly accurate character recognition and position data for both machine printed and hand written text with minimal setup.
In version 2024, Grooper added a slew of features incorporating cutting edge AI technologies into the platform. These AI based features accelerate Grooper's design and development. The end result is easier deployments, results with less setup and, for the first time in Grooper, a document search and retrieval mechanism.
In version 2025, we introduced AI Assistants, a conversational AI that is knowledgeable about your documents and more. With AI Assistants, users can ask a chatbot persona questions about resources it is connected to, including documents, databases and web services.
Grooper's AI integrations and features include:
- Azure OCR - A machine learning based OCR engine offered by Microsoft Azure.
- Large language model (LLM) based data extraction at scale
- A robust and speedy document search and retrieval mechanism
- Document assistants users can chat with about their documents
In this article, you will find:
- Relevant links to articles in the Grooper Wiki
- Quickstart guides to set up OpenAI and Azure accounts to integrate functionality with Grooper
Relevant article links
Here, you will find links to all currently available articles pertaining to Grooper AI functionality.
Azure OCR
- Azure OCR - An OCR Engine option for OCR Profiles that utilizes Microsoft Azure's Read API. Azure's Read engine is an AI-based text recognition software that uses a convolutional neural network (CNN) to recognize text. Compared to traditional OCR engines, it yields superior results, especially for handwritten text and poor quality images. Furthermore, Grooper supplements Azure's results with those from a traditional OCR engine in areas where traditional OCR is better than the Read engine.
LLM connectivity and constructs
Major LLM constructs
- LLM Connector - A "Repository Option" set on the Grooper Root node. This provides connectivity to LLMs offered by OpenAI and Microsoft Azure.
- Ask AI - An LLM-based Extractor Type. This extractor returns results by passing the document's text and a natural language prompt to a chat completion service (a chatbot). The chatbot uses the document's text and the prompt to respond with an answer. The chatbot's answer is the extractor's result.
- AI Extract - An LLM-based Fill Method. Fill Methods are configured on Data Models and Data Sections. They perform a secondary extraction after the child Data Elements extractors and extract methods execute. Or, they can act as the primary extraction mechanism if no extractors or extract methods are configured. AI Extract extracts the Data Model using an LLM chat completion service. In many cases, the only configuration required is Data Elements added to the model. AI Extract fills in the Data Model based on what its Data Elements are named.
- Clause Detection - An LLM-based Data Section Extract Method. Clause Detection is designed to locate specified types of clauses in natural language documents and return them as section instances in Grooper. The user provides one or more sample clauses, then an embeddings model determines the portion of the document (or "chunk") most similar to the samples, and Grooper returns the paragraph(s) in the chunk. Data Sections using this Extract Method can then use AI Extract to return data using only the text-content of the detected paragraph.
- AI Generator - AI Generators can be used in the Search page (see AI Search and the Search page below). AI Generators use an LLM prompt to create simple text-based documents (TXT, CSV, HTML, etc) from results in the Search page. This can include simple reports, contact lists, summaries and more.
LLM construct related properties and concepts
- Parameters - These properties adjust how an LLM gives a response. For example, Temperature controls the "randomness" of an LLMs response.
- Document Quoting - This property determines what text is fed to an LLM. This could be the whole document, an extracted portion of the document, a paragraph semantically similar to a given example, or the documents previously extracted Data Model values depending on its configuration.
- Alignment - These properties control how Grooper highlights LLM-based results in a Document Viewer (or how it "aligns" an LLM response to what text on the document was used to give that response).
- Prompt Engineering - This concept refers to the process of designing and refining natural language prompts to get a desired answer from an LLM chatbot.
AI Search and the Search page
AI Search - AI Search opens up the Search page to Grooper users. AI Search is Grooper's document indexing mechanism. Once an index is created and documents are added to it, users can search for documents and their data from the Search page.
Simple and advanced querying mechanisms provide users flexibility in their search criteria. Users can use the Search page to retrieve documents for research purposes or use a variety of document processing commands to do more work in Grooper.
The AI Search article covers the following topics:
- How to integrate Grooper with Azure AI Search and set up a new search index
- The different ways to index documents
- Set up a Grooper Indexing Service to automatically index documents in the background
- Navigate and use the Search Page to find documents
- Different document and result set commands available from the Search Page
AI Assistants and the Chat page
AI Assistant - AI Assistants open up the Chat page to Grooper users. From the Chat page, users can select an AI Assistant and start asking it questions about resources its connected to. These resources include document content in an AI Search index, databases connected with a Grooper Data Connection and web services that can be connected using a RAML definition.
AI Assistants use a technique called "retrieval augmented generation" (or RAG) to come up with a "retrieval plan" to determine what content from what resource is relevant to the conversation. This allows Grooper users a simple way to interact with documents and data by simply asking questions in a chat session.
OpenAI and Azure OpenAI rate limits
OpenAI rate limits
OpenAI's full rate limit documentation
Rate limits restrict how many requests or tokens you can send to the OpenAI API in a specific time frame. Limits are set at the organization and project level (not per individual user) and vary by model type. Rate limits are measured in several ways:
- RPM - Requests per minute (the number of calls to the "chat/completions" or "embeddings" endpoints per minute)
- RPD - Requests per day (the number of calls to the "chat/completions" or "embeddings" endpoints per day)
- TPM - Tokens per minute (effectively how much text is sent and received per minute)
- TPD - Tokens per data (effectively how much text is sent and received per day)
- Usage limit (OpenAI limits the total amount an organization can spend on the API per month)
OpenAI places users in "usage tiers" based on how much they spend monthly with OpenAI and how old their account is. As usage tiers increase, so does the rate limit thresholds for each model.
| Tier | Qualification | Usage limits |
| Free | User must be in an allowed geography | $100 / month |
| Tier 1 | $5 paid | $100 / month |
| Tier 2 | $50 paid and 7+ days since first successful payment | $500 / month |
| Tier 3 | $100 paid and 7+ days since first successful payment | $1,000 / month |
| Tier 4 | $250 paid and 14+ days since first successful payment | $5,000 / month |
| Tier 5 | $1,000 paid and 30+ days since first successful payment | $200,000 / month |
Users will automatically move up in usage tiers the more they spend with OpenAI. Users may also contact OpenAI support to request an increase in usage tier.
You can view your current usage tier and rate limits in the Limits page of the OpenAI Platform.
- For Grooper users just getting started connecting to the OpenAI API, this can cause large volumes of work to time out. Each time Grooper executes one of its LLM-based features (such as an AI Extract operation), it sends a request to OpenAI (these count toward your requests per minute/day), handing it document text and system messages (these count toward your tokens per minute/day).
Azure OpenAI rate limits
Azure AI Foundry full rate limit documentation.
Azure OpenAI models are deployed with Azure AI Foundry. This allows users to deploy OpenAI models outside of OpenAI's infrastructure as a service you manage in your Azure environment. However, they are still rate limited. Quotas and limits aren't enforced at the tenant level. Instead, the highest level of quota restrictions is scoped at the Azure subscription level. Rate limits are similar to OpenAI API's rate limts:
- RPM - Requests per minute (the number of calls to the "chat/completions" or "embeddings" endpoints per minute)
- TPM - Tokens per minute (effectively how much text is sent and received per minute)
Several different factors affect your rate limits.
- Global vs Data Zone deployments
- Global deployments have larger rate limits and are better suited for high-volume workloads.
- Example: Global Standard gpt-4.1 (Default) = 1M tokens per minute & 1K requests per minute
- Example: Data Zone Standard gpt-4.1 (Default) = 300K tokens per minute & 300 requests per minute
- Subscription tier
- Enterprise and Microsoft Customer Agreement - Enterprise (MCA-E) vs Default
- Enterprise and MCA-E agreements have larger rate limits than the default "pay-as-you-go" style agreement. The Default tier is best suited for testing and small teams, with MCA-E better suited for mid-to-large organizations and Enterprise is best for large organizations, especially those in regulated industries.
- Example: Global Standard gpt-4.1 (Enterprise and MCA-E) = 5M tokens per minute & 5K requests per minute
- Example: Global Standard gpt-4.1 (Default) = 1M tokens per minute & 1K requests per minute
- Region
- Rate limits are defined per region (e.g. South Central US, East US, West Europe, etc.)
- However, you are not limited to a single global quota. You can deploy models in multiple regions to effectively increase your throughput (as long as your subscription supports it).
- Model
- Similar to OpenAI, rate limits differ depending on the model you use.
- Example: Global Standard gpt-4.1 (Enterprise and MCA-E) = 5M tokens per minute & 5K requests per minute
- Example: Global Standard gpt-4o (Enterprise and MCA-E) = 30M tokens per minute & 180K requests per minute
Does OpenAI or Azure OpenAI save my data or use it for training?
- For OpenAI models
- Grooper integrates with OpenAI API not Chat GPT. When using the OpenAI API, your data (prompts, completions, embeddings, and fine-tuning data) is not used for training to improve OpenAI models (unless you explicitly opt in to share data with OpenAI). Your data is not available to other customers or other third parties.
- All data passed to and from OpenAI (prompts, completions, embeddings, and fine-tuning data) is encrypted in transit.
- Data is saved in the case of fine-tuning data for your own custom models. Fine-tuned models are available to you and no one else (without your consent). All stored fine-tuning data may be deleted at your discretion. All stored data is encrypted at rest. The OpenAI API may store logs for up to 30 days for abuse monitoring. However, they offer a "zero data retention" option for trusted customers with sensitive applications. You will need to contact the OpenAI sales team for more information on obtaining a zero data retention policy.
- For Azure AI Foundry Models (including Azure OpenAI models)
- Azure AI models are deployed in Azure resources under your control in your tenant. Models are deployed in Azure and operate as a service under your control. Your data (prompts, completions, embeddings, and fine-tuning data) is not available to other customers, OpenAI, or other third parties. Your data is not used for training to improve models by Microsoft, OpenAI or any other third parties with out your permission or instruction.
- All data passed to and from the model service (prompts, completions, embeddings, and fine-tuning data) is encrypted in transit.
- Some data is saved in certain cases, such as data saved for fine-tuning your own custom models. All stored data is encrypted at rest. All data may be deleted at your discretion. Azure will not store prompts and completions without enabling features that do so. Azure OpenAI may store logs for up to 30 days for abuse monitoring purposes, but this can be disabled for approved applications.
OpenAI and Azure account setup
For Azure OCR connectivity
Grooper can implement Azure AI Vision's Read engine for OCR. "Read" is a machine learning based OCR engine used to recognize text from images with superior accuracy, including both machine printed and handwritten text.
Azure OCR Quickstart
In Azure:
- If not done so already, create an Azure account.
- Go to your Azure portal
- If not done so already, create a "Subscription" and "Resource Group."
- Click the "Create a resource" button
- Search for "Computer Vision"
- Find "Computer Vision" in the list click the "Create" button.
- Follow the prompts to create the Computer Vision resource.
- Go to the resource.
- Under "Keys and endpoint", copy the API key.
In Grooper
- Go to an OCR Profile in Grooper.
- For the OCR Engine property, select Azure OCR.
- Paste the API key in the API Key property.
- Adjust the API Region property to match your Computer Vision resource's Region value
- You can find this by going to the resource in the Azure portal and inspecting its "Location" value.
External resources
- Azure AI Vision overview
- Azure AI Vision full documentation
- Azure OCR (Read) documentation
- Deploy Azure OCR (Read) on prem
For Azure AI Search connectivity
Grooper uses Azure AI Search's API to create a document search and retrieval mechanism.
Azure AI Search Quickstart
In Azure:
- If not done so already, create an Azure account.
- Go to your Azure portal
- If not done so already, create a "Subscription" and "Resource Group."
- Click the "Create a resource" button
- Search for "Azure AI Search"
- Find "Azure AI Search" in the list click the "Create" button.
- Follow the prompts to create the Azure AI Search resource.
- The pricing tier defaults to "Standard". There is a "Free" option if you're just wanting to try this feature out.
- Go to the resource.
- In the "Essentials" panel, copy the "Url" value. You will need this in Grooper.
- In the left-hand navigation panel, expand "Settings" and select "Keys"
- Copy the "Primary admin key" or "Secondary admin key." You will need this in Grooper.
In Grooper:
- Connect to the Azure AI Search service by adding the "AI Search" option to your Grooper Repository.
- From the Design page, go to the Grooper Root node.
- Select the Options property and open its editor.
- Add the AI Search option.
- Paste the AI Search service's URL in the URL property.
- Paste the AI Search service's API key in the API Key property.
- Full documentation on Grooper's AI Search capabilities can be found in the AI Search article.
External resources
- Create an AI Search service in the Azure portal
- Azure AI Search full documentation
- Pricing - Note: Grooper's AI Search integration does not currently use any of the "Premium Features" that incur additional costs beyond the hourly/monthly pricing models.
- How to choose a service tier
- Service limits - Note: This documents each tier's limits, such as number of indexes, partition storage, vector index storage and maximum number of documents.
For LLM connectivity
Grooper can integrate with OpenAI and Microsoft Azure's LLM models to implement various LLM-based functionality. Before you are able to connect Grooper to these resources, you will need accounts setup with these providers. For information on how to set up these accounts/resources, refer to the following links:
OpenAI LLM Quickstart
In OpenAI:
- If you have not done so already, create an OpenAI account.
- Go to the API keys section of the OpenAI Platform.
- Press the "Crate new secret key" button.
- Follow the prompts to create a new key.
- Copy the API key. You will not be able to view/copy it again.
In Grooper:
- Connect to the OpenAI API by adding an "LLM Connector" option to your Grooper Repository.
- From the Design page, go to the Grooper Root node.
- Select the Options property and open its editor.
- Add the LLM Connector option.
- Select the Service Providers property and open its editor.
- Add an OpenAI provider.
- Paste the OpenAI API key in the API Key property.
- Refer to the following articles for more information on functionality enabled by the LLM Connector:
External resources
Azure LLM Quickstart
Microsoft Azure offers access to several LLMs through their "Model Catalog". This includes Azure OpenAI models, Mistral AI models, Meta's Llama models, and more. To access a model from the catalog in Grooper, it must first be deployed in Azure from Azure AI Foundry (formerly Azure AI Studio).
This advice is intended for users wanting to deploy the Azure OpenAI models in the Azure model catalog and use them in Grooper. We will instruct you how to use Azure AI Foundry (formerly Azure AI Studio) to deploy OpenAI models. Deploying other chat completions and embeddings models in the Azure model catalog may require additional setup in Azure.
- Please Note: Azure OpenAI integration with Grooper is different from OpenAI. Each model needs to be deployed in Azure to access it in Grooper (where the OpenAI provider allows you to select all models in Grooper).
In Azure:
Create an "Azure AI project" in Azure AI Foundry (formerly Azure AI Studio)
- If not done so already, create an Azure account.
- If not done so already, create a "Subscription" and "Resource Group" in the Azure portal
- Go to Azure AI Foundry (formerly Azure AI Studio).
- From the Home page, press the "New project" button.
- A dialogue will appear to create a new project. Enter a name for the project.
- If you don't have an Azure AI hub or "hub", select "Create a new hub"
- For more information on "projects" and "hubs" refer to Microsoft's hubs and projects documentation.
- Follow the prompts to create a new hub.
- When selecting your "Location" for the hub, be aware Azure AI services availability differs per region. Certain models may not be available in certain regions.
- When selecting "Connect Azure AI Services or Azure OpenAI", you can either:
- Connect to an existing Azure OpenAI or Azure AI Services resource.
- Or, you can create one.
- If you want access to all models from all providers (not just OpenAI) you must use Azure AI Services.
Select and deploy an LLM model from your Azure AI hub
- From your hub, select "Models + endpoints"
- Press the "Deploy model" button.
- Select "Deploy base model".
- Choose the OpenAI model of your choice.
- Grooper's integration with Azure's Model Catalog uses either "chat completion" or "embeddings" models depending on the feature. To better narrow down your list of options, expand the "Inference tasks" dropdown and select "Chat completion" and/or "Embeddings."
- Embeddings models are required when enabling "Vector Search" for an Indexing Behavior, when using the Clause Detection section extract method, or when using the "Semantic" Document Quoting method in Grooper.
- If you connected with Azure AI Services, you will have access to all models in Azure's model catalog. However, non-OpenAI models (such as mistral or Llama) may have additional setup required.
- Press the "Confirm" button.
- Press the "Deploy" button.
Get the necessary information you'll need in Grooper
- The model will be deployed in your Azure AI project. In your project, go to "Models + endpoints".
- Select the OpenAI model you deployed.
- Copy the "Target URI". You will need to enter this in Grooper.
- Copy the "Key". You will need to enter this in Grooper.
- Notice as well the "Authentication type" is "Key". This will be important when configuring Grooper too.
In Grooper:
- Connect to the Azure model deployment by adding an "LLM Connector" option to your Grooper Repository.
- From the Design page, go to the "Grooper Root" node.
- Select the "Options" property and open its editor.
- Add the "LLM Connector" option.
- Select the "Service Providers" property and open its editor.
- Add an "Azure" provider.
- Select the "Deployments'" property and open its editor.
- Add a "Chat Service", "Embeddings Service", or both.
- "Chat Services" are required for most LLM-based features in Grooper, such as AI Extract and AI Assistants. "Embeddings Services" are required when enabling "Vector Search" for an Indexing Behavior, when using the Clause Detection section extract method, or when using the "Semantic" Document Quoting method in Grooper.
- In the "Model Id" property, enter the model's name (Example: "gpt-35-turbo").
- In the "URL" property, enter the "Target URI" from Azure
- For Azure OpenAI model deployments this will resemble:
https://{your-resource-name}.openai.azure.com/openai/deployments/{model-id}/chat/completions?api-version={api-version}for Chat Service deploymentshttps://{your-resource-name}.openai.azure.com/openai/deployments/{model-id}/embeddings?api-version={api-version}for Embeddings Service deployments
- For other models deployed in Azure AI Foundry (formerly Azure AI Studio) this will resemble:
https://{model-id}.{your-region}.models.ai.azure.com/v1/chat/completionsfor Chat Service deploymentshttps://{model-id}.{your-region}.models.ai.azure.com/v1/embeddingsfor Chat Service deployments
- For Azure OpenAI model deployments this will resemble:
- Set "Authorization" to the method appropriate for the model deployment in Azure.
- How do I know which method to choose? In Azure, under "Keys and Endpoint", you'll typically see
- "API Key" if the model uses API key authentication (Choose "ApiKey" in Grooper).
- "Microsoft Entra ID" if the model supports token-based authentication via Microsoft Entra ID (Choose "Bearer" in Grooper).
- Azure OpenAI supports both API Key and Microsoft Entra ID (formerly Azure AD) authentication. Azure AI Foundry (formerly Azure AI Studio) models often lean toward token-based (Bearer in Grooper) authentication.
- How do I know which method to choose? In Azure, under "Keys and Endpoint", you'll typically see
- In the "API Key" property, enter the Key copied from Azure.
- (Recommended) Turn on "Use System Messages" (change the property to "True").
- When enabled, certain instructions Grooper generates and information handed to a model are sent as "system" messages instead of "user" messages. This helps an LLM distinguish between contextual information and input from a user. This is recommended for most OpenAI models, but may not be supported by all compatible services.
- Press "OK" buttons in each editor to confirm changes and press "Save" on the Grooper Root.
- Refer to the following articles for more information on functionality enabled by the LLM Connector: