From 906cd71c82979424749db27b2b38d99862420cf9 Mon Sep 17 00:00:00 2001 From: Samuel Bushi Date: Tue, 7 May 2024 15:25:43 +0000 Subject: [PATCH 1/4] WIP Sample flow for testing --- js/samples/flow-simple-ai/src/genkit.config.ts | 2 +- js/samples/flow-simple-ai/src/index.ts | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/js/samples/flow-simple-ai/src/genkit.config.ts b/js/samples/flow-simple-ai/src/genkit.config.ts index fcd63256df..b7448ab3af 100644 --- a/js/samples/flow-simple-ai/src/genkit.config.ts +++ b/js/samples/flow-simple-ai/src/genkit.config.ts @@ -46,7 +46,7 @@ export default configureGenkit({ flowStateStore: 'firebase', traceStore: 'firebase', enableTracingAndMetrics: true, - logLevel: 'debug', + logLevel: 'error', telemetry: { instrumentation: 'googleCloud', logger: 'googleCloud', diff --git a/js/samples/flow-simple-ai/src/index.ts b/js/samples/flow-simple-ai/src/index.ts index 3409137bf6..6e9eee62da 100644 --- a/js/samples/flow-simple-ai/src/index.ts +++ b/js/samples/flow-simple-ai/src/index.ts @@ -52,6 +52,23 @@ export const jokeFlow = defineFlow( } ); +export const jokeFlowSimple = defineFlow( + { + name: 'jokeFlowSimple', + inputSchema: z.string(), + outputSchema: z.string(), + }, + async (input) => { + return await run('call-llm', async () => { + const llmResponse = await generate({ + model: googleGeminiPro, + prompt: `Tell a joke about ${input}.`, + }); + return llmResponse.text(); + }); + } +); + export const drawPictureFlow = defineFlow( { name: 'drawPictureFlow', From 4b0ee04751b1dc6c86ae335ed2508bb3851d8845 Mon Sep 17 00:00:00 2001 From: Samuel Bushi Date: Wed, 8 May 2024 01:16:32 +0000 Subject: [PATCH 2/4] Respect log levels --- js/core/src/logging.ts | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/js/core/src/logging.ts b/js/core/src/logging.ts index 6a0bef8237..8f454722e3 100644 --- a/js/core/src/logging.ts +++ b/js/core/src/logging.ts @@ -16,6 +16,8 @@ import { LoggerConfig } from './telemetryTypes.js'; +const LOG_LEVELS = ['debug', 'info', 'warn', 'error']; + class Logger { logger: { debug(...args: any); @@ -25,11 +27,27 @@ class Logger { level: string; }; + defaultLogger = { + shouldLog(targetLevel: string) { + return LOG_LEVELS.indexOf(this.level) <= LOG_LEVELS.indexOf(targetLevel); + }, + debug(...args: any) { + this.shouldLog('debug') && console.debug(args); + }, + info(...args: any) { + this.shouldLog('info') && console.info(args); + }, + warn(...args: any) { + this.shouldLog('warn') && console.warn(args); + }, + error(...args: any) { + this.shouldLog('error') && console.error(args); + }, + level: 'info', + }; + constructor() { - this.logger = { - ...console, - level: 'info', - }; + this.logger = this.defaultLogger; } async init(config: LoggerConfig) { From 2a8503072fc7728a2983c5b4fec81b04ed1fe856 Mon Sep 17 00:00:00 2001 From: Samuel Bushi Date: Wed, 8 May 2024 01:25:27 +0000 Subject: [PATCH 3/4] Remove sample --- js/samples/flow-simple-ai/src/index.ts | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/js/samples/flow-simple-ai/src/index.ts b/js/samples/flow-simple-ai/src/index.ts index 6e9eee62da..3409137bf6 100644 --- a/js/samples/flow-simple-ai/src/index.ts +++ b/js/samples/flow-simple-ai/src/index.ts @@ -52,23 +52,6 @@ export const jokeFlow = defineFlow( } ); -export const jokeFlowSimple = defineFlow( - { - name: 'jokeFlowSimple', - inputSchema: z.string(), - outputSchema: z.string(), - }, - async (input) => { - return await run('call-llm', async () => { - const llmResponse = await generate({ - model: googleGeminiPro, - prompt: `Tell a joke about ${input}.`, - }); - return llmResponse.text(); - }); - } -); - export const drawPictureFlow = defineFlow( { name: 'drawPictureFlow', From f561d170af905adb9397a39a422a64ccd96bbb85 Mon Sep 17 00:00:00 2001 From: Samuel Bushi Date: Wed, 8 May 2024 01:26:20 +0000 Subject: [PATCH 4/4] Remove sample --- js/samples/flow-simple-ai/src/genkit.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/samples/flow-simple-ai/src/genkit.config.ts b/js/samples/flow-simple-ai/src/genkit.config.ts index b7448ab3af..fcd63256df 100644 --- a/js/samples/flow-simple-ai/src/genkit.config.ts +++ b/js/samples/flow-simple-ai/src/genkit.config.ts @@ -46,7 +46,7 @@ export default configureGenkit({ flowStateStore: 'firebase', traceStore: 'firebase', enableTracingAndMetrics: true, - logLevel: 'error', + logLevel: 'debug', telemetry: { instrumentation: 'googleCloud', logger: 'googleCloud',