feat(ai): type Anthropic-compatible request options (#39497)
This commit is contained in:
parent
309c4fe6f0
commit
5882b64612
2 changed files with 18 additions and 2 deletions
|
|
@ -47,7 +47,7 @@ export const configure = (input: Config) => {
|
||||||
})
|
})
|
||||||
return {
|
return {
|
||||||
id: ProviderID.make(provider),
|
id: ProviderID.make(provider),
|
||||||
model: (modelID: string | ModelID) => route.model({ id: modelID }),
|
model: (modelID: string | ModelID) => route.model<AnthropicMessages.ProviderOptionsInput>({ id: modelID }),
|
||||||
configure,
|
configure,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -57,7 +57,10 @@ export const provider = {
|
||||||
configure,
|
configure,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) => {
|
export const model: ProviderPackage.Definition<Settings, AnthropicMessages.ProviderOptionsInput>["model"] = (
|
||||||
|
modelID,
|
||||||
|
settings,
|
||||||
|
) => {
|
||||||
if (settings.apiKey !== undefined && settings.authToken !== undefined)
|
if (settings.apiKey !== undefined && settings.authToken !== undefined)
|
||||||
throw new Error("Anthropic-compatible apiKey cannot be combined with authToken")
|
throw new Error("Anthropic-compatible apiKey cannot be combined with authToken")
|
||||||
return configure({
|
return configure({
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
import { LLM } from "../../src"
|
||||||
|
import { AnthropicCompatible } from "../../src/providers"
|
||||||
|
|
||||||
|
const model = AnthropicCompatible.configure({ baseURL: "https://example.com" }).model("claude")
|
||||||
|
|
||||||
|
LLM.request({ model, prompt: "Hello", providerOptions: { anthropic: { effort: "high" } } })
|
||||||
|
|
||||||
|
LLM.request({
|
||||||
|
model,
|
||||||
|
prompt: "Hello",
|
||||||
|
// @ts-expect-error Anthropic effort must be a string.
|
||||||
|
providerOptions: { anthropic: { effort: 1 } },
|
||||||
|
})
|
||||||
Loading…
Reference in a new issue