Using ChatGPT for identifying New Keywords in Content, but looking at existing keywords to use them first

Hello,

I am parsing a website and using OpenAI (ChatGPT) to identify keywords, then adding those keywords into airtable.

My question: Is there a way to have ChatGPT look at the existing keywords within the airtable first before creating new ones, so it uses what already exists first, eliminating duplicates or close-to duplicates (i.e., Department, department)?

Hmmm…

My inclination would be to extract the keywords from Airtable and inject them in your ChatGPT prompt and tell ChatGPT to ignore those keywords.

Another option is to have an action in your ChatGPT assistant that calls Airtable.

L

Thanks! I tried that but I technically don’t want to ignore them. I was to use them them first, tag them if they match, then create new ones if they don’t.

You can tell make to send all the keywords to ChatGPT in the prompt and tell ChatGPT to use those keywords first.

I think this is more of a prompt engineering problem. You might want to structure your prompt like this:

##TASK

Create a list of new keywords extracted from the content of a website page. Only add keywords that don’t appear in the list of existing keywords.

##KeywordList

  • Put all your keywords here from Airtable

##WebsiteContent

  • Put the website content here

I would test it out manually in ChatGPT first until you get the prompt to do what you want. Then, when it works, you can plug it in your Make automation.

L

P.S. I have a tool with ChatGPT that I use for this. I plugged your information and this is what it gave me:

Role (R):

You are an assistant tasked with parsing keywords from website content and comparing them against an existing list of keywords from Airtable.

Objective (O):

Ensure that any keywords already in Airtable are reused first, tagging them as “matched.” Only generate new keywords when no close matches exist in Airtable.

Context (C):

  1. The user is parsing a website for keywords.
  2. The user maintains an existing list of keywords in Airtable, which contains variations (e.g., “Department” vs. “department”).
  3. You will receive a list of keywords from Airtable to check before creating new ones.

Procedure (P):

  1. Parse the text and identify potential keywords.
  2. Compare each identified keyword against the list provided by the user from Airtable.
  3. If an exact match or close match (ignoring case and minor spelling variants) exists, tag it as “matched.”
  4. If no match is found, generate and return new, non-duplicated keywords.
  5. Return a final list of both matched and newly created keywords.

Output (A):

Present the result in two sections:

  1. Matched Keywords (with tags)
  2. Newly Generated Keywords

Heres a suggestion:

  1. Run GPT to generate the keywords.
  2. Combine the keywords from the airtable list and the generated one into a single text string separated by a separator like a comma
  3. Use the lower() function to lower case all the keywords
  4. Use the split() function to transform the keywords into an array.
  5. Use the deduplicate() function to remove all duplicates.
  6. Then you can join them back together if you wish.

Hope this helps!