# 智能算法展示平台JavaScript SDK 本SDK提供了与智能算法展示平台API交互的JavaScript客户端,支持算法调用、仿真数据生成等功能。 ## 安装 ### 从源码安装 ```bash cd sdk/javascript npm install npm link ``` ### 从npm安装 ```bash npm install algorithm-showcase-sdk ``` ## 使用示例 ### 1. 初始化客户端 ```javascript const AlgorithmShowcaseClient = require('algorithm-showcase-sdk'); // 初始化客户端 const client = new AlgorithmShowcaseClient( 'http://localhost:8000/api/v1', // API基础URL 'your-api-key' // 可选,API密钥 ); ``` ### 2. 获取算法列表 ```javascript // 获取所有算法 async function getAlgorithms() { try { const algorithms = await client.getAlgorithms(); // 打印算法信息 algorithms.forEach(algo => { console.log(`算法ID: ${algo.id}`); console.log(`算法名称: ${algo.name}`); console.log(`算法描述: ${algo.description}`); console.log(`算法类型: ${algo.type}`); console.log('---'); }); } catch (error) { console.error('获取算法列表失败:', error.message); } } // 获取特定类型的算法 async function getAlgorithmsByType() { try { const algorithms = await client.getAlgorithms('computer_vision'); console.log('计算机视觉算法:', algorithms); } catch (error) { console.error('获取算法列表失败:', error.message); } } getAlgorithms(); ``` ### 3. 获取算法详情 ```javascript // 获取算法详情 async function getAlgorithmDetail() { try { const algorithm = await client.getAlgorithm('algorithm-123456'); console.log(`算法ID: ${algorithm.id}`); console.log(`算法名称: ${algorithm.name}`); console.log(`算法描述: ${algorithm.description}`); console.log(`算法类型: ${algorithm.type}`); console.log('版本信息:'); algorithm.versions.forEach(version => { console.log(` - 版本: ${version.version} (默认: ${version.is_default})`); console.log(` URL: ${version.url}`); console.log(` 参数: ${JSON.stringify(version.params)}`); }); } catch (error) { console.error('获取算法详情失败:', error.message); } } getAlgorithmDetail(); ``` ### 4. 调用算法 ```javascript // 调用算法 async function callAlgorithm() { try { // 准备输入数据 const inputData = { text: '这是一段测试文本' }; // 准备算法参数 const params = { confidence_threshold: 0.5, model_name: 'resnet50' }; // 调用算法 const result = await client.callAlgorithm( 'algorithm-123456', 'version-123456', inputData, params ); console.log(`调用ID: ${result.id}`); console.log(`状态: ${result.status}`); console.log(`响应时间: ${result.response_time} 秒`); console.log(`输出数据: ${JSON.stringify(result.output_data)}`); } catch (error) { console.error('调用算法失败:', error.message); } } callAlgorithm(); ``` ### 5. 获取调用结果 ```javascript // 获取调用结果 async function getCallResult() { try { const result = await client.getCallResult('call-123456'); console.log(`调用ID: ${result.id}`); console.log(`状态: ${result.status}`); console.log(`响应时间: ${result.response_time} 秒`); console.log(`输出数据: ${JSON.stringify(result.output_data)}`); } catch (error) { console.error('获取调用结果失败:', error.message); } } getCallResult(); ``` ### 6. 生成仿真输入数据 ```javascript // 生成仿真输入数据 async function generateSimulationData() { try { // 生成文本数据 const textData = await client.generateSimulationData( '生成一段关于人工智能的新闻文本', 'text' ); console.log('生成的文本:', textData.data); // 生成结构化数据 const structuredData = await client.generateSimulationData( '生成一个包含姓名、年龄、职业的用户信息', 'structured' ); console.log('生成的结构化数据:', structuredData.data); } catch (error) { console.error('生成仿真数据失败:', error.message); } } generateSimulationData(); ``` ## API文档 ### 核心方法 - `getAlgorithms(type)`: 获取算法列表 - `getAlgorithm(algorithmId)`: 获取算法详情 - `getAlgorithmVersions(algorithmId)`: 获取算法版本列表 - `callAlgorithm(algorithmId, versionId, inputData, params)`: 调用算法 - `getCallResult(callId)`: 获取调用结果 - `generateSimulationData(prompt, dataType)`: 生成仿真输入数据 ## 错误处理 SDK会捕获API请求中的错误,并抛出异常。建议在使用时添加异常处理: ```javascript try { const result = await client.callAlgorithm(...); console.log('调用成功:', result); } catch (error) { console.error('调用失败:', error.message); } ``` ## 版本兼容性 - Node.js 12+ - axios 1.6.0+ ## 浏览器兼容性 本SDK基于axios,支持现代浏览器。在浏览器环境中使用时,需要注意跨域问题。 ## 许可证 MIT License