2.2 第一个 AI 对话程序

概述

本节我们将实现第一个可以与 AI 对话的简单程序。这是整个 AI Agent 的起点。

代码实现

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import OpenAI from 'openai';

const openai = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: 'https://api.deepseek.com/v1'
});

async function main() {
const userInput = '你好,请介绍一下你自己。';

const response = await openai.chat.completions.create({
model: 'deepseek-chat',
messages: [
{ role: 'system', content: '你是一个友好的 AI 助手。' },
{ role: 'user', content: userInput }
]
});

console.log('助手:', response.choices[0].message.content);
}

main();

交互式版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import OpenAI from 'openai';
import readline from 'readline';

const openai = new OpenAI({
apiKey: process.env.DEEPSEEK_API_KEY,
baseURL: 'https://api.deepseek.com/v1'
});

const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});

async function main() {
console.log('=== AI 助手 ===');
console.log('输入 "exit" 退出\n');

while (true) {
const userInput = await question('你: ');

if (userInput.toLowerCase() === 'exit') {
console.log('再见!');
break;
}

const response = await openai.chat.completions.create({
model: 'deepseek-chat',
messages: [
{ role: 'system', content: '你是一个友好的 AI 助手。' },
{ role: 'user', content: userInput }
]
});

console.log('助手:', response.choices[0].message.content);
console.log();
}

rl.close();
}

function question(prompt: string): Promise<string> {
return new Promise((resolve) => {
rl.question(prompt, (answer) => resolve(answer));
});
}

main();

下一步

下一节将分析代码结构。

导航

上一篇: 2.1 OpenAI API 简介

下一篇: 2.3 代码结构分析