Skip to content

Commit 686f47d

Browse files
committed
Streams can now have up to 2500 entries
1 parent 62a7598 commit 686f47d

File tree

4 files changed

+147
-15
lines changed

4 files changed

+147
-15
lines changed

apps/webapp/app/services/realtimeStreams.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export class RealtimeStreams {
134134
if (line.trim()) {
135135
// Avoid unnecessary parsing; assume 'line' is already a JSON string
136136
// Add XADD command with MAXLEN option to limit stream size
137-
batchCommands.push([streamKey, "MAXLEN", "~", "1000", "*", "data", line]);
137+
batchCommands.push([streamKey, "MAXLEN", "~", "2500", "*", "data", line]);
138138

139139
if (batchCommands.length >= batchSize) {
140140
// Send batch using a pipeline

pnpm-lock.yaml

Lines changed: 114 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

references/nextjs-realtime/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"dev:trigger": "trigger dev"
1111
},
1212
"dependencies": {
13-
"@ai-sdk/openai": "^0.0.72",
13+
"@ai-sdk/openai": "^1.0.1",
1414
"@fal-ai/serverless-client": "^0.15.0",
1515
"@radix-ui/react-dialog": "^1.0.3",
1616
"@radix-ui/react-icons": "^1.3.0",
@@ -19,7 +19,7 @@
1919
"@trigger.dev/react-hooks": "workspace:^3",
2020
"@trigger.dev/sdk": "workspace:^3",
2121
"@uploadthing/react": "^7.0.3",
22-
"ai": "^3.4.33",
22+
"ai": "^4.0.0",
2323
"class-variance-authority": "^0.7.0",
2424
"clsx": "^2.1.1",
2525
"lucide-react": "^0.451.0",

references/nextjs-realtime/src/trigger/ai.ts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,3 +114,33 @@ export const openaiStreaming = schemaTask({
114114
return { text };
115115
},
116116
});
117+
118+
export const openaiO1Model = schemaTask({
119+
id: "openai-o1-model",
120+
description: "Stream data from OpenAI to get the weather",
121+
schema: z.object({
122+
model: z.string().default("o1-preview"),
123+
prompt: z.string().default("Hello, how are you?"),
124+
}),
125+
run: async ({ model, prompt }) => {
126+
logger.info("Running OpenAI model", { model, prompt });
127+
128+
const result = await streamText({
129+
model: openai(model),
130+
prompt,
131+
experimental_continueSteps: true,
132+
});
133+
134+
const stream = await metadata.stream("openai", result.textStream);
135+
136+
let text = "";
137+
138+
for await (const chunk of stream) {
139+
logger.log("Received chunk", { chunk });
140+
141+
text += chunk;
142+
}
143+
144+
return { text };
145+
},
146+
});

0 commit comments

Comments
 (0)