mastra-browser-core
Version:
The core foundation of the Mastra framework, providing essential components and interfaces for building AI-powered applications.
69 lines (62 loc) • 2.39 kB
JavaScript
import { Agent } from './chunk-JENCNGOR.js';
import { __name, __publicField } from './chunk-WH5OY6PO.js';
import { CohereClient } from 'cohere-ai';
var _CohereRelevanceScorer = class _CohereRelevanceScorer {
constructor(model, apiKey) {
__publicField(this, "client");
__publicField(this, "model");
this.client = new CohereClient({
token: apiKey || process.env.COHERE_API_KEY || ""
});
this.model = model;
}
async getRelevanceScore(query, text) {
const response = await this.client.rerank({
query,
documents: [text],
model: this.model,
topN: 1
});
return response.results[0].relevanceScore;
}
};
__name(_CohereRelevanceScorer, "CohereRelevanceScorer");
var CohereRelevanceScorer = _CohereRelevanceScorer;
// src/relevance/relevance-score-provider.ts
function createSimilarityPrompt(query, text) {
return `Rate the semantic similarity between the following the query and the text on a scale from 0 to 1 (decimals allowed), where 1 means exactly the same meaning and 0 means completely different:
Query: ${query}
Text: ${text}
Relevance score (0-1):`;
}
__name(createSimilarityPrompt, "createSimilarityPrompt");
// src/relevance/mastra-agent/index.ts
var _MastraAgentRelevanceScorer = class _MastraAgentRelevanceScorer {
constructor(name, model) {
__publicField(this, "agent");
this.agent = new Agent({
name: `Relevance Scorer ${name}`,
instructions: `You are a specialized agent for evaluating the relevance of text to queries.
Your task is to rate how well a text passage answers a given query.
Output only a number between 0 and 1, where:
1.0 = Perfectly relevant, directly answers the query
0.0 = Completely irrelevant
Consider:
- Direct relevance to the question
- Completeness of information
- Quality and specificity
Always return just the number, no explanation.`,
model
});
}
async getRelevanceScore(query, text) {
const prompt = createSimilarityPrompt(query, text);
const response = await this.agent.generate(prompt);
return parseFloat(response.text);
}
};
__name(_MastraAgentRelevanceScorer, "MastraAgentRelevanceScorer");
var MastraAgentRelevanceScorer = _MastraAgentRelevanceScorer;
export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt };
//# sourceMappingURL=chunk-AR4WWOVI.js.map
//# sourceMappingURL=chunk-AR4WWOVI.js.map