Back to jobs
Trigger: eventTrigger
Generates a random joke using OpenAI GPT 3.5.
Integrations:
/src/openAITellMeAJoke
AI
1import { TriggerClient, eventTrigger } from "@trigger.dev/sdk";2import { OpenAI } from "@trigger.dev/openai";3import { z } from "zod";45const client = new TriggerClient({ id: "jobs-showcase" });67const openai = new OpenAI({8id: "openai",9apiKey: process.env.OPENAI_API_KEY!,10});1112// This Job will use OpenAI GPT-3.5 Turbo to tell you a joke13client.defineJob({14id: "openai-tell-me-a-joke",15name: "OpenAI: tell me a joke",16version: "1.0.0",17trigger: eventTrigger({18name: "openai.tasks",19schema: z.object({20jokePrompt: z.string(),21}),22}),23integrations: {24openai,25},26run: async (payload, io, ctx) => {27await io.openai.retrieveModel("get-model", {28model: "gpt-3.5-turbo",29});3031const models = await io.openai.listModels("list-models");3233const jokeResult = await io.openai.backgroundCreateChatCompletion(34"background-chat-completion",35{36model: "gpt-3.5-turbo",37messages: [38{39role: "user",40content: payload.jokePrompt,41},42],43}44);4546return {47joke: jokeResult.choices[0]?.message?.content,48};49},50});5152// These lines can be removed if you don't want to use express53import { createExpressServer } from "@trigger.dev/express";54createExpressServer(client);