( query: string, embeddingModel: string = DEFAULT_EMBEDDING_MODEL, workspaceId?: string | null )
| 397 | * Generate embedding for a single search query. |
| 398 | */ |
| 399 | export async function generateSearchEmbedding( |
| 400 | query: string, |
| 401 | embeddingModel: string = DEFAULT_EMBEDDING_MODEL, |
| 402 | workspaceId?: string | null |
| 403 | ): Promise<{ embedding: number[]; isBYOK: boolean }> { |
| 404 | const provider = await resolveProvider(embeddingModel, workspaceId) |
| 405 | |
| 406 | logger.info(`Using ${provider.modelName} for search embedding generation`) |
| 407 | |
| 408 | const { embeddings } = await callEmbeddingAPI([query], provider, 'query') |
| 409 | return { embedding: embeddings[0], isBYOK: provider.isBYOK } |
| 410 | } |
| 411 | |
| 412 | /** |
| 413 | * Records a query embedding's hosted-key cost for callers that generate a search |
no test coverage detected