Skip to content

Commit f84748d

Browse files
committed
chore: streaming
1 parent 5458cb0 commit f84748d

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

snippets/ai/src/ai.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ module.exports = async (globalThis: CliContext) => {
6161
await this.command(prompt);
6262
}
6363

64+
@aiCommand()
65+
async find(prompt: string) {
66+
await this.ai.aggregate(prompt);
67+
}
68+
6469
@aiCommand()
6570
async ask(prompt: string) {
6671
await this.ai.processResponse(prompt, {

snippets/ai/src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ type ConfigKeys = keyof ConfigSchema;
1818
const defaults: Record<ConfigKeys, ConfigSchema[ConfigKeys]> = {
1919
provider: process.env.MONGOSH_AI_PROVIDER ?? 'docs',
2020
model: process.env.MONGOSH_AI_MODEL ?? 'default',
21-
includeSampleDocs: process.env.MONGOSH_AI_INCLUDE_SAMPLE_DOCS ?? true,
21+
includeSampleDocs: process.env.MONGOSH_AI_INCLUDE_SAMPLE_DOCS ?? false,
2222
defaultCollection: process.env.MONGOSH_AI_DEFAULT_COLLECTION,
2323
};
2424

snippets/ai/src/providers/ai-provider.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { generateText, streamText, LanguageModel, ModelMessage } from 'ai';
1+
import { streamText, LanguageModel, ModelMessage } from 'ai';
22
import type { Config } from '../config.js';
33
import {
44
type LoadingAnimation as LoadingAnimationType,
@@ -251,13 +251,18 @@ export class AiProvider {
251251
messages: ModelMessage[],
252252
{ systemPrompt, signal }: Omit<GetResponseOptions, 'expectedOutput'>,
253253
): Promise<string> {
254-
const { text } = await generateText({
254+
const result = streamText({
255255
model: this.model,
256256

257257
messages: messages,
258258
system: systemPrompt,
259259
abortSignal: signal ?? AbortSignal.timeout(30_000),
260260
});
261+
262+
let text = '';
263+
for await (const delta of result.textStream) {
264+
text += delta;
265+
}
261266
return text;
262267
}
263268

0 commit comments

Comments
 (0)