AisAPI - 多AI大模型统一接口
AisAPI - Multi-AI Model Unified Interface

AisAPI是一个让你轻松对接多种AI大模型的库,提供统一的接口来调用OpenAI、Claude、Gemini、文心一言等国内外主流大模型服务。
AisAPI is a library that allows you to easily connect to various AI models, providing a unified interface to call mainstream AI services such as OpenAI, Claude, Gemini, ERNIE, and more.
特点 | Features
- 统一接口:用同样的代码调用不同的AI服务
- Unified Interface: Use the same code to call different AI services
支持多种AI:
- 国际服务:OpenAI (GPT)、Anthropic (Claude)、Google (Gemini)、DeepSeek、Grok
- 国内服务:文心一言 (ERNIE)、讯飞星火 (Spark)、智谱 (ChatGLM)、Moonshot (Kimi)、豆包
Multiple AI Support:
- International services: OpenAI (GPT), Anthropic (Claude), Google (Gemini), DeepSeek, Grok
- Chinese services: Baidu ERNIE, iFlytek Spark, Zhipu ChatGLM, Moonshot (Kimi), Doubao
丰富功能:
- 文本生成和聊天对话
- 图像生成和编辑
- 语音转文本、文本转语音
- 向量嵌入、JSON格式输出
- 流式生成(边生成边返回)
Rich Features:
- Text generation and chat dialogues
- Image generation and editing
- Speech-to-text, text-to-speech
- Vector embeddings, JSON output
- Streaming generation (returning content as it's generated)
- 开发友好:完整TypeScript类型支持,简单易用的API
- Developer Friendly: Complete TypeScript type support, simple and easy-to-use API
安装 | Installation
npm install aisapi
快速开始 | Quick Start
方式1:使用统一接口 | Method 1: Using the Unified Interface
import { AisAPI } from 'aisapi';
const ai = new AisAPI({
openai: {
apiKey: process.env.OPENAI_API_KEY
},
anthropic: {
apiKey: process.env.ANTHROPIC_API_KEY
},
defaultProvider: 'openai'
});
const result = await ai.generateText({
prompt: '请解释什么是人工智能',
maxTokens: 100
});
console.log(result.text);
const claudeResult = await ai.generateText({
prompt: '请解释什么是人工智能',
maxTokens: 100
}, 'anthropic');
console.log(claudeResult.text);
方式2:直接使用特定AI | Method 2: Directly Using Specific AI
import { GPT, Claude, Gemini } from 'aisapi';
const gpt = new GPT({
apiKey: process.env.OPENAI_API_KEY,
model: 'gpt-4'
});
const result = await gpt.generateText({
prompt: '什么是机器学习?',
temperature: 0.7
});
console.log(result.text);
功能示例 | Feature Examples
聊天对话 | Chat Dialogue
const chatResult = await gpt.chatCompletion({
model: 'gpt-4',
messages: [
{ role: 'system', content: '你是一个专业的科技顾问。' },
{ role: 'user', content: '请比较React和Vue的优缺点?' }
]
});
console.log(chatResult.text);
图像生成 | Image Generation
const imageResult = await gpt.generateImage({
prompt: '一只宇航员猫咪在太空中漂浮',
size: '1024x1024',
model: 'dall-e-3'
});
console.log('图像URL:', imageResult.urls[0]);
流式生成(边生成边返回)| Streaming Generation
const stream = await gpt.createStreamingChatCompletion({
model: 'gpt-3.5-turbo',
messages: [{ role: 'user', content: '讲一个短故事' }]
});
const reader = stream.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const chunk = new TextDecoder().decode(value);
process.stdout.write(chunk);
}
国内AI服务示例 | Chinese AI Service Examples
文心一言 | ERNIE Bot
import { Ernie, ErnieModel } from 'aisapi';
const ernie = new Ernie({
apiKey: process.env.ERNIE_API_KEY,
secretKey: process.env.ERNIE_SECRET_KEY,
model: ErnieModel.ERNIE_BOT_4
});
const result = await ernie.generateText({
prompt: '以"春风"为主题,写一首现代诗',
temperature: 0.8
});
console.log(result.text);
讯飞星火 | Spark
import { Spark, SparkModel } from 'aisapi';
const spark = new Spark({
apiKey: process.env.SPARK_API_KEY,
appId: process.env.SPARK_APP_ID,
apiSecret: process.env.SPARK_API_SECRET,
model: SparkModel.SPARK_MAX
});
const result = await spark.generateText({
prompt: '解释一下Transformer架构的工作原理'
});
console.log(result.text);
高级功能 | Advanced Features
const jsonResult = await gpt.generateJSON({
prompt: '生成三个虚构人物的数据,包含姓名、年龄和职业'
});
console.log(JSON.stringify(jsonResult.data, null, 2));
向量嵌入 | Vector Embeddings
const embedding = await gpt.createEmbedding({
model: 'text-embedding-3-small',
input: '这是一个示例文本'
});
console.log(`嵌入维度: ${embedding.data[0].embedding.length}`);
语音转文本 | Speech to Text
const transcription = await gpt.transcribeAudio({
file: audioFile,
model: 'whisper-1',
language: 'zh'
});
console.log('识别结果:', transcription.text);
文本转语音 | Text to Speech
const speech = await gpt.textToSpeech({
input: '你好,这是一个文本转语音的示例。',
model: 'tts-1',
voice: 'alloy'
});
支持的AI服务及功能 | Supported AI Services and Features
功能 Features |
OpenAI |
Claude |
Gemini |
DeepSeek |
ERNIE |
Spark |
ChatGLM |
Moonshot |
Doubao |
Grok |
文本生成 Text Generation |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
图像生成 Image Generation |
✅ |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
聊天对话 Chat Dialogue |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
语音识别 Speech Recognition |
✅ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
语音合成 Speech Synthesis |
✅ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
向量嵌入 Vector Embeddings |
✅ |
❌ |
❌ |
✅ |
❌ |
❌ |
❌ |
❌ |
❌ |
❌ |
JSON输出 JSON Output |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
流式输出 Streaming Output |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
提供商配置参数 | Provider Configuration Parameters
下表列出了各提供商的配置参数,可选参数前标有"?",并提供默认值。
The table below lists the configuration parameters for each provider, with optional parameters marked with "?" and their default values.
OpenAI 配置参数 | OpenAI Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'gpt-3.5-turbo' |
?baseURL |
自定义API地址| Custom API URL |
'https://api.openai.com/v1' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
30000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
?organization |
组织ID| Organization ID |
undefined |
Anthropic (Claude) 配置参数 | Anthropic Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'claude-3-haiku-20240307' |
?baseURL |
自定义API地址| Custom API URL |
'https://api.anthropic.com' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
Google Gemini 配置参数 | Google Gemini Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'gemini-pro' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
30000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
?region |
API区域| API region |
'us-central1' |
DeepSeek 配置参数 | DeepSeek Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'deepseek-chat' |
?baseURL |
自定义API地址| Custom API URL |
'https://api.deepseek.com/v1' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
30000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
文心一言 (ERNIE) 配置参数 | ERNIE Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
secretKey |
密钥| Secret Key |
- |
?model |
模型名称| Model name |
'ernie-bot-4' |
?baseURL |
自定义API地址| Custom API URL |
'https://aip.baidubce.com' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
?accessTokenLifetime |
访问令牌有效期(秒)| Access token lifetime (seconds) |
2592000 (30天|days) |
讯飞星火 (Spark) 配置参数 | iFlytek Spark Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
appId |
应用ID| Application ID |
- |
apiSecret |
API密钥| API Secret |
- |
?model |
模型名称| Model name |
'spark-v3.5' |
?domain |
服务域名| Service domain |
'general' |
?baseURL |
自定义API地址| Custom API URL |
'wss://spark-api.xf-yun.com/v3.5/chat' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
智谱 (ChatGLM) 配置参数 | Zhipu ChatGLM Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'glm-4' |
?baseURL |
自定义API地址| Custom API URL |
'https://open.bigmodel.cn/api/paas/v4' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
Moonshot (Kimi) 配置参数 | Moonshot Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'moonshot-v1-8k' |
?baseURL |
自定义API地址| Custom API URL |
'https://api.moonshot.cn/v1' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
豆包 (Doubao) 配置参数 | Doubao Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'doubao-pro' |
?baseURL |
自定义API地址| Custom API URL |
'https://api.doubao.com/v1' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
Grok 配置参数 | Grok Configuration Parameters
参数 Parameter |
说明 Description |
默认值 Default Value |
apiKey |
API密钥| API Key |
- |
?model |
模型名称| Model name |
'grok-1' |
?baseURL |
自定义API地址| Custom API URL |
'https://api.grok.ai/v1' |
?timeout |
请求超时时间(毫秒)| Request timeout (ms) |
60000 |
?maxRetries |
最大重试次数| Maximum retry attempts |
2 |
提供商列表 | Provider List
贡献 | Contributing
欢迎贡献!请按照以下步骤:
Contributions are welcome! Please follow these steps:
- Fork本项目 | Fork this project
- 创建功能分支 | Create a feature branch (
git checkout -b feature/amazing-feature
)
- 提交修改 | Commit your changes (
git commit -m 'Add some amazing feature'
)
- 推送到分支 | Push to the branch (
git push origin feature/amazing-feature
)
- 创建Pull Request | Create a Pull Request
许可证 | License
本项目采用MIT许可证 - 详见LICENSE文件。
This project is licensed under the MIT License - see the LICENSE file for details.