写在前面的话
不如见一面。昨天,刷视频,看到贾跃亭唱的一首歌,不如见一面,原唱是海来阿木。唱这个歌是贾在美国,两个女儿在中国,隔空对唱完成的,感动了大批网友,表达了贾想回国与家人生活的愿望。当时在国内没爆发危机时,贾当过科技首富,由于转战造车,导致资金断裂,远走美国。当然,国内欠了大量的钱,有上百亿,顶着这么大的压力,在美国创业十来年,这份精神,我是比较崇拜的,这得有多么强大的心脏和定力啊,创业九死一生,像快播王兴,抓起来被放出来之后,就没音了,老贾能坚持持续造车,想各种办法维持造车环境,在口碑极坏的情况下,还在持续折腾,我觉得不容易。像一些网友,信用卡欠百万,直接躺平,老子不管了,爱咋咋的。这是两种截然不同的处事方式,我还是比较支持贾的做法的。
[313]-------->底部有张生活照片和昨日花销
【关键词】python、会话列表、聊天更新会话名、聊天记录
一、python接口相关
1.会话列表
描述:现在会话列表,展示有问题,从小程序测试来看,有点问题,看一下。
开工:
第一步:一条数据
测试发现,只输出1条数据,而数据库中是4条数据,截图如下:
图7a-1
注:看下代码。
第二步:看下代码
20241229周日时间段:2143-2200
20241229周日时间段:2200-2220
20241230周一时间段:0937-0940
知道原因了,是数据不同步造成的,因为是两个数据库,接下来,加个分页,限制10条。先做一件事,把没有name的忽略掉,修改程序如下:
def query(cls, cols=None, reverse=None, order_by=None, **kwargs):
try:
query = cls.model.select()
query = query.where(cls.model.name != '')
if cols:
query = query.select(*cols)
if reverse:
query = query.order_by(fn.REVERSE(order_by))
if order_by:
query = query.order_by(order_by)
for key, value in kwargs.items():
query = query.where(getattr(cls.model, key) == value)
return [MyModel(**item.__data__) for item in query]
except Exception as e:
log.info(f"query error: {str(e)}")
return f"query error: {str(e)}"
注:加个限制模型,避免死循环,如下:
class MyModel(BaseModel):
id: str
name: str
open_id:str
# 其他字段...
注:这样,终于解决了问题。运行结果如下:
图7a-2
注:接下来,代码上传之后,开始做限制条数。
第三步:限制输出条数
20241230周一时间段:1102-1120
这个倒没遇到卡点,修改如下:
图7a-3
注:这样就限制了输出条数,调用程序如下:
convs = ConversationService.query(
open_id=open_id,
order_by=ConversationService.model.create_time,
reverse=True,
limit=2)
输出如下:
图7a-4
注:符合条件的有3条,输出了两条,说明limit起了作用。接下来,聊天时,更新会话名。
2.聊天时更新会话名
描述:当获取聊天列表时,会话名需要最后一条用户的问题,所以,每次用户提问都要更新会话名。
分析:可以用户提问时就拦截并更新。
开工:
第一步:提问时拦截
20241230周一时间段:1118-1120
20241230周一时间段:1120-1140
20241230周一时间段:1500-1520
写下程序,在提问时调用更新,程序修改如下:
图7a-5
注:写个测试用例,看能不能更新成功。
第二步:写测试用例
20241230周一时间段:1537-1540
20241230周一时间段:1540-1550
写测试用例如下:
图7a-6
注:这个截图对应的代码如下:
async def test_websocket_endpoint():
uri = "ws://127.0.0.1:6789/ws" # 根据你的FastAPI应用端口进行修改
async with client.connect(uri) as websocket:
# 发送测试数据
test_data = json.dumps({"is_ai": 0, "conversation_id": "3ab66ac6c68011ef8d98f020ff63f4c4", "question": "你好"})
log.info(f"\n\n\n\n test_data-------------------------: {test_data} \n\n\n\n")
await websocket.send(test_data)
# 接收响应
response = await websocket.recv()
log.info(f"\n\n\n\n response----------: {response} \n\n\n\n")
response_data = json.loads(response)
log.info(f"\n\n\n\n response_data----------: {response_data} \n\n\n\n")
注:这个测试发现,没有修改成功,name没有改成【你好】,排查下原因。修改代码如下:
try:
# 尝试获取 JSON 请求体
req = request
except json.JSONDecodeError:
# 如果 JSON 解码失败,尝试获取原始请求体
req = await request.body()
# 如果需要将其转换为字符串或字典,可以在这里进行
# 例如:req = json.loads(req.decode('utf-8'))
req = json.loads(req.decode("utf-8"))
注:这个主要是接收时,优化下代码。接下来,聊聊试试。如果可以,就上线,在线上测接口的可用性。可以的,下一步,线上测试。
接下来,看下写聊天记录。
3.聊天写入记录
描述:现在新建会话,好像调的是更新接口,验证一下。
开工:
第一步:在线上打日志,看下。
在更新接口,和新建接口都打下日志。
确实调了两个,晚上联调一下。接下来,是系统时间。问题
第二步:测试
晚上测试
4.ragflow系统时间
描述:现在新建会话,创建时间错了8个时区,看下原因。
开工:
第一步:在线上打日志,看下。
这个是docker容器的时间和系统时间不同步,docker相当于一个虚拟机,有自己的时间。
第二步:测试
测试还可以,接下来,接知识库。
5.接知识库
描述:现在接下知识库,看时间慢能不能优化一下。
开工:
第一步:接知识库
20241231周二时间段:1449-1500
a.先总结下docker
20241231周二时间段:1449-1500
1. docker重启【20241231 14:52】
docker restart agflow-server
注:docker命令是全局的,所以不用进入某个文件夹进行操作。
2.进入docker容器【20241231 15:04】
docker exec -it ragflow-server /bin/bash
b.vscode连接下copilot
20241231周二时间段:1507-1520
没连上,先不管。
c.接知识库
20250101周三时间段:1149-1200
接知识库进行测试
d.本地ssh连linux怎么避免输入密码--【2025-01-01 14:54】
创建密钥(可以在git bash里做)
ssh-keygen -t rsa -b 4096 -C " 243127387@qq.com"
上传密钥:
ssh-copy-id -p 2222 admin@39.101.69.172
注:输入上述命令运行时,会让输入服务器密码,输入之后,服务器会记住,下次用黑窗口登录,服务器就不会让输入用户名和密码了。
二、wp相关
1.下载代码
描述:下载项目代码。
开工:
第一步:登录siteground
20241230周一时间段:1500-1520
20241230周一时间段:1820-1840
发现需要个验证码,给客户要一下。
下载,2G的大小,需要下载一下。截图如下:
图7b-1
注:备份下数据库。
第二步:备份数据库
20241230周一时间段:1820-1840
下载数据库,把数据库下载一下,在本地部署完,这个活不准备挣钱,但要做完这三项。
2.改页面
描述:改个日志详情页面。
开工:
第一步:调整类框高度
20241230周一时间段:2015-2020
20250101周三时间段:2300-2320
完成,现在上传到服务器,遇到了问题,ftp一直搞不定,尝试用siteground.连接如下:
图7b-2
第二步:测试
测试还可以
三、生活照片
拍摄于2025年10月3日,16:54:16,带孩子去盘锦红海滩拍的,当时大宝七岁十个月。看了贾的故事,觉得创业这个事是成者王侯败者贼,贾转战造车是付出极大代价的,他因为国内欠款,已被证监会终身禁止进入证券行业,就是说他的公司想在中国上市不可能了,即使他以后还清欠款。他出走美国时44岁,如今53岁,已年过半百,还在坚持,这种轴劲令人钦佩,但愿他早日成功。
图7c-1
《本文完》