Andrew commited on
Commit
d0901fb
·
1 Parent(s): b13e794

(feat) Allow per-call api keys in default generation

Browse files
src/lib/server/generateFromDefaultEndpoint.ts CHANGED
@@ -7,17 +7,19 @@ export async function* generateFromDefaultEndpoint({
7
  preprompt,
8
  generateSettings,
9
  modelId,
 
10
  }: {
11
  messages: EndpointMessage[];
12
  preprompt?: string;
13
  generateSettings?: Record<string, unknown>;
14
  /** Optional: use this model instead of the default task model */
15
  modelId?: string;
 
16
  }): AsyncGenerator<MessageUpdate, string, undefined> {
17
  try {
18
  // Choose endpoint based on provided modelId, else fall back to taskModel
19
  const model = modelId ? (models.find((m) => m.id === modelId) ?? taskModel) : taskModel;
20
- const endpoint = await model.getEndpoint();
21
  const tokenStream = await endpoint({ messages, preprompt, generateSettings });
22
 
23
  for await (const output of tokenStream) {
 
7
  preprompt,
8
  generateSettings,
9
  modelId,
10
+ apiKey,
11
  }: {
12
  messages: EndpointMessage[];
13
  preprompt?: string;
14
  generateSettings?: Record<string, unknown>;
15
  /** Optional: use this model instead of the default task model */
16
  modelId?: string;
17
+ apiKey?: string;
18
  }): AsyncGenerator<MessageUpdate, string, undefined> {
19
  try {
20
  // Choose endpoint based on provided modelId, else fall back to taskModel
21
  const model = modelId ? (models.find((m) => m.id === modelId) ?? taskModel) : taskModel;
22
+ const endpoint = await model.getEndpoint(apiKey ? { apiKey } : undefined);
23
  const tokenStream = await endpoint({ messages, preprompt, generateSettings });
24
 
25
  for await (const output of tokenStream) {