GPT Actions - Fixing images link - Images can't have subdirectory (#1384)
@ -567,7 +567,7 @@
|
||||
"\n",
|
||||
"You now have deployed a GPT that uses a middleware in AWS, in an authenticated manner, that's able to connect to Redsfhit. Users with access (that are in Cognito) can now query your databases to perform data analysis task:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/redshift_gpt.png](../../../images/chatgpt/redshift_gpt.png)\n"
|
||||
"![../../../images/redshift_gpt.png](../../../images/redshift_gpt.png)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
|
@ -304,7 +304,7 @@
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"\n",
|
||||
"![../../../images/chatgpt/snowflake_direct_oauth.png](../../../images/chatgpt/snowflake_direct_oauth.png)"
|
||||
"![../../../images/snowflake_direct_oauth.png](../../../images/snowflake_direct_oauth.png)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -203,7 +203,7 @@
|
||||
"\n",
|
||||
"Once you have this deployed, you can go check out the application on AWS Lambda:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_1.png](../../../images/chatgpt/aws_lambda_1.png)\n",
|
||||
"![../../../images/aws_lambda_1.png](../../../images/aws_lambda_1.png)\n",
|
||||
"\n",
|
||||
"You can confirm that the function is not reachable unless authenticated by running a curl command without any authentication:\n",
|
||||
"\n",
|
||||
@ -239,35 +239,35 @@
|
||||
"\n",
|
||||
"Let's now make sure we create a webpage/domain on which we can log-in. Go to AWS Cognito, select the newly created user pool & go to App Integration tab:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_3.png](../../../images/chatgpt/aws_lambda_3.png)\n",
|
||||
"![../../../images/aws_lambda_3.png](../../../images/aws_lambda_3.png)\n",
|
||||
"\n",
|
||||
"Create a Cognito Domain by clicking on \"Domains\" then \"Create Cognito Domain\"\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_8.png](../../../images/chatgpt/aws_lambda_8.png)\n",
|
||||
"![../../../images/aws_lambda_8.png](../../../images/aws_lambda_8.png)\n",
|
||||
"\n",
|
||||
"Scroll down to `App client list` on the App Integration page of your User Pool:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_9.png](../../../images/chatgpt/aws_lambda_9.png)\n",
|
||||
"![../../../images/aws_lambda_9.png](../../../images/aws_lambda_9.png)\n",
|
||||
"\n",
|
||||
"Select your app client and edit the Hosted UI:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_10.png](../../../images/chatgpt/aws_lambda_10.png)\n",
|
||||
"![../../../images/aws_lambda_10.png](../../../images/aws_lambda_10.png)\n",
|
||||
"\n",
|
||||
"And add a callback URL, Authorization Scheme and OAuth scope:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_11.png](../../../images/chatgpt/aws_lambda_11.png)\n",
|
||||
"![../../../images/aws_lambda_11.png](../../../images/aws_lambda_11.png)\n",
|
||||
"\n",
|
||||
"_Note that you'll come back to this step when ChatGPT will generate a callback URL for the authentication of your action. The postman URL, should be used only for development purpose._\n",
|
||||
"\n",
|
||||
"You can try this connection in Postman, under Authorization for your `<api_url>`, copy/paste the value from AWS for the client_id, client_secret and the URL you set up for the auth domain, make sure to add `openid` in the scope to get a valid access_token:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_12.png](../../../images/chatgpt/aws_lambda_12.png)\n",
|
||||
"![../../../images/aws_lambda_12.png](../../../images/aws_lambda_12.png)\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_13.png](../../../images/chatgpt/aws_lambda_13.png)\n",
|
||||
"![../../../images/aws_lambda_13.png](../../../images/aws_lambda_13.png)\n",
|
||||
"\n",
|
||||
"If you're now doing the request on Postman, using the access_token you just retrieve, you'll get a success JSON returned:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_14.png](../../../images/chatgpt/aws_lambda_14.png)"
|
||||
"![../../../images/aws_lambda_14.png](../../../images/aws_lambda_14.png)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -320,13 +320,13 @@
|
||||
"Click on Authentication > OAuth.\n",
|
||||
"We'll now need to fetch AWS Cognito's variables. Let's go on your User Pool > User Pool App Client. From there you can retrieve your client ID and client Secret.\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_15.png](../../../images/chatgpt/aws_lambda_15.png)\n",
|
||||
"![../../../images/aws_lambda_15.png](../../../images/aws_lambda_15.png)\n",
|
||||
"\n",
|
||||
"Copy paste those values in ChatGPT. Now let's add the Token URLs.\n",
|
||||
"\n",
|
||||
"From your User Pool you'll find the URL you've previously created for the hosted domain.\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_16.png](../../../images/chatgpt/aws_lambda_16.png)\n",
|
||||
"![../../../images/aws_lambda_16.png](../../../images/aws_lambda_16.png)\n",
|
||||
"\n",
|
||||
"We'll take this URL and append [AWS routes for OAuth](https://docs.aws.amazon.com/cognito/latest/developerguide/federation-endpoints.html).\n",
|
||||
"\n",
|
||||
@ -351,11 +351,11 @@
|
||||
"source": [
|
||||
"Now go back on your GPT (moving out of the action subview), and you'll see a callback URL provided by ChatGPT for the Authentication:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_17.png](../../../images/chatgpt/aws_lambda_17.png)\n",
|
||||
"![../../../images/aws_lambda_17.png](../../../images/aws_lambda_17.png)\n",
|
||||
"\n",
|
||||
"Get this URL and edit the hosted UI of your User Pool App client & save the changes:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_18.png](../../../images/chatgpt/aws_lambda_18.png)"
|
||||
"![../../../images/aws_lambda_18.png](../../../images/aws_lambda_18.png)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -371,13 +371,13 @@
|
||||
"source": [
|
||||
"You can now test this action again:\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_19.png](../../../images/chatgpt/aws_lambda_19.png)\n",
|
||||
"![../../../images/aws_lambda_19.png](../../../images/aws_lambda_19.png)\n",
|
||||
"\n",
|
||||
"You will be redirected to AWS Cognito page, which you can log-in in using the credentials previously set-up.\n",
|
||||
"\n",
|
||||
"If you now ask the GPT to run the same action, it will answer correctly as you're now authenticated and able to run this function!\n",
|
||||
"\n",
|
||||
"![../../../images/chatgpt/aws_lambda_20.png](../../../images/chatgpt/aws_lambda_20.png)"
|
||||
"![../../../images/aws_lambda_20.png](../../../images/aws_lambda_20.png)"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
Before Width: | Height: | Size: 218 KiB After Width: | Height: | Size: 218 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 98 KiB |
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 119 KiB After Width: | Height: | Size: 119 KiB |
Before Width: | Height: | Size: 211 KiB After Width: | Height: | Size: 211 KiB |
Before Width: | Height: | Size: 233 KiB After Width: | Height: | Size: 233 KiB |
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 102 KiB |
Before Width: | Height: | Size: 380 KiB After Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
Before Width: | Height: | Size: 179 KiB After Width: | Height: | Size: 179 KiB |
Before Width: | Height: | Size: 333 KiB After Width: | Height: | Size: 333 KiB |
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 372 KiB After Width: | Height: | Size: 372 KiB |
Before Width: | Height: | Size: 135 KiB After Width: | Height: | Size: 135 KiB |
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |