基于Node.js实现的终端流式对话应用,支持与大模型进行实时对话。
- 🚀 流式响应,实时显示AI回复
- 💬 支持多轮对话,保持上下文
- ⏹️ 支持中断请求(Ctrl+C)
- 🧹 支持清空对话历史
- 📝 友好的终端界面
- 进入conversation目录:
cd conversation- 设置API密钥(二选一):
# 方法1: 设置环境变量
export API_KEY="your_api_key"
# 方法2: 在.env中直接配置- 启动应用:
npm start
# 或
node index.jsexit或quit: 退出程序clear: 清空对话历史help: 显示帮助信息Ctrl+C: 取消当前请求或退出程序
在 index.js 中可以修改以下配置:
const { extractContentFromSiliconFlowChunk } = require('./transformers');
const siliconflow_config = {
apiKey: process.env.API_KEY,
apiUrl: 'https://api.siliconflow.cn/v1/chat/completions',
model: "Qwen/Qwen2.5-7B-Instruct",
chunkTransform: (chunk) => {
const chunkStr = extractContentFromSiliconFlowChunk(chunk);
return chunkStr;
}
};- Node.js版本的流式查询实现
- 使用原生http/https模块替代fetch
- 支持请求中断和错误处理
- 终端对话界面实现
- 使用readline模块处理用户输入
- 支持SSE格式数据解析
- 实现对话历史管理
- 应用入口文件
- 配置管理
