refactor(llm): name provider model identity
This commit is contained in:
parent
547496656c
commit
9848587052
5 changed files with 12 additions and 12 deletions
|
|
@ -10,7 +10,7 @@ export interface Settings extends Readonly<Record<string, unknown>> {
|
|||
}
|
||||
|
||||
export interface Definition<ProviderSettings extends Settings = Settings> {
|
||||
readonly model: (id: string, settings: ProviderSettings) => Model
|
||||
readonly model: (modelID: string, settings: ProviderSettings) => Model
|
||||
}
|
||||
|
||||
export * as ProviderPackage from "./provider-package"
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ export const configure = (input: Config = {}) => {
|
|||
}
|
||||
|
||||
export const provider = configure()
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) => {
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) => {
|
||||
if (settings.auth === "bearer" && settings.apiKey === undefined)
|
||||
throw new Error("Amazon Bedrock bearer auth requires apiKey")
|
||||
if (settings.auth === "sigv4" && settings.apiKey !== undefined)
|
||||
|
|
@ -64,5 +64,5 @@ export const model: ProviderPackage.Definition<Settings>["model"] = (id, setting
|
|||
http: settings.body === undefined ? undefined : { body: { ...settings.body } },
|
||||
limits: settings.limits,
|
||||
region: settings.region,
|
||||
}).model(id)
|
||||
}).model(modelID)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,11 +38,11 @@ export const configure = (input: Config = {}) => {
|
|||
}
|
||||
|
||||
export const provider = configure()
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) =>
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) =>
|
||||
configure({
|
||||
apiKey: settings.apiKey,
|
||||
baseURL: settings.baseURL,
|
||||
headers: settings.headers === undefined ? undefined : { ...settings.headers },
|
||||
http: settings.body === undefined ? undefined : { body: { ...settings.body } },
|
||||
limits: settings.limits,
|
||||
}).model(id)
|
||||
}).model(modelID)
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ export const provider = {
|
|||
configure,
|
||||
}
|
||||
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) =>
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) =>
|
||||
configure({
|
||||
apiKey: settings.apiKey,
|
||||
baseURL: settings.baseURL,
|
||||
|
|
@ -71,7 +71,7 @@ export const model: ProviderPackage.Definition<Settings>["model"] = (id, setting
|
|||
http: settings.body === undefined ? undefined : { body: { ...settings.body } },
|
||||
limits: settings.limits,
|
||||
provider: settings.provider,
|
||||
}).model(id)
|
||||
}).model(modelID)
|
||||
|
||||
export const baseten = define(profiles.baseten)
|
||||
export const cerebras = define(profiles.cerebras)
|
||||
|
|
|
|||
|
|
@ -76,15 +76,15 @@ const config = (settings: Settings): Config => ({
|
|||
queryParams: settings.queryParams === undefined ? undefined : { ...settings.queryParams },
|
||||
})
|
||||
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (id, settings) => {
|
||||
export const model: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) => {
|
||||
const configured = configure(config(settings))
|
||||
if (settings.transport === undefined || settings.transport === "http") return configured.responses(id)
|
||||
if (settings.transport === "websocket") return configured.responsesWebSocket(id)
|
||||
if (settings.transport === undefined || settings.transport === "http") return configured.responses(modelID)
|
||||
if (settings.transport === "websocket") return configured.responsesWebSocket(modelID)
|
||||
throw new Error(`Unsupported OpenAI Responses transport: ${String(settings.transport)}`)
|
||||
}
|
||||
|
||||
export const chatModel: ProviderPackage.Definition<Settings>["model"] = (id, settings) =>
|
||||
configure(config(settings)).chat(id)
|
||||
export const chatModel: ProviderPackage.Definition<Settings>["model"] = (modelID, settings) =>
|
||||
configure(config(settings)).chat(modelID)
|
||||
export const responses = provider.responses
|
||||
export const responsesWebSocket = provider.responsesWebSocket
|
||||
export const chat = provider.chat
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue