Files
wehub-resource-sync 0d3cb498a3
Deploy local.promptfoo.app / Deploy to Cloudflare Pages (push) Waiting to run
Test and Publish Multi-arch Docker Image / test (push) Waiting to run
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-amd64 platform:linux/amd64 runner:ubuntu-latest]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / build-docker-and-push-digests (map[digest-suffix:linux-arm64 platform:linux/arm64 runner:ubuntu-24.04-arm]) (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / merge-docker-digests (push) Blocked by required conditions
Test and Publish Multi-arch Docker Image / Attest Multi-arch Image (push) Blocked by required conditions
Validate Renovate Config / Validate Renovate Configuration (push) Waiting to run
CI / Shell Format Check (push) Has been cancelled
CI / Check Ruby (3.4) (push) Has been cancelled
CI / CI Config (push) Has been cancelled
CI / Test on Node ${{ matrix.node }} and ${{ matrix.os }}${{ matrix.shard && format(' (shard {0}/3)', matrix.shard) || '' }} (push) Has been cancelled
CI / Build on Node ${{ matrix.node }} (push) Has been cancelled
CI / Style Check (push) Has been cancelled
CI / Generate Assets (push) Has been cancelled
CI / Check Python (3.14) (push) Has been cancelled
CI / Check Python (3.9) (push) Has been cancelled
CI / Build Docs (push) Has been cancelled
CI / Code Scan Action (push) Has been cancelled
CI / Site tests (push) Has been cancelled
CI / webui tests (push) Has been cancelled
CI / Run Integration Tests (push) Has been cancelled
CI / Run Smoke Tests (push) Has been cancelled
CI / Go Tests (push) Has been cancelled
CI / Share Test (push) Has been cancelled
CI / Redteam (Production API) (push) Has been cancelled
CI / Redteam (Staging API) (push) Has been cancelled
CI / GitHub Actions Lint (push) Has been cancelled
CI / Check Ruby (3.0) (push) Has been cancelled
release-please / release-please (push) Has been cancelled
release-please / build (push) Has been cancelled
release-please / publish-npm (push) Has been cancelled
release-please / publish-npm-backfill (push) Has been cancelled
release-please / docker (push) Has been cancelled
release-please / publish-code-scan-action (push) Has been cancelled
release-please / attest-code-scan-action (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:24:08 +08:00

83 lines
2.7 KiB
JavaScript

/**
* Example transform function for SageMaker endpoints
* This file demonstrates how to transform prompts for SageMaker models
*/
/**
* Default export transformation function for SageMaker
* This function will be used when importing this file without a specific function name
*
* @param {string|object} promptOrJson - The raw prompt text or JSON object from the response
* @param {object} context - Contains configuration and variables
* @returns {string|object} - Transformed prompt or processed response
*/
module.exports = function (promptOrJson, context) {
// Check if this is being used for prompt transformation (input is a string)
if (typeof promptOrJson === 'string') {
// Format for a JumpStart model by default
return {
inputs: promptOrJson,
parameters: {
max_new_tokens: context?.config?.maxTokens || 256,
temperature: context?.config?.temperature || 0.7,
top_p: context?.config?.topP || 0.9,
do_sample: true,
},
};
}
// Otherwise, this is being used for response transformation (input is a JSON object)
else {
// Extract the generated text from the response
const generatedText =
promptOrJson.generated_text ||
(Array.isArray(promptOrJson) && promptOrJson[0]?.generated_text) ||
promptOrJson.text ||
promptOrJson;
// Return the extracted text with additional metadata
return {
output: typeof generatedText === 'string' ? generatedText : JSON.stringify(generatedText),
source: 'SageMaker',
model_type: context?.config?.modelType || 'custom',
timestamp: new Date().toISOString(),
};
}
};
/**
* Format a prompt for a JumpStart Llama model
* @param {string} prompt The raw prompt text
* @param {object} context Contains configuration details
* @returns {object} Formatted payload for JumpStart Llama
*/
module.exports.formatLlamaPayload = function (prompt, context) {
return {
inputs: prompt,
parameters: {
max_new_tokens: context?.config?.maxTokens || 256,
temperature: context?.config?.temperature || 0.7,
top_p: context?.config?.topP || 0.9,
do_sample: true,
},
};
};
/**
* Format a prompt for a Hugging Face Mistral model
* @param {string} prompt The raw prompt text
* @param {object} context Contains configuration details
* @returns {object} Formatted payload for Hugging Face Mistral
*/
module.exports.formatMistralPayload = function (prompt, context) {
return {
inputs: prompt,
parameters: {
max_new_tokens: context?.config?.maxTokens || 256,
temperature: context?.config?.temperature || 0.7,
top_p: context?.config?.topP || 0.9,
do_sample: true,
return_full_text: false,
},
};
};