aisapi
Version:
A JavaScript/TypeScript API library for multiple AI providers
118 lines • 5.19 kB
JavaScript
"use strict";
/**
* AisAPI类集成中国AI大模型示例
*
* 此示例展示如何使用AisAPI类统一管理和调用多个中国AI大模型提供商。
*
* 运行此示例前,请确保设置环境变量:
* 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
*/
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
},
// 设置默认提供商为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('=== 切换默认提供商到智谱AI ===');
ais.setDefaultProvider('zhipu');
console.log('新的默认提供商:', (_b = ais.getDefaultProvider()) === null || _b === void 0 ? void 0 : _b.name);
const response5 = yield ais.generateText({
prompt: '中文大语言模型的未来发展趋势',
maxTokens: 300,
temperature: 0.7
});
console.log(response5.text);
console.log('\n');
// 使用同一提供商生成JSON格式响应
console.log('=== 生成JSON格式响应 ===');
const response6 = yield ais.generateJSON({
prompt: '列出5个中国城市及其著名景点,以JSON格式返回',
temperature: 0.2
});
console.log(JSON.stringify(response6, null, 2));
console.log('\n');
}
catch (error) {
console.error('发生错误:', error);
}
});
}
// 执行主函数
main().catch(console.error);
//# sourceMappingURL=example-aisapi.js.map