scrimba
AI Engineering
Deploy AI Apps
Error handling
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

AboutCommentsNotes
Error handling
Expand for more info
openai-api-worker.js
run
preview
console
import OpenAI from 'openai';

const corsHeaders = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, OPTIONS',
'Access-Control-Allow-Headers': 'Content-Type'
};

export default {
async fetch(request, env, ctx) {
// Handle CORS preflight requests
if (request.method === 'OPTIONS') {
return new Response(null, { headers: corsHeaders });
}

const openai = new OpenAI({
apiKey: env.OPENAI_API_KEY,
baseURL: 'https://gateway.ai.cloudflare.com/v1/9d280632cd92b2ed240832d12b985a28/stock-predictions/openai'
});

try {
const messages = await request.json()
const chatCompletion = await openai.chat.completions.create({
model: 'gpt-4',
messages,
temperature: 1.1,
presence_penalty: 0,
frequency_penalty: 0
});
const response = chatCompletion.choices[0].message;

return new Response(JSON.stringify(response), { headers: corsHeaders });
} catch(e) {
return new Response(e, { headers: corsHeaders });
}
},
};
Console
/index.html
-4:48