试探。周四时,提现要优惠那兄弟又联系我了。他说:哥,其实提现那天,我是想试探你一下,对其他人有没有提现优惠,看来是没有的。我:哎呀,兄弟,不用试探,所有人都一样,我在群里说啥样就啥样,我不愿意记那么多杂事,如果张三有优惠,李四没有,王五来试探,号一多,我可能就记不住了,所以,都一样,这样说吧,我对我岳母,亲哥亲嫂子都收四成,你想想,我对其他人会客气吗?他:那你岳母你哥嫂不会说你不近人情吗?我:我这是生意,我靠这个吃饭,不是过家家,我会从其它方面做补偿,岳母过生日,哥嫂孩子考上学,卡卡拿钱就完了,一码是一码,生意是生意,亲情是亲情。他说:哥,你太古板了,感觉你是从古代穿越过来的一样。我说:我主要想认真做事,不掺杂感情,要不然,事情做不起来。他说:哥,你这样说,我只能呵呵了。我不再理他,让他呵呵去吧。
[145+200]-------->底部有张生活照片(头条号运营:大家想全托管上号的联系我哦,每天让你得个地铁钱,微信号: qhz_toutiao)
关键词:python、ragflow、选项错乱、乱码
描述:最后一题有问题,主要是选项有问题,想到的办法是增加模版事例。
开工:
20250628周六时间段:12:10-14:00问题截图如下:

图6a-1
注:这个增加专门事例,如下:
# 问题示例(如果遇到相似问题,必须使用此模板)
小狗的排便情况正常吗?###正常###腹泻###便秘###不确定
注:这个增加强制事例,看下能不能正常输出,运行效果正常,但陈哥遇到一个问题,如下:

图6a-2
注:需要优化一下。
20250628周六时间段:12:38-14:00这个优化一下,修改程序如下:
1. 每个问题必须提供3-4个完整选项,最后一个选项必须是"不确定"
2. 选项必须简短(≤10个文字)
3. 选项之间必须用"###"分隔,分隔符禁止参考历史记录中的分隔符
4. 问题必须完整(严禁截断)
5. 问题不要标题编号或序号
6. 选项内容及选项之间禁止出现["/"," ","?"]符号
7. 每个问题的选项数量只能是3或4个
8. 最后一题的选项数量必须是3或4个,且最后一个选项必须是"不确定"
9. 追问问题要考虑历史记录,避免出现逻辑冲突,比如:"历史记录中已回答过‘没有呕吐’的问题,不要继续追问‘呕吐物是什么’"
注:这个加了【禁止使用历史记录中的分隔符】,运行,看下效果,还可以。接下来,进行一个优化。写一个优化函数,如果最终最后一题只有一个选项,就把最后一题去掉。
20250628周六时间段:23:04-00:00写一个预处理方法,如果最终输出的最后一题只有一个选项,就把最后一题去掉。
例子如下:
ans: {'answer': '小狗最近吃的人类食物是什么?###油腻食物###骨头类###甜食###不确定\n小狗呕吐后是否有食欲?###立即想吃东西###拒绝进食###食欲减退###不确定\n小狗的腹部是否明显胀大?###明显胀大###轻微胀大###没有变化###不确定\n小狗最近是否有排便带血情况?###有血迹无便便排出少量黏液'}写一个方法,去掉最后一题。
问下ai,提问如下:
有一个字符串
str='小狗最近吃的人类食物是什么?###油腻食物###骨头类###甜食###不确定\n小狗呕吐后是否有食欲?###立即想吃东西###拒绝进食###食欲减退###不确定\n小狗的腹部是否明显胀大?###明显胀大###轻微胀大###没有变化###不确定\n小狗最近是否有排便带血情况?###有血迹无便便排出少量黏液'
以上str,是deepseek生成的多道选择题,
问题与选项用###分隔,
问题以?结尾,
一道问题结束(包括选项)以\n结束,
选项与选项之间用###分隔,但有时生成的多道选择题中,最后一道,只有一个选项,像这种选项不完整的选择题,要过滤掉,不能返回给前端。
现在要求写一个函数,如果选择题的选项数<=1,就把这个问题及选项过滤掉,用python写出这个函数。
ai给出的方案如下:
以下是一个Python函数,用于过滤掉选项数小于等于1的选择题:
def filter_incomplete_questions(input_str):
# 按换行符分割成各个问题
questions = input_str.split('\n')
filtered_questions = []
for question in questions:
if not question.strip(): # 跳过空行
continue
# 分割问题和选项
parts = question.split('###')
# 检查是否有足够的选项(至少2个选项)
if len(parts) >= 3: # 1个问题 + 至少2个选项
filtered_questions.append(question)
# 重新组合成字符串
return '\n'.join(filtered_questions)
# 测试用例
str_input = '''小狗最近吃的人类食物是什么?###油腻食物###骨头类###甜食###不确定
小狗呕吐后是否有食欲?###立即想吃东西###拒绝进食###食欲减退###不确定
小狗的腹部是否明显胀大?###明显胀大###轻微胀大###没有变化###不确定
小狗最近是否有排便带血情况?###有血迹无便便排出少量黏液'''
filtered_str = filter_incomplete_questions(str_input)
print(filtered_str)
这个函数的工作原理:
首先按换行符 \n 分割字符串,得到各个问题
对于每个问题,再用 ### 分割,检查分割后的部分数量
如果分割后有至少3部分(1个问题 + 至少2个选项),则保留该问题
最后将保留的问题重新组合成字符串返回
对于你提供的测试用例,输出将是:
小狗最近吃的人类食物是什么?###油腻食物###骨头类###甜食###不确定
小狗呕吐后是否有食欲?###立即想吃东西###拒绝进食###食欲减退###不确定
小狗的腹部是否明显胀大?###明显胀大###轻微胀大###没有变化###不确定
最后一个问题因为只有一个选项而被过滤掉了。接下来,测试下这个过滤函数。
20250628周六时间段:23:30-00:00加个过滤函数,修改代码如下:

图6a-3
注:运行一下,看看效果,报了错,优化下程序如下:

图6a-4
注:加了个self,这个需要加,接下来,再次运行,看看效果,效果如下:

图6a-5
注:这个是因为发送消息的函数不对,修改一下,修改如下:

图6a-6
注:这样应该就没问题了。
昨日数据来啦,昨日总收入:723.96块,昨日总播放:449.98万次,软件截图如下:

图6b-1
注:想要全托管运营头条号的联系我,你出账号,我来运营,保你天天有钱花,咨询电话: 17701328814(微信同号),也可以加群先了解一下。

图6b-2
注:个人微信如下,欢迎骚扰。

图6b-3
拍摄于2025年10月1日,16:24:56,带二宝回东北,在山海关服务区休息时拍的,当时,二宝三岁。和那哥们聊完,在外面抽烟,我在想,做人要诚实,这样活的比较简单,如果一百个心眼子,可能会发点小财,但绝对做不大。因为你可以骗别人一次,两次,但别人也不是傻子,骗的次数多了,坏口碑就传开了,谁还给咱玩呢。我愿意做个很浅的人,我心里想啥,嘴上说啥,没必要藏着掖着,这样,太诚实也可能挣不了大钱,但我就是这么个性格,就这样吧,加油!

图6c-1
《本文完》