Help

Re: chatGPT for Airtable automation.

40596 0
cancel
Showing results for 
Search instead for 
Did you mean: 
chrisbyrne
5 - Automation Enthusiast
5 - Automation Enthusiast

Using chatGPT in an Airtable automation. 

In my use case, the automation triggers on when an Airtable record matches conditions,
then follows with 2 actions, run script and update record. Adjust the first part of the prompt
with your own use case. Tip: Use chatGPT to help you write a prompt for chatGPT (!)

 

let inputConfig = input.config();
text = `${inputConfig.text}`;

var key = "openai-api-key";

var url = "https://api.openai.com/v1/completions";

prompt = "Reword this text to grade 9 reading level: " + text;

var gpt = {
model : "text-davinci-003",
prompt : prompt,
temperature : 0,
max_tokens : 1024
};

response = await fetch(url, {
method: 'POST',
body: JSON.stringify(gpt),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + key,
}
});

answer= await response.json();

data=answer.choices[0].text;

output.set('your-airtable-field',data);

 

16 Replies 16
Scott_Gould
6 - Interface Innovator
6 - Interface Innovator

BOOM.

Aaron_Hanson
4 - Data Explorer
4 - Data Explorer

this is awesome - though davinci isn't quiet the same or as good as chatgpt though right?  

chrisbyrne
5 - Automation Enthusiast
5 - Automation Enthusiast

chatGPT isn't a model though.

MaxValle
4 - Data Explorer
4 - Data Explorer

Hi Guys,

where can I find the ChatGPT API?
It seems they can no longer be activated. I have a Pro account.

Thank you 🙂

 

Karl_L
6 - Interface Innovator
6 - Interface Innovator

Hi @chrisbyrne 
and thank you for this show and tell!

I'm trying to do basically the same thing, but get only "undefined" responses. I might be doing some simple mistake, any idea what it is? Posting my edited script below

 

let inputConfig = input.config();
text = `${inputConfig.textToMakeShorter}`;

var key = "XXXXX";

var url = "https://api.openai.com/v1/completions";

prompt = "Summarize this text: " + text;

var gpt = {
model : "text-davinci-003",
prompt : prompt,
temperature : 0,
max_tokens : 1024
};

response = await fetch(url, {
method: 'POST',
body: JSON.stringify(gpt),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + key,
}
});

answer= await response.json();

data=answer.choices[0].text;

output.set('shortenedText',data);

 

chrisbyrne
5 - Automation Enthusiast
5 - Automation Enthusiast

It's at capacity rn so could be that, it's something you will have to allow for.
In my app I have a retry number field that gets incremented if it fails.
 
What I would do now, is test the step before the prompt with
console.log(key) and console.log(url) to make sure these are correct.

The code I provided is bare bones without error checking, to make it clear what's happening.

You could add this before the answer= await response.json();

if (!response.ok) {
  console.error(`Error:  ${response.status}`);

This should cough up whatever is going on.

Jean-Philippe_E
7 - App Architect
7 - App Architect

Hello,
I wondering if it would be possible to perform ChatGPT summerisation when the WebClipper perform the capture of the page ?

Good or Bad idea ?

  • It would avoid capturing and storing all the junk of a full webpage
  • On the other hand as a "function" we could play it again and again

How do you handle to long article ? Did you try the GPT 3.5 with it's lower fees ?

Thanks

To handle long articles you will need to strip the text so it's less than 1,500 words (GPT limit)
text = text.substring(0,2048); 

Though with GPT4 it's expanded to 32k, a gamechanger!

Jean-Philippe_E
7 - App Architect
7 - App Architect

Yes playing with it 32k is interesting but I think expensive at scale.
Are you sure token = word ? What does it means for an html content ?