Skip to content

Commit

Permalink
modelMatches allows specifying modelProvider, a single item or an array.
Browse files Browse the repository at this point in the history
At least one must match.

Part of #5.
  • Loading branch information
jkomoros committed Jan 6, 2024
1 parent 085017c commit 8f5b37e
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
7 changes: 7 additions & 0 deletions src/llm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,13 @@ const modelMatches = (model : CompletionModelID, opts : PromptOptions = {}) : bo
if (contextSizeAtLeast < 0) continue;
if (modelInfo.maxTokens < contextSizeAtLeast) return false;
break;
case 'modelProvider':
let modelProvider = requirements.modelProvider;
if (!modelProvider) continue;
if (!Array.isArray(modelProvider)) modelProvider = [modelProvider];
const [provider] = extractModel(model);
if (!modelProvider.includes(provider)) return false;
break;
default:
assertUnreachable(key);
}
Expand Down
3 changes: 2 additions & 1 deletion src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,8 @@ export type PromptOptions = {
modelRequirements? : {
jsonResponse? : boolean,
imageInput?: boolean
contextSizeAtLeast? : number
contextSizeAtLeast? : number,
modelProvider? : ModelProvider | ModelProvider[]
},
debugLogger? : Logger
};
Expand Down

0 comments on commit 8f5b37e

Please sign in to comment.