1
- import type { BaseChatModel , BaseChatModelCallOptions } from '@langchain/core/language_models/chat_models'
1
+ import type { BaseLanguageModelInput } from '@langchain/core/language_models/base'
2
+ import type { BaseChatModelCallOptions } from '@langchain/core/language_models/chat_models'
2
3
import type { AIMessageChunk , BaseMessageLike } from '@langchain/core/messages'
4
+ import type { Runnable } from '@langchain/core/runnables'
3
5
import type { StructuredTool } from '@langchain/core/tools'
4
6
import { concat } from '@langchain/core/utils/stream'
5
7
import { AzureChatOpenAI } from '@langchain/openai'
@@ -11,8 +13,6 @@ import type { User } from '../../../shared/user'
11
13
import { AZURE_API_KEY , AZURE_RESOURCE } from '../../util/config'
12
14
import { ToolResultStore } from './fileSearchResultsStore'
13
15
import { MockModel } from './MockModel'
14
- import { Runnable } from '@langchain/core/runnables'
15
- import { BaseLanguageModelInput } from '@langchain/core/language_models/base'
16
16
17
17
type ChatModel = Runnable < BaseLanguageModelInput , AIMessageChunk , BaseChatModelCallOptions >
18
18
@@ -24,16 +24,16 @@ const getChatModel = (model: string, tools: StructuredTool[]): ChatModel => {
24
24
25
25
const chatModel =
26
26
deploymentName === 'mock'
27
- ? new MockModel ( )
27
+ ? new MockModel ( tools )
28
28
: new AzureChatOpenAI ( {
29
29
model,
30
30
azureOpenAIApiKey : AZURE_API_KEY ,
31
31
azureOpenAIApiVersion : '2023-05-15' ,
32
32
azureOpenAIApiDeploymentName : deploymentName ,
33
33
azureOpenAIApiInstanceName : AZURE_RESOURCE ,
34
- } )
34
+ } ) . bindTools ( tools )
35
35
36
- return chatModel . bindTools ( tools )
36
+ return chatModel
37
37
}
38
38
39
39
type WriteEventFunction = ( data : ChatEvent ) => Promise < void >
@@ -164,7 +164,12 @@ const chatTurn = async (model: ChatModel, messages: BaseMessageLike[], toolsByNa
164
164
callId : id ,
165
165
text : `Completed search for '${ input . query } '` ,
166
166
input,
167
- result : { files : artifact . map ( ( chunk ) => ( { fileName : chunk . metadata . ragFileName , score : chunk . score } ) ) } ,
167
+ result : {
168
+ files : artifact . map ( ( chunk ) => ( {
169
+ fileName : chunk . metadata . ragFileName ,
170
+ score : chunk . score ,
171
+ } ) ) ,
172
+ } ,
168
173
} )
169
174
}
170
175
}
0 commit comments