当前位置:首页>python>1python之租户配置写库及新公司接入流程梳理

1python之租户配置写库及新公司接入流程梳理

  • 2026-10-11 06:14:34
1python之租户配置写库及新公司接入流程梳理

写在前面的话

啤酒不是饮料。昨天,在家里搞电脑,上午吃了面条,下午没吃饭,晚上时,饿的不行,喝了两罐啤酒,有点晕晕的,看来啤酒不是饮料啊,还是有点劲的。此时,大宝让打牌,我和大宝二宝去打媳妇,到媳妇屋里,因为点小事,他给了我一个嘴巴子,两个孩子都在跟前,我瞬间火了起来,也可能是为了维护在孩子面前的脸面,我狠拍了媳妇腿一下,说:你打上瘾了是吧。之后,就去阳台抽烟,媳妇不依不饶,跟着去阳台找我。老妈在客厅看电视,看媳妇卡卡下手,老妈说:有啥事,一遍说不通,再说一遍,不要动手。我没还手,在阳台也是等媳妇来找补,我是一家之主,万一事态升级,老妈怎么办,两孩子怎么办。其实,事情没那么严重,东北媳妇直来直去,有时确实挺烦人。事后,我给媳妇说,你不爽,打一下也行,不要当着孩子面打脸行不行。所谓打人不打脸,是有一定道理的,谁不要脸面呢?

[150+200]-------->底部有张生活照片(头条号运营:大家想全托管上号的联系我哦,每天让你得个地铁钱,微信号: qhz_toutiao)

【关键词】:python、ragflow、租户配置、接入流程

一、租户配置写库(三级)

描述:需要把租户配置写入数据库表,方便前端修改和保存。

开工:

第一步:配置一个(四级)

20250626周四时间段:00:03-01:00

表建好了,如下:

CREATE TABLE `tenant_conf` (  `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '配置id',  `tenant_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '租户名',  `app` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT 'app配置json',  `user_intention` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci COMMENT '意图识别配置json',  `create_time` bigint DEFAULT NULL,  `create_date` datetime DEFAULT NULL,  `update_time` bigint DEFAULT NULL,  `update_date` datetime DEFAULT NULL,  PRIMARY KEY (`id`),  KEY `conf_create_time` (`create_time`),  KEY `conf_create_date` (`create_date`),  KEY `conf_update_time` (`update_time`),  KEY `conf_update_date` (`update_date`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='大租户配置表';

注:接下来,建一个,如下:

INSERT INTO `rag_flow`.`tenant_conf` (`id`, `domain`, `tenant_name`, `app`, `user_intention`, `create_time`, `create_date`, `update_time`, `update_date`) VALUES ('58f661a4f8e811ef9e940242ac120006', 'pet.bitzero.cn', 'ragflow‘s Kingdom', '{\"welcome\":\"我是您的专业宠物医生,很高兴为您服务\",\"background_image\":\"/static/login-background.117236ea.webp\",\"logo\":\"/static/logos1.76a7cb8a.png\",\"is_open_pet_archives\":1}', '{\"enabled\":true,\"llm_prompts\":{\"role\":\"宠物医生\",\"force_complete_flag\":\"结束基础问询,请直接给出结果\",\"finish_flag\":\"question_finished\",\"wait_expert_reply\":\"您已回复完成临床问询,正在分析病情...\"},\"intention_file\":\"conf/test_pet/test_pet_intention.yaml\"}', 1750848822591, '2025-06-25 18:53:42', 1750848822591, '2025-06-25 18:53:42');

注:截图如下:

图1a-1

注:接下为,就是改程序来兼容这个配置。

第二步:兼容库配置(四级)

20250626周四时间段:00:33-01:00

龙哥那边要个开发方案,先暂停,梳理下方案,磨刀不误砍柴功。

第三步:方案梳理(四级)

20250626周四时间段:10:03-12:00
a.在租户表(tenant)增加字段

根据配置tenant_conf.yaml文件,主要增加四个字段:domain(域名)、tenant_name(用tenant表中name字段代替)、app(app配置)、user_intention(意图识别配置),事例如下:

domain:["pet.bitzero.cn","test-pet.bitzero.cn","pre-pet.bitzero.cn"]name:ragflow‘s Kingdomapp:{"welcome": "我是您的专业宠物医生,很高兴为您服务","background_image": "/static/login-background.117236ea.webp","logo": "/static/logos1.76a7cb8a.png","is_open_pet_archives": 1}user_intention:{"enabled": true,"llm_prompts": {"role": "宠物医生","force_complete_flag": "结束基础问询,请直接给出结果","finish_flag": "question_finished","wait_expert_reply": "您已回复完成临床问询,正在分析病情..."},"intention_file": "conf/test_pet/test_pet_intention.yaml"}
b.合并

因为我的目的是展示一些字段到前端,让用户编辑保存,所以,上面一个表就够了,其它的还走配置文件。接下来,就是数据库中的表数据与配置文件进行合并了。

主要是合并'service_conf.yaml', 'app_conf.yaml', 'vision_models_conf.yaml','tenant数据库表',

截图如下:

图1a-2

注:这个先这样,接下来,梳理下公司接入流程。

二、新公司接入平台流程(三级)

描述:一个新公司接入平台,需要配置哪些东西,与后台的逻辑怎么契合,需要梳理一下。

开工:

第一步:公司接入(四级)

20250626周四时间段:11:33-12:00

a.一个公司进来,根据域名拉取到它的配置信息,

b.它需要配置扫码用户聊天模型等,

c.还需要配置自身聊天模型,自身可以建多个助手,每个助手可以选不同的聊天模型。

d.新公司es

第二步:新公司es(四级)

20250626周四时间段:15:07-16:00

新公司用户分两类,一类是管理员,一类是扫码用户。

管理员可以多个助手,而扫码用户只有一个助手。

管理员可以改变扫码用户的配置

注:这次开会,把知识库与索引一对一匹配,并且把公共租户id与索引id解耦是很重要的,这样以来,一个公共租户可以匹配多个索引,这些索引一起查数据,查出数据进行合并,再返回给前端。这样租户管理员就邀请小租户,小租户用租户管理员的配置信息即可。接下来,先把数据库里的租户信息与配置文件中的信息进行合并。

第三步:合并表与文件信息(四级)

20250626周四时间段:16:46-18:00

三、展示样式错乱处理(三级)

描述:展示选择题样式错乱,需要处理一下。

开工:

第一步:复现错误(四级)

20250626周四时间段:19:50-20:00

确实能复现如下:

图1c-1

注:得到的数据如下:

2025-06-26 19:55:22.138 | INFO | intention_service.py:base_query_msg_send:198 - 基础问询---ans: {'answer': '呕吐内容物是什么?###黄绿色液体###奶块###不确定  \n呕吐发生在什么时候?###饭后马上发生###饭后一段时间发生###不确定  \n呕吐持续了多久?###1天内###2-3天###不确定  \n猫咪的精神食欲如何?###精神食欲好###精神食欲下降###不确定  \n最近是否有驱虫或免疫?###有驱虫/免疫近期进行过无驱虫/免疫近期未进行过'}

注:需要把/换成三个#,修改代码如下:

    def proceedChooseOutput(self,ans):        """        这个方法用于在基础问询时处理选择题的输出优化,使输出格式更符合预期        """        ans['answer'] = ans['answer'].replace('/','###')        ans['answer'] = ans['answer'].replace('###','  ')        ans['answer'] = ans['answer'].replace('& nbsp ;',' ')        ans['answer'] = ans['answer'].replace('& nbsp; & nbsp;','  ')        ans['answer'] = ans['answer'].replace('\xa0 ;\xa0 ;','  ')        ans['answer'] = ans['answer'].replace('?\n','?  ')        ans['answer'] = ans['answer'].replace('  \n','  ')        ans['answer'] = ans['answer'].replace('      ','  ')        ans['answer'] = ans['answer'].replace(' ','  ')        ans['answer'] = ans['answer'].replace("&nbs'","'")        ans['answer'] = ans['answer'].replace(" &nbs'}","'}")        ans['answer'] = ans['answer'].replace('\n','  ')        # ans['answer'] = re.sub(r'( )+', '  ', ans['answer'])  # 替换多个连续的   为两个          return ans

注:这个里面加了替换,可以运行看看效果。

第二步:运行看效果(四级)

20250626周四时间段:20:12-22:00

按上述程序改了之后,运行看下效果,效果如下:

图1c-2

注:没输出完全,第5道题的选项没输出来,需要处理一下。

四、头条战果汇报

昨日数据来啦,昨日总收入:808.8块,昨日总播放:537.23万次,软件截图如下:

图1d-1

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

图1d-2

注:个人微信如下,欢迎骚扰。

图1d-3

五、生活照片

拍摄于‎2025‎年‎6‎月‎1‎日,‏‎13:12:45,和二宝在外面玩,二宝当时两岁八个月。昨天冲突,我说:是不是你先动手的。媳妇说:我打的不疼。我说当然不疼,脸上连个手印都没有,但打脸这种事,伤害性不大,侮辱性极强,就比如:我往你脸上吐一口痰,疼不疼,一点都不疼,但你会乐于接受吗。尤其是当着孩子的面,我扇你的脸呢,力度不大,你会不会感到屈辱。所以,这根本不是力度问题,这是尊重不尊重的问题。生活中,两口子过日子,就像牙和舌头,总有碰到的时候,生活还要继续,媳妇容我慢慢调教吧。

图1e-1

《本文完》

最新文章

随机文章