GPT Complete (Extractor Type)
!! |
LEGACY TECHNOLOGY DETECTED!! GPT Complete is now obsolete. Please use Ask AI instead. It is an improved version of GPT Complete. GPT Complete will be removed from Grooper in version 2025. |
GPT Complete is an Extractor Type that leverages Open AI's GPT models to generate chat completions for inputs, returning one hit for each result choice provided by the model's response.
You may download the ZIP(s) below and upload it into your own Grooper environment (version 2023). The first contains one or more Batches of sample documents. The second contains one or more Projects with resources used in examples throughout this article. |
About
GPT Complete is an Extractor Type that was added to Grooper 2023. It is the setting you choose to leverage GPT integration on an extractor. Below are some examples of configuration and use. You should be able to follow along using the GPT Integration zip files (Batch and Project are included) that are included in this article. Begin by following along with the instructions. The details of the properties will be explained after.
It is also worth noting that the examples given below ARE NOT a comprehensive list. Provided are only a few examples of prompts used in extraction to get you thinking about what can be done. It is highly recommended that you not only reference the materials linked above, but also spend time experimenting and testing. Good luck!
Extractor Type Properties
Before moving on to seeing how the GPT model is used for classification in Grooper let's take a look at the properties used in the GPT Complete extractor type.
API Key
You must fill this property with a valid API key from OpenAI in order to leverage GPT integration with Grooper. See the Obtain an API Key section of the GPT Integration article for instruction on how to get a key.
Model
The API Key you use will determine which GPT models are available to you. The different GPT models can affect the text generated based on their size, training data, capabilities, prompt engineering, and fine-tuning potential. GPT-3's larger size and training data, in particular, can potentially result in more sophisticated, diverse, and contextually appropriate text compared to GPT-2. However, the actual performance and quality of the generated text also depend on various other factors, such as prompt engineering, input provided, and specific use case requirements. GPT-4 is the latest version, as of this writing, and takes the GPT model even further.
Parameters
Please see the Parameters article for more information.
Timeout
The amount of time, in seconds, to wait for a response from the web service before raising a timeout error.
Instructions
The instructions or question to include in the prompt. The prompt sent to OpenAI consists of text content from the document, which provides context, plus the text entered here. This property should ask a question about the content or provide instructions for generating output. For example, "what is the effective date?", "summarize this document", or "Your task is to generate a comma-separated list of assignors".
Preprocessing
Please visit the Preprocessing article for more information.
Overflow Disposition
Specifies the behavior when the document content is longer than the context length of the selected model.
May be one of the following:
- Truncate - The content will be truncated to fit the model's context length.
- Split - The content will be split into chunks which fit the model's context length. One result will be returned for each chunk.
Context Extractor
An optional extractor which filters the document content included in the prompt. All Value Extractor types are available.
Max Response Length
The maximum length of the output, in tokens. 1 token is equivalent to approximately 4 characters for English text. Increasing this value decreases the maximum size of the context.
Maximum Content Length
The maximum amount of content from the document to be included, in tokens.
How To
- After importing the Grooper ZIP files provided with this course, expand the Node Tree out and select the Data Field named "Lessor".
- Click the drop-down menu for the Value Extractor property.
- Select the GPT Complete option from the menu.
- With the Value Extractor property set, click the ellipsis button to open its configuration window (if you prefer, you can instead click the drop-down arrow to the left of the property to edit its properties without a pop-up window).
- Start by entering your API key into the API Key property.
- Click the "Browse Batches" button.
- Select "GPT Complete Examples" Batch in the "GPT Integration - Batches" folder from the menu.
- Select "Lease (1)" from the Batch Viewer.
- Click the ellipsis button for the Instructions property to open its configuration window (if you prefer, you can instead simply type into the entry field of the property.)
- Type the string value
Who is the lessor?
into the editor. - Click the "OK" button to accept and close this window.
- When the previous window closes the extractor will immediately fire (assuming you have automatic testing enabled), and you will see a result returned in the "Results" list view.
From a "prompt engineering" perspective the input we gave it is as basic as you can get. A result is returned, which is great, but it may not be the exact result that is desired. The value supplied is very conversational, which isn't necessarily a bad thing and is typical of an AI that's trained to emulate language, but considering how data is typically constructed in Grooper, it's not quite right. If you break it down, the result given is really four values: the lessor's name, their marital status, their gender, and their location. In this case the name of the lessor only will suffice.
The next thing to tackle will be using some prompt engineering to get a more specific result.
Getting a More Specific Result with Prompt Engineering
- Working with the same material as before, select the Data Field named "Lessee".
- Click the drop-down menu for the Value Extractor property.
- Select GPT Complete from the drop-down menu.
- With the Value Extractor set, click the ellipsis button to open its configuration window (if you prefer, you can instead click the drop-down arrow to the left of the property to edit its properties without a pop-up window).
- Start by entering your API key into the API Key property.
- Make sure "Lease (1)" is still selected in the Batch Viewer.
- Click the ellipsis button for the Instructions property to open its configuration window (if you prefer, you can instead simply type into the entry field of the property.)
- Type the string value
Who is the lessee?
into the editor. - Click the "OK" button to accept and close this window.
- When the previous window closes the extractor will immediately fire (assuming you have automatic testing enabled), and you will see a result returned in the "Results" list view.
- This is clearly a different result form the "Lessor", which is good, but let's address the issue mentioned previously. Let's use some simple "prompt engineer" to get the specific result desired.
- Click the ellipsis button for the Instructions property to open its configuration window (if you prefer, you can instead simply type into the entry field of the property.)
- Add to the string value
Respond only with the lessee's name.
- Click the "OK" button to accept and close this window.
- This is a much better result than before. However, the period at the end is unnecessary and can be removed, again, by prompting the AI appropriately.
- Click the ellipsis button for the Instructions property to open its configuration window (if you prefer, you can instead simply type into the entry field of the property.)
- Add to the string value
Don't include control characters.
- Click the "OK" button to accept and close this window.
- Perfect! This is the exact value needed.
This is by no means anything but a simple prompt, but notice how giving context and being more specific alters the result. As a user learning this new technology, it's now time to start experimenting with your prompts and getting creative to get the results you're looking for.
Example: Full and Brief Document Summary
- Working with the same material as before, select the Data Field named "Full Summary".
- Click the drop-down menu for the Value Extractor property.
- Select GPT Complete from the drop-down menu.
- With the Value Extractor set, click the ellipsis button to open its configuration window (if you prefer, you can instead click the drop-down arrow to the left of the property to edit its properties without a pop-up window).
- Start by entering your API key into the API Key property.
- Type
tldr
into the Instructions property. - Assuming you have automatic testing enabled, you will see a result returned in the "Results" list view. Click this result.
- Click the "Inspect" button.
- In the "Data Inspector" you will see the number of characters in the result.
- You will also see the full text of the summary.
- Right-click in a blank space to get a list of commands.
- Make sure "Text Wrap" is enabled so that the text will wrap like it is in the screenshot.
- After confirming the previous settings and closing windows, right-click the "Full Summary" Data Field to get a list of commands.
- Select the "Clone..." command.
- Name the clone "Brief Summary".
- Confirm the clone by clicking the "Execute" button.
- With the clone made, click the ellipsis button of the Value Extractor property to open its configuration window (if you prefer, you can instead click the drop-down arrow to the left of the property to edit its properties without a pop-up window).
- Add
in 100 words or less
to the Instructions property. - A result will be returned in the "Results" list view. Select this result.
- Click the "Inspect" button.
- In the "Data Inspector" you will now notice this result's length is much shorter.
- The summary given is much shorter than the previous due to the additional instruction given in the prompt.
Example: Sentiment Analysis
- Working with the same material as before, select the Data Field named "Sentiment Analysis".
- Click the drop-down menu for the Value Extractor property.
- Select GPT Complete from the drop-down menu.
- With the Value Extractor set, click the ellipsis button to open its configuration window (if you prefer, you can instead click the drop-down arrow to the left of the property to edit its properties without a pop-up window).
- Start by entering your API key into the API Key property.
- Click the ellipsis button for the Instructions property to open its configuration window (if you prefer, you can instead simply type into the entry field of the property.)
- Type the string
Is this document's sentiment positive, negative, or neutral? Respond with only the sentiment and no control characters.
into the editor. - Click the "OK" button to accept and close this window.
- When the previous window closes, click on "Document (4)" in the Batch Viewer.
- Assuming you have automatic testing enabled, you will see a result ("negative") returned in the "Results" list view.
- Click on "Document (5)" in the Batch Viewer.
- Assuming you have automatic testing enabled, you will see a result ("positive") returned in the "Results" list view.