tweak: adjust chat.params hook to allow altering of the maxOutputTokens (#21220)
parent
5a6d10cd53
commit
40e4cd27a1
|
|
@ -160,6 +160,11 @@ export namespace LLM {
|
||||||
...input.messages,
|
...input.messages,
|
||||||
]
|
]
|
||||||
|
|
||||||
|
const maxOutputTokens =
|
||||||
|
isOpenaiOauth || provider.id.includes("github-copilot")
|
||||||
|
? undefined
|
||||||
|
: ProviderTransform.maxOutputTokens(input.model)
|
||||||
|
|
||||||
const params = await Plugin.trigger(
|
const params = await Plugin.trigger(
|
||||||
"chat.params",
|
"chat.params",
|
||||||
{
|
{
|
||||||
|
|
@ -175,6 +180,7 @@ export namespace LLM {
|
||||||
: undefined,
|
: undefined,
|
||||||
topP: input.agent.topP ?? ProviderTransform.topP(input.model),
|
topP: input.agent.topP ?? ProviderTransform.topP(input.model),
|
||||||
topK: ProviderTransform.topK(input.model),
|
topK: ProviderTransform.topK(input.model),
|
||||||
|
maxOutputTokens,
|
||||||
options,
|
options,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
@ -193,11 +199,6 @@ export namespace LLM {
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
const maxOutputTokens =
|
|
||||||
isOpenaiOauth || provider.id.includes("github-copilot")
|
|
||||||
? undefined
|
|
||||||
: ProviderTransform.maxOutputTokens(input.model)
|
|
||||||
|
|
||||||
const tools = await resolveTools(input)
|
const tools = await resolveTools(input)
|
||||||
|
|
||||||
// LiteLLM and some Anthropic proxies require the tools parameter to be present
|
// LiteLLM and some Anthropic proxies require the tools parameter to be present
|
||||||
|
|
@ -291,7 +292,7 @@ export namespace LLM {
|
||||||
activeTools: Object.keys(tools).filter((x) => x !== "invalid"),
|
activeTools: Object.keys(tools).filter((x) => x !== "invalid"),
|
||||||
tools,
|
tools,
|
||||||
toolChoice: input.toolChoice,
|
toolChoice: input.toolChoice,
|
||||||
maxOutputTokens,
|
maxOutputTokens: params.maxOutputTokens,
|
||||||
abortSignal: input.abort,
|
abortSignal: input.abort,
|
||||||
headers: {
|
headers: {
|
||||||
...(input.model.providerID.startsWith("opencode")
|
...(input.model.providerID.startsWith("opencode")
|
||||||
|
|
|
||||||
|
|
@ -212,7 +212,13 @@ export interface Hooks {
|
||||||
*/
|
*/
|
||||||
"chat.params"?: (
|
"chat.params"?: (
|
||||||
input: { sessionID: string; agent: string; model: Model; provider: ProviderContext; message: UserMessage },
|
input: { sessionID: string; agent: string; model: Model; provider: ProviderContext; message: UserMessage },
|
||||||
output: { temperature: number; topP: number; topK: number; options: Record<string, any> },
|
output: {
|
||||||
|
temperature: number
|
||||||
|
topP: number
|
||||||
|
topK: number
|
||||||
|
maxOutputTokens: number | undefined
|
||||||
|
options: Record<string, any>
|
||||||
|
},
|
||||||
) => Promise<void>
|
) => Promise<void>
|
||||||
"chat.headers"?: (
|
"chat.headers"?: (
|
||||||
input: { sessionID: string; agent: string; model: Model; provider: ProviderContext; message: UserMessage },
|
input: { sessionID: string; agent: string; model: Model; provider: ProviderContext; message: UserMessage },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue