人工智能向善

发布日期:2026-05-07 10:35:38   浏览量 :1
发布日期:2026-05-07 10:35:38  
1

2026西湖龙井茶官网DTC发售:茶农直供,政府溯源防伪到农户家 

构建人工智能聊天机器人并不难——难的是让它真正有用(来自真实项目的经验教训)

一个月前,在使用 Lambda 函数构建简历辅导人工智能聊天机器人并将其部署在 Vercel(一个面向前端开发者的领先云平台)上时,我在测试期间反复在 Vercel 日志中遇到超时错误。经过一段时间的调试,我发现我使用的是 response.json() 而不是流式传输响应,这导致了 Vercel 上的超时 ⌛️ 错误。一旦我将 Lambda 函数更新为使用流,它就开始正常工作了。

💡 我使用 React 构建了聊天机器人的用户界面(buildcv.makeadifference.app)。

人工智能向善

为什么我们需要在 Lambda 中使用流?

流式传输非常适合人工智能聊天机器人或任何基于对话的应用程序,因为它们能提供良好的用户体验。通过流式传输,用户无需等待整个响应生成完毕,而是可以增量接收输出,从而为用户带来更好的交互体验 🙂。

根据我构建应用程序接口的个人经验,我建议对文本使用流式传输,而对任何创建、读取、更新、删除操作或业务逻辑实现使用 JSON。

Lambda / 无服务器函数:

// 请求来自人工智能模型的流式响应
const stream = AI.generateStream(userPrompt)

res.setHeader("Content-Type", "text/plain; charset=utf-8");
res.setHeader("Cache-Control", "no-cache");

// 立即向前端返回数据块
for await (const chunk of stream) {
    const text = chunk.text;
    if (text) {
        res.write(text);
    }
}

res.end();


javascript

前端(React)

const response = await fetch("api/chat");

const reader = response.body.getReader();
const decoder = new TextDecoder();

let fullText = "";

while (true) {
    const { value, done } = await reader.read();
    if (done) break;

    const chunk = decoder.decode(value);
    fullText += chunk;
}

if (!response.ok) {
    throw new Error(`获取响应失败:${response.status}`);
}

💡 Vercel 允许我们以数据块的形式向客户端(前端)发送数据,而无需等待整个响应生成完毕。

你正在使用人工智能构建什么?

你在使用人工智能构建项目时是否遇到过任何问题?你是如何解决的?

祝学习愉快 🎉

免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。

关于我们
热门推荐
合作伙伴
免责声明:本站部分资讯来源于网络,如有侵权请及时联系客服,我们将尽快处理
支持 反馈 订阅 数据
回到顶部