大模型 API 调用入门:让你的应用拥有 AI 能力
为什么需要直接调用模型 API
Cursor 里的 AI 只能帮你写代码。但如果你想让你的应用本身拥有 AI 能力呢?
比如:
- 你的博客需要 AI 自动生成摘要
- 你的聊天应用需要接入 AI 对话
- 你的工具需要 AI 分析用户输入
这时候,你就需要在代码里调用大模型 API。
快速上手:调用 OpenAI API
1. 获取 API Key
打开 https://platform.openai.com → 注册 → API Keys → 创建 Key
2. 安装 SDK
npm install openai
3. 发送第一个请求
创建 test-openai.js:
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
async function main() {
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [
{ role: 'system', content: '你是一个友好的助手。' },
{ role: 'user', content: '用一句话介绍 AI 编程。' },
],
temperature: 0.7,
});
console.log(response.choices[0].message.content);
}
main();
运行:
OPENAI_API_KEY=sk-xxx node test-openai.js
你会看到 AI 的回复。
🎯 现在就试:做一个 AI 问答工具
用 10 行代码做一个命令行 AI 助手:
import OpenAI from 'openai';
import readline from 'readline';
const client = new OpenAI({
apiKey: process.env.OPENAI_API_KEY,
});
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
async function ask(question) {
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: question }],
});
console.log('\n🤖 AI:', response.choices[0].message.content);
rl.question('\n你问: ', ask);
}
rl.question('你问: ', ask);
运行后,你就可以在终端里和 AI 聊天了!
调用 Claude API
npm install @anthropic-ai/sdk
import Anthropic from '@anthropic-ai/sdk';
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
const msg = await client.messages.create({
model: 'claude-sonnet-4-20250514',
max_tokens: 1024,
messages: [
{ role: 'user', content: '用一句话介绍 Vibe Coding。' }
],
});
console.log(msg.content[0].text);
使用 OpenRouter(推荐)
一个 API Key 调用 200+ 模型,按量付费:
npm install openai # OpenRouter 兼容 OpenAI SDK
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://openrouter.ai/api/v1',
apiKey: process.env.OPENROUTER_API_KEY,
defaultHeaders: {
'HTTP-Referer': 'https://yourapp.com',
'X-Title': 'Your App Name',
},
});
const response = await client.chat.completions.create({
model: 'openai/gpt-4o',
messages: [{ role: 'user', content: '你好!' }],
});
console.log(response.choices[0].message.content);
OpenRouter 的优势:
- 一个 Key 解锁所有模型
- 无需分别注册多个平台
- 自动路由到最便宜的提供商
- 模型列表:https://openrouter.ai/models
API 调用的核心概念
System Prompt(系统提示词)
设定 AI 的角色和行为:
{ role: 'system', content: '你是一个专业的代码审查助手。指出代码中的问题并给出修改建议。' }
Temperature(温度)
控制输出的”创造力”:
| 值 | 效果 | 适用场景 |
|---|---|---|
| 0 - 0.3 | 严谨、一致 | 代码生成、数据分析 |
| 0.5 - 0.8 | 平衡 | 一般对话、内容创作 |
| 0.9 - 1.5 | 创意、发散 | 头脑风暴、创意写作 |
Max Tokens(最大输出长度)
控制 AI 回复的最大长度。1 个 token ≈ 0.75 个中文字。
多轮对话
API 本身是无状态的,你需要自己维护对话历史:
const messages = [
{ role: 'system', content: '你是助手。' },
{ role: 'user', content: '我叫小明。' },
{ role: 'assistant', content: '你好小明!' },
{ role: 'user', content: '我叫什么名字?' },
];
// 把整个 messages 数组发给 API,AI 才能记住上下文
实战:做一个 AI 对话组件
在 Vue 项目中,创建一个 AI 对话组件:
<script setup>
import { ref } from 'vue';
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://openrouter.ai/api/v1',
apiKey: import.meta.env.VITE_OPENROUTER_KEY,
dangerouslyAllowBrowser: true,
});
const input = ref('');
const messages = ref([]);
const loading = ref(false);
async function send() {
if (!input.value.trim()) return;
messages.value.push({ role: 'user', content: input.value });
input.value = '';
loading.value = true;
try {
const res = await client.chat.completions.create({
model: 'openai/gpt-4o',
messages: [
{ role: 'system', content: '你是一个友好的编程助手。' },
...messages.value,
],
});
messages.value.push({
role: 'assistant', content: res.choices[0].message.content,
});
} finally {
loading.value = false;
}
}
</script>
API 调用最佳实践
1. API Key 放在环境变量里
# .env 文件
OPENAI_API_KEY=sk-xxx
永远不要把 API Key 提交到 GitHub!
2. 加错误处理
try {
const res = await client.chat.completions.create({ ... });
} catch (error) {
if (error.status === 429) {
console.log('请求太频繁,稍等再试');
} else if (error.status === 401) {
console.log('API Key 无效');
}
}
3. 控制成本
- 用
max_tokens限制输出长度 - 选择合适的模型(GPT-4o-mini 比 GPT-4o 便宜 10 倍)
- 缓存常见问题的回复
✅ 你做到了
学完这篇文章,你应该能:
- ✅ 注册了至少一个模型 API(OpenAI / OpenRouter)
- ✅ 用 Node.js 代码成功调用了一次 API
- ✅ 运行了终端 AI 聊天工具
- ✅ 理解了 System Prompt、Temperature、多轮对话
- ✅ 知道怎么在项目里安全地管理 API Key
| 使用场景 | 推荐方式 |
|---|---|
| 写代码时用 AI | Cursor 内置模型 |
| 应用内调用 AI | OpenRouter + OpenAI SDK |
| 省钱 | DeepSeek API(中文性价比最高) |
| 快速原型 | OpenRouter 一个 Key 搞定 |
下一篇我们聊聊 AI 的能力边界——哪些适合做,哪些要小心。