scrimba
Deploy AI apps with Cloudflare
Create an AI Gateway
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
Create an AI Gateway
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
});

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:52