为什么 TypeScript 和 ChatGPT 是现代开发者的理想组合
\n\n想象一下:您正在用 TypeScript 编写代码,突然需要快速生成一个复杂的 SQL 查询、重写过时的 JavaScript,甚至创建一个用于用户支持的完整聊天机器人。以前这需要几个小时,而现在只需几分钟。这一切都得益于 TypeScript 和 ChatGPT 不仅成为了时髦的工具,更是全球数千名开发者的真正得力助手。
\n\n在本文中,我们不会进行枯燥的讲解。我们将直接动手实践:编写真正能运行的代码。您将学习如何让 TypeScript 与 OpenAI API 协同工作,创建您的第一个 AI 助手,并了解如何在开发中使用 ChatGPT 来自动化日常任务。我们开始吧!
\n\n开始前您需要准备什么
\n\n在我们深入代码之前,请确保您已具备以下条件:
\n\n- \n
- Node.js 版本 18+(我们将使用现代的 fetch) \n
- npm 或 yarn 用于安装包 \n
- OpenAI 的 API 密钥 — 在 platform.openai.com 获取(如果您刚开始使用,这是免费的) \n
- 对 TypeScript 有基本了解:类型、接口、async/await \n
其余的一切我们将一起完成。即使您从未使用过神经网络,也不必担心,我会解释每一步。
\n\n步骤 1:配置用于 AI 开发的 TypeScript 项目
\n\n创建一个新文件夹并初始化项目:
\n\nmkdir ai-chatbot\ncd ai-chatbot\nnpm init -y\nnpm install typescript @types/node ts-node --save-dev\nnpx tsc --init\n\n现在安装 OpenAI 客户端。以前大家都使用 openai 库,但在 2024-2025 年,OpenAI 推荐使用其官方 SDK:
npm install openai dotenv\n\n在项目根目录创建 .env 文件,并添加您的密钥:
OPENAI_API_KEY=您的密钥在此处\n\n重要提示: 切勿将 .env 提交到仓库!请将其添加到 .gitignore 中。
步骤 2:编写第一个用于与 ChatGPT 通信的 TypeScript 函数
\n\n创建文件 chat.ts。我们从简单的开始:向神经网络发送消息并获取回复。代码如下:
import OpenAI from 'openai';\nimport dotenv from 'dotenv';\n\ndotenv.config();\n\nconst openai = new OpenAI({\n apiKey: process.env.OPENAI_API_KEY,\n});\n\ninterface ChatResponse {\n content: string | null;\n error?: string;\n}\n\nasync function askChatGPT(prompt: string): Promise<ChatResponse> {\n try {\n const response = await openai.chat.completions.create({\n model: 'gpt-4o-mini', // 快速且便宜的模型\n messages: [\n {\n role: 'system',\n content: '你是一位对 TypeScript 开发者有用的助手。请简洁回答并附带代码示例。',\n },\n {\n role: 'user',\n content: prompt,\n },\n ],\n max_tokens: 500,\n temperature: 0.7,\n });\n\n return {\n content: response.choices[0]?.message?.content || null,\n };\n } catch (error) {\n console.error('请求 OpenAI 时出错:', error);\n return {\n content: null,\n error: '无法从神经网络获取回复',\n };\n }\n}\n\n// 使用示例\nasync function main() {\n const result = await askChatGPT('编写一个 TypeScript 函数,检查字符串是否为回文');\n \n if (result.content) {\n console.log('ChatGPT 回复:');\n console.log(result.content);\n } else {\n console.error('错误:', result.error);\n }\n}\n\nmain();\n\n使用命令 npx ts-node chat.ts 运行脚本。如果一切配置正确,您将在控制台中看到神经网络的回复,包含代码和解释。ChatGPT 集成