UNPKG

aisapi

Version:

A JavaScript/TypeScript API library for multiple AI providers

152 lines 6.73 kB
"use strict"; /** * AisAPI类集成中国AI大模型示例 (更新版) * * 此示例展示如何使用AisAPI类统一管理和调用多个中国AI大模型提供商, * 包括最新集成的阿里巴巴千问(Qwen)。 * * 运行此示例前,请确保设置环境变量: * MOONSHOT_API_KEY=your_moonshot_api_key * SPARK_API_KEY=your_spark_api_key * SPARK_APP_ID=your_spark_app_id * SPARK_API_SECRET=your_spark_secret * ZHIPU_API_KEY=your_zhipu_api_key * ERNIE_API_KEY=your_ernie_api_key * ERNIE_SECRET_KEY=your_ernie_secret_key * QWEN_API_KEY=your_qwen_api_key */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const index_1 = require("./index"); function main() { return __awaiter(this, void 0, void 0, function* () { var _a, _b; // 创建AisAPI实例,配置多个中国AI提供商 const ais = new index_1.AisAPI({ moonshot: { apiKey: process.env.MOONSHOT_API_KEY, model: 'moonshot-v1-8k' }, spark: { apiKey: process.env.SPARK_API_KEY, appId: process.env.SPARK_APP_ID, apiSecret: process.env.SPARK_API_SECRET, model: index_1.SparkModel.PRO }, zhipu: { apiKey: process.env.ZHIPU_API_KEY, model: index_1.ZhipuModel.GLM_3_TURBO }, ernie: { apiKey: process.env.ERNIE_API_KEY, secretKey: process.env.ERNIE_SECRET_KEY, model: index_1.ErnieModel.ERNIE_BOT }, qwen: { apiKey: process.env.QWEN_API_KEY, model: index_1.QwenModel.TURBO }, // 设置默认提供商为Moonshot (Kimi) defaultProvider: 'moonshot' }); try { // 显示可用的提供商 console.log('已配置的AI提供商:', ais.getProviders()); console.log('默认提供商:', (_a = ais.getDefaultProvider()) === null || _a === void 0 ? void 0 : _a.name); console.log('\n'); // 使用默认提供商(Moonshot)生成文本 console.log('=== 使用默认提供商(Moonshot) ==='); const response1 = yield ais.generateText({ prompt: '用简洁的语言解释什么是向量数据库', maxTokens: 200 }); console.log(response1.text); console.log('\n'); // 使用讯飞星火生成文本 console.log('=== 使用讯飞星火 ==='); const response2 = yield ais.generateText({ prompt: '用简洁的语言解释什么是向量数据库', maxTokens: 200 }, 'spark'); console.log(response2.text); console.log('\n'); // 使用智谱AI生成文本 console.log('=== 使用智谱AI ==='); const response3 = yield ais.generateText({ prompt: '用简洁的语言解释什么是向量数据库', maxTokens: 200 }, 'zhipu'); console.log(response3.text); console.log('\n'); // 使用百度文心一言生成文本 console.log('=== 使用百度文心一言 ==='); const response4 = yield ais.generateText({ prompt: '用简洁的语言解释什么是向量数据库', maxTokens: 200 }, 'ernie'); console.log(response4.text); console.log('\n'); // 使用阿里巴巴千问生成文本 console.log('=== 使用阿里巴巴千问 ==='); const response5 = yield ais.generateText({ prompt: '用简洁的语言解释什么是向量数据库', maxTokens: 200 }, 'qwen'); console.log(response5.text); console.log('\n'); // 切换默认提供商并使用 console.log('=== 切换默认提供商到千问 ==='); ais.setDefaultProvider('qwen'); console.log('新的默认提供商:', (_b = ais.getDefaultProvider()) === null || _b === void 0 ? void 0 : _b.name); const response6 = yield ais.generateText({ prompt: '中文大语言模型的未来发展趋势', maxTokens: 300, temperature: 0.7 }); console.log(response6.text); console.log('\n'); // 使用同一提供商生成JSON格式响应 console.log('=== 生成JSON格式响应 ==='); const response7 = yield ais.generateJSON({ prompt: '列出5个中国城市及其著名景点,以JSON格式返回', temperature: 0.2 }); console.log(JSON.stringify(response7, null, 2)); console.log('\n'); // 多提供商对比测试 console.log('=== 多提供商对比测试 ==='); const testQuestion = '如果你要推荐一个中国的旅游城市,你会推荐哪里?为什么?'; console.log(`问题: ${testQuestion}\n`); // 遍历所有提供商进行回答 for (const providerName of ais.getProviders()) { console.log(`--- ${providerName} 的回答 ---`); try { const response = yield ais.generateText({ prompt: testQuestion, maxTokens: 250, temperature: 0.7 }, providerName); console.log(response.text); console.log('\n'); } catch (error) { console.error(`${providerName} 响应错误:`, error); } } } catch (error) { console.error('发生错误:', error); } }); } // 执行主函数 main().catch(console.error); //# sourceMappingURL=example-aisapi-updated.js.map