@@ -7,6 +7,7 @@ import { selectEmbeddings } from './embeddings-models.js';
77import { createTool } from './tool.js' ;
88import { createVectorStore } from './vector-store.js' ;
99import { createAgent } from 'langchain' ;
10+ import { LanguageModelLike } from '@langchain/core/language_models/base' ;
1011
1112export async function handle (
1213 event : APIGatewayProxyEvent | APIGatewayProxyEventV2 ,
@@ -32,9 +33,6 @@ export async function handle(
3233 'あなたは文書からコンテキストを取得する専門家です。ツールを使用してユーザーの質問に答える手助けをしてください。必ずユーザーの質問と同じ言語で答えてください。' ;
3334
3435 const { platform, model, modelName } = selectLlm ( modelType ) ;
35-
36- const agent = createAgent ( { model, tools : [ tool ] , systemPrompt } ) ;
37-
3836 // Initialize Langfuse callback handler
3937 const langfuseHandler = langfuse . publicKey && langfuse . secretKey ? new CallbackHandler ( {
4038 sessionId,
@@ -43,6 +41,13 @@ export async function handle(
4341 tags : [ modelName ] ,
4442 } ) : undefined ;
4543
44+ const agent = createAgent ( {
45+ model : ( model as LanguageModelLike ) . withConfig ( {
46+ callbacks : langfuseHandler ? [ langfuseHandler ] : [ ] ,
47+ } )
48+ , tools : [ tool ] , systemPrompt,
49+ } ) ;
50+
4651 logger . debug ( `Langfuse: ${ langfuseHandler ? 'enable' : 'disable' } ` ) ;
4752
4853 const threadId = uuidv7 ( ) ;
@@ -54,7 +59,6 @@ export async function handle(
5459 configurable : {
5560 sessionId,
5661 thread_id : threadId ,
57- callbacks : langfuseHandler ? [ langfuseHandler ] : [ ] ,
5862 } ,
5963 } ,
6064 ) ;
0 commit comments