1. 春考情况
春考结束了,希望是春考后不用再看英语了,但是这次春考的题目感觉比之前做过的每一个模拟卷都难,尤其是星期一的听力,上午和下午两套题差异明显,众多同学都普遍认为下午的比较简单,都是之前练习时涉及比较广泛的,而上午的则是一些新的、之前未涉及的一些内容,我参加的是上午的,心理有一些忐忑。但我知道这个时候我应该放下,不管怎么样,考完了就是考完了,一切等1月21日见分晓。
今天把聊天机器人在老爸的指导下,照着教程改了一下,主要学习的是django框架下的一些数据库操作,修改涉及内容:

2. 学习笔记
为后端加了数据库
共三个model
1)agent model (希望可以做成多个智能体)
2)session model(会话模型)
3)message model(聊天消息模型)
照着文心一言给生成的数据库,并生成了这三个model的代码。
然后再:
1)python manage.py makemigrations 生成迁移文件
2)python manage.py migrate 更新到数据库
并学习和了解了在用户认证中的token, 聊天中的session等等一些概念、名词及意义。
token: 用户登录到后端后,后端会为这个用户生成一个独一无二的字符串,来代表这个用户,登录成功拿到这个token后,前端再与后端做交互的话,可以用这个token代表他自己,不需要每个交互请求都认证一遍。
session: 这个比较了理解,在所有的大模型里都是这么一个用法,不展开了。
记录保存数据库
照着https://docs.djangoproject.com/zh-hans/5.1/ 介绍,尝试理解django里的model,view的概念。
然后将我和智能体之间的聊天记录可以保存到创建的这个数据库,其中有几个点是需要注意的:
- user_id:若为空,根据token去查找user_id
- session_id: 若为空,在SessionModel创建一个新的session
- agent_id: 若为空,直接赋值为1(后面支持了多个智能体的时候,就对应为默认的那个智能体)
后端的信息传递到前端
有些数据是存储在后端的,前端一开始没有,所以第一次交互的时候都是空值,比如像上面那些user_id, session_id, agent_id,第一次请求到后端后,我们可以在后端生成或者获取到这些信息,而我们在拿到大模型的答复后,在响应里可以把这些信息一并带回前端,那样后面前端就有了所有这些信息,后续的交互里内容就完整了。
前端如何接收来自后端的数据
好多种方法,先练习一个,具体看代码。
一边问文心一言,一边改,改了好久,文心一言给了好多代码,但是许多代码跟前面的代码不搭,跑不起来,或者跑起来有问题。
从中午12点到晚上18点,今天花的时间有点多了,不过总算把功能都走通了,开心。晚一点递交代码到github。