迷新白的博客 迷新白的博客
首页
随笔
  • Vuepress
  • Springboot
  • 开发工具
  • 系统工具
读吧
  • 智能浇花系统 (opens new window)
  • 用户中心系统 (opens new window)
  • 关于
  • 友情链接
GitHub (opens new window)

迷新白

愿你平安
首页
随笔
  • Vuepress
  • Springboot
  • 开发工具
  • 系统工具
读吧
  • 智能浇花系统 (opens new window)
  • 用户中心系统 (opens new window)
  • 关于
  • 友情链接
GitHub (opens new window)
  • 用户中心系统

  • 仿Deepseek官网AI聊天网站

    • 需求分析
    • 首页&聊天页开发
    • 接入deepseek
    • 数据库搭建
    • 首页完善(前端)
    • 登陆系统-clerk
    • 首页完善(后端)
    • 保留上下文对话
    • 第一次对话完善
      • 第一次对话完善
      • 项目1.0运行效果
      • 模型切换
      • 待更新
  • 尤克里里音月-Flutter(需求分析阶段)

  • 项目
  • 仿Deepseek官网AI聊天网站
迷新白
2025-04-27
目录

第一次对话完善

# 09.第一次对话完善

第一次对话时,创建后再自动发送对话内容

# 第一次对话完善

第一次对话时,会创建第一次对话的消息为标题的页面

但并没有将第一次对话的内容发送给大模型

进行优化

在src/app/chat/[chat_id]/page.tsx页面

如果chat的data的title存在,并且这个chat没有历史数据

image-20250427223746587在useChat的hook里添加append,调用后端API 向聊天历史中添加(追加)新的消息image-20250427223937047

补充代码 增加的内容即第一次对话时传递的title

    const handleFirstMessage = async() => {
        if(chat?.data?.title && previousMessages?.data?.length === 0) {
            await append({
                role:'user',
                content: chat?.data?.title
            },{
                model:model,
                chat_id:chat_id,
                chat_user_id: chat?.data?.userId
            });
        }
    }
1
2
3
4
5
6
7
8
9
10
11
12

使用useEffect钩子,页面渲染时触发此函数

    const handleFirstMessage = async() => {
        ......
    }

useEffect(() => {
    handleFirstMessage()
}, [chat?.data?.title,previousMessages]);
1
2
3
4
5
6
7

# 项目1.0运行效果

AI-Web

# 模型切换

将model参数传入数据库,供后续更改模型

image-20250427225009055

# 待更新

页面渲染问题

对话返回的是markdown格式,我们尚未把markdown格式的文本按原格式渲染出来

image-20250427225510037

文字写于:广东

#仿Deepseek官网AI聊天网站
更新时间: 2025/4/27 23:24:07
保留上下文对话
尤克里里音月

← 保留上下文对话 尤克里里音月→

最近更新
01
保留上下文对话
04-27
02
首页完善(后端)
04-27
03
登陆系统-clerk
04-27
更多文章>
Theme by Vdoing | Copyright © 2022-2025 迷新白 | 的博客
sitemap icon by Icons8
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式