焦点讯息:如何用低代码搭建训练一个专业知识库问答GPT机器人

来源:腾讯云 2023-03-31 19:33:34

来源:依然基于Stable-Diffusion模型生成

距离上篇文章《低代码xChatGPT,五步搭建AI聊天机器人》已经过去3个多月,收到了很多小伙伴的关注和反馈,也帮助很多朋友快速低成本搭建了ChatGPT聊天应用,未曾想这一段时间GPT热度只增不减,加上最近国内外各种LLM、文生图多模态模型密集发布,开发者们也有了更高的要求。比如如何训练一个自己的GPT应用,如何结合GPT和所在的专业领域知识来搭建AI应用,像心理咨询助手、个人知识库助手等,看目前网上这方面资料还不多,今天我们就来抛个砖试试。


(资料图)

目前的预训练方式主要如下几种:

基于OpenAI的官方LLM模型,进行fine-tune(费用高,耗时长)基于开源的Alpaca.cpp本地模型(目前可在本地消费级显卡跑起来,对自己硬件有信心也可以试试)通过向量数据库上下文关联(轻量级,费用可控,速度快,包括昨天OPENAI官方昨天刚放出来的示例插件chatgpt-retrieval-plugin,也采用的这种方式)

低代码实现的AI问答机器人效果如下:

这次还是用腾讯云微搭低代码作为应用搭建平台,来介绍如何快速搭建一个垂直领域的知识库GPT问答机器人,今天的教程尽量避开了各种黑科技的封装库(没有Langchain/Supabase/PineconeSDK全家桶),尝试从最基本的实现原理来展开介绍,尽量让大家知其所以然。新手开发者也可以试试,与其看各种GPT热闹,不如Make your hands dirty

一、准备工作

在开始搭建垂直知识库的问答机器人前,你需要做以下准备:

微信小程序账号:如果您还没有微信小程序账号,可以在微信公众平台注册(如果没有小程序,也可以发布为移动端H5应用)开通腾讯云微搭低代码:微搭低代码是腾讯云官方推出的一款低代码开发工具,可以直接访问腾讯云微搭官网免费开通注册OpenAI账号:OpenAI账号注册也是免费的,不过OpenAI有地域限制,网上方法很多在此不赘述。注册成功后,可以登录OpenAI的个人中心来获取API KEY一个支持向量匹配的数据库(本文以开源的PostgreSQL为例,你也可以使用Redis,或者NPM的HNSWlib包)

关于向量数据库,目前可选择的方式有好几种,可以使用PostgreSQL安装vector向量扩展,也可以使用Redis的Vector Similarity Search,还可以直接云函数使用HNSWLib库,甚至自行diy一个简单的基于文件系统的余弦相似度向量数据库,文末的 github/lowcode.ai也有简单示例代码,仅做参考交流不建议在生产环境使用。

本教程适用人群和应用类型:

适用人群:有前后端基础的开发者(有一定技术背景的非开发者也可以体验)应用类型:小程序 或 H5应用(基于微搭一码多端特性,可以发布为Web应用,点击原文链接可体验作者基于微搭搭建的文档GPT机器人)

二、搭建聊天机器人界面

如何使用低代码进行界面搭建的详细过程,在之前的文章中《低代码xChatGPT,五步搭建AI聊天机器人》已经有过详细的教程介绍,这里就不再继续展开。

另外,大家也可以使用微搭官方的聊天模板,这样的话界面这一步直接跳过,开箱即用,附微搭低代码GPT聊天应用模板地址

完成界面配置之后,大家重点关注下图中页面设计模块的”发送“按钮的事件配置即可,在后续会提到。

三、配置后端逻辑

与之前机器人的实现直接调用远程API不同,这次由于需要针对专业的领域知识进行预处理以及向量化,重点会涉及3个部分:

读取待训练的文档数据并进行向量化,之后存入向量数据库通过query的向量化结果与数据库向量进行相似度匹配,并返回关联文本结果结合返回的关联文本和query来构建上下文生成prompt

可以通过下图了解向量搜索实现GPT Context的大致原理:

由上图可见,主要是两个处理流程,一个文档数据的向量化预处理,一个是查询时的向量匹配和Context构造处理,这两个处理我们都可以使用腾讯云低代码的云函数来实现(当然第一步的预处理也可以在本地电脑完成)

1. 将知识库文档数据向量化

首先,将所需要的预处理的知识库内容放在某个目录下,遍历知识库目录下的所有文档文件(本文文件格式以markdown为例),将文本分块后结构化存储在本地json文件。

如果数据量小,分块后的结构化数据也可以直接放在内存中,本地化json主要便于在大量文本预处理时,遇到网络等异常时,能够在断点处重启预处理

关键代码如下:

本教程涉及的完整代码已放到https://github.com/enimo/lowcode.ai中,可按需下载试验,也可直接上传到微搭低代码的云函数中运行)

function splitDocuments(files, chunkSize) {let docSize = chunkSize || 1000;let textString = "";let index = 0;let documents = [];for(let i = 0, len = files.length; i < len; i++) {if(files[i] && files[i].content) {textString = files[i].content;}else {textString = fs.readFileSync(files[i], "utf8");}textString = textString.replace(/\n|\r/g, " ").replace(/<.*?>/g,"")    let start = 0;    while (start < textString.length) {      const end = start + docSize;      const chunk = textString.slice(start, end);      documents.push({ docIndex: index++, fileIndex: files[i].fileIndex, filename: files[i].filename || files[i], content: chunk });      start = end;}  }  fs.writeFileSync("./docstore.json", JSON.stringify(documents));  return documents;}

上述代码用途主要是在得到遍历后的文件路径数组files后,对文件进行切块处理,分块大小可按需调整,一般建议在1000~2000之间(切换主要为兼容GPT API的单次token限制及成本控制)

其次,对分块的文本进行向量化并存入向量数据库,关键代码如下:

async function initVector(sql, docs){    const maxElements = docs.length || 500; // 最多处理500个    for (let j = 0; j < maxElements; j++ ) {        const input = docs[j].content;        const filename = docs[j].filename;        const fileIndex = docs[j].fileIndex        const docIndex = docs[j].docIndex        // 通过根据训练日志返回断点docIndex,调整 docIndex 的值,确保从断点继续向量化        if(docIndex >= 0 &&  docIndex < 1000 ){            log("start embedding fileIndex: ", fileIndex, "docIndex: ", docIndex, "filename:", filename);            const embedding = await embedding(input);            const embeddingArr = "[" + embedding + "]";            const metadata = { filename, "doclength": maxElements, index: j };            const insertRet = await sql`              INSERT INTO documents ( content, appcode, metadata, embedding )              VALUES              ( ${input}, "wedadoc",  ${metadata}, ${embeddingArr} )`            await delay(1000); // 如果embedding API并发请求限制,可设置随机数sleep        }        else {          continue;        }    }    return true;}

上述文本向量化的存储过程中,涉及到调用OpenAI的embedding模型进行向量转化,这里使用text-embedding-ada-002模型(这个文本向量化过程也可以不使用OpenAI的官方模型,有部分开源模型可代替)

async function embedding (text) {    const raw_text = text.replace(/\n|\r/g, " ");    const embeddingResponse = await fetch(        OPENAI_URL + "/v1/embeddings",        {          method: "POST",          headers: {            "Authorization": `Bearer ${OPENAI_API_KEY}`,            "Content-Type": "application/json"          },          body: JSON.stringify({            input: raw_text,            model: "text-embedding-ada-002"          })        }    );    const embeddingData = await embeddingResponse.json();        const [{ embedding }] = embeddingData.data;    log({embedding});    return embedding;}

以上,一个文档知识库的向量化预处理就基本完成了,接下来看看怎么实现基于query的搜索逻辑。

2. 实现query的向量化搜索

我们在上一步中已经完成了文本数据的向量化存储。接下来,可以基于用户提交的query来进行相似度搜索,关键代码如下:

async function searchKnn(question, k, sql){    const embedding = await embedding(question);    const embeddingArr = "[" + embedding + "]";    const result = await sql`SELECT * FROM match_documents(${embeddingArr},"wedadoc", 0.1, ${k})`    return result;}

上述代码将query同样转化为向量后,再去上一步向量化后的数据库中进行相似搜索,得到最终与query最匹配的上下文,其中有一个预定义的SQL函数match_documents,主要用作文本向量的匹配搜索,具体会在后面介绍,在 github/lowcode.ai中也有详细的定义和说明。

最后,我们工具拿到的搜索返回值,来构造GPT 3.5接口的prompt上下文,关键代码如下:

async function getChatGPT (query, documents){    let contextText = "";    if (documents) {        for (let i = 0; i < documents.length; i++) {            const document = documents[i];            const content = document.content;              const url = encodeURI(document.metadata["filename"]);            contextText += `${content.trim()}\n SOURCE: ${url}\n---\n`;        }    }    const systemContent = `You are a helpful assistant. When given CONTEXT you answer questions using only that information,and you always format your output in markdown. `;    const userMessage = `CONTEXT:      ${contextText}      USER QUESTION:       ${query}`;    const messages = [        {          role: "system",          content: systemContent        },        {          role: "user",          content: userMessage        }    ];      const chatResponse = await fetch(        OPENAI_URL + "/v1/chat/completions",        {            method: "POST",            headers: {                "Authorization": `Bearer ${OPENAI_API_KEY}`,                "Content-Type": "application/json"            },            body: JSON.stringify({                "model": "gpt-3.5-turbo",                 "messages": messages,                "temperature": 0.3,                 "max_tokens": 2000,            })        }    );    return await chatResponse.json();}

上述代码中核心是上下文的构造,由于GPT3.5之后的接口,支持指定role,可以将相关系统角色的prompt放在了systemContent中,至于/v1/chat/completions接口入参说明由于之前的文章中有过介绍,这里也不赘述,有任何疑问大家也可以到「漫话开发者」公众号留言询问。

以上,query的搜索部分完成了,到此所有后端接口的核心逻辑也都完成了,可以看到几个关键流程的实现是不是很简单呢。

3. 将所涉及代码部署到微搭低代码的云函数中

完成后端代码开发后,接下来就是把相应的运行代码部署到微搭低代码的云函数中,综上可知,主要是两部分的后端代码,一部分文档的向量化并入库(这部分本地Node环境运行亦可),另一部分就是实现搜索词匹配构建prompt后调用GPT接口查询了。

微搭低代码的云函数入口,可以在数据源->APIs->云函数中找到,如下图所示:

如果第一次使用云函数,需要点击图中链接跳转到云开发云函数中进行云函数的新建,如下图所示:

新建完成后,点击进入云函数详情页,选择”函数代码“Tab,然后在下面的提交方法下拉框中选择”本地上传ZIP包“即可上传前面完成的后端逻辑代码,也可以直接下载 github/lowcode.ai打包后上传。上传成功后,第一次保存别忘了点击”保存并安装依赖“来安装对应的npm包。

在完成云函数新建和代码上传后,回到上一步的微搭数据源APIs界面中刷新页面,即可看到刚刚新建好的云函数openai,选中该云函数,并按要求正确填写对应的出入参结构,测试方法效果并保存后,即可在第一章的前端界面”发送“按钮中绑定调用数据源事件进行调用了。

4. 完成开发联调,发布应用

完成上述后端逻辑以及云函数配置后,可以切到编辑器的页面设计模块,回到第一章的界面设计来进行事件的配置,完成后点击编辑器右上角的“发布”按钮,可以选择发布到你已绑定的小程序,也可以直接发布Web端H5/PC应用。

至此,一个垂直知识库的AI问答机器人应用基本就搭建完成了。

四、附录说明

1 数据库PostgreSQL的初始化

本文中采用的PostgreSQL作为向量数据库,其中涉及到的建表结构定义参考如下:

create table documents (  id bigserial primary key,  content text, -- corresponds to Document.pageContent  metadata json, -- corresponds to Document.metadata  embedding vector(1536) -- 1536 works for OpenAI embeddings, change if needed);

涉及的SQL函数match_documents的定义参考如下,其中query_embedding表示query关键词的向量值,similarity_threshold表示相似度,一般情况下要求不低于0.1,数值越低相似度也越低,match_count表示匹配后的返回条数,一般情况下2条左右,取决于前文的分块chunk定义大小。

create or replace function match_documents (  query_embedding vector(1536),  similarity_threshold float,  match_count int)returns table (  id bigint,  content text,  metadata json,  similarity float)language plpgsqlas $$begin  return query  select    documents.id,    documents.content,    documents.metadata,    1 - (documents.embedding <=> query_embedding) as similarity  from documents  where 1 - (documents.embedding <=> query_embedding) > similarity_threshold    order by documents.embedding <=> query_embedding  limit match_count;end;$$;

所有上述的内容数据库SQL schema以及部分训练备用文本数据都已经放到github,大家可以关注定期更新,按需采用: github/lowcode.ai

2 体验试用

可以通过Web端体验作者搭建的Web版文档机器人,同时得益于微搭低代码的一码多端,同步发布了一个小程序版本,大家可以扫码体验。

低代码文档AI小程序

由于目前自建向量库的性能局限以及有限的预处理文档数据,响应可能比较慢,准确性偶尔也会差强人意,还请各位看官谅解,抽时间再持续优化了,本文还是以技术方案的探讨交流为主。

3 最后

通过本教程的介绍,你已经基本熟悉了如何使用微搭低代码快速搭建垂直知识库的AI问答机器人了,有任何疑问可以关注「漫话开发者」公众号留言。

用低代码创建一个GPT的聊天应用很简单,实现一个垂直领域的AI问答应用也不难。未来不管被AI替代也好,新的开发者时代来了,先动手试试,make your hands dirty first, enjoy~

上一篇 : 3月以来共有156只基金新成立 较2月翻倍增长

下一篇 : 最后一页

x 广告
高层声音

焦点讯息:如何用低代码搭建训练一个专业知识库问答GPT机器人

2023-03-31

3月以来共有156只基金新成立 较2月翻倍增长

2023-03-31

【时快讯】南航深圳至台北航线复航 首航航班台胞近九成

2023-03-31

全球今日报丨外资巨头加码投资 中国彰显开放“磁吸力”

2023-03-31

庆余年2将回归的角色有哪些-环球视讯

2023-03-31

热推荐:(经济)3月份我国制造业PMI为51.9%

2023-03-31

大华股份(002236)3月31日13点34分触及涨停板_世界观点

2023-03-31

微笑刺客:忘了谁说过没人怕LBJ 但西部前七没人想首轮碰他

2023-03-31

天天滚动:让GPT-4当老板做投资 歪果仁试完说“不太行”

2023-03-31

当前看点!少林寺传奇第二部电视剧全集_少林寺第二部

2023-03-31

青海:“税费管家”让税费服务实现全流程全周期-当前快播

2023-03-31

天天通讯!马卡:巴萨今年夏窗不打算在右后卫位置上引援

2023-03-31

环球精选!2023年重庆市院士专家科普校园行活动启动

2023-03-31

天文学家观察到超大质量黑洞:是太阳质量的300亿倍以上

2023-03-31

黑色汽车划痕怎样处理 黑色汽车划痕小妙招

2023-03-31

校友会最新211和985大学最新排名 全国公办三本大学有哪些 世界热文

2023-03-31

全球简讯:黑龙江省哈尔滨市2023-03-30 22:41发布霾黄色预警

2023-03-31

京极真出场集数(密涅瓦兽出场集数)|世界快播

2023-03-30

2022年度山东省员额检察官建议人选名单公示

2023-03-30

外交部:愿同沙特在上合组织框架内加强合作|世界今热点

2023-03-30

环球百事通!德意志文化 1945~2000年

2023-03-30

诺德基金朱明睿:医药板块今年有望迎来反攻

2023-03-30

天天热门:巴西农牧业部部长卡洛斯·法瓦罗:中巴两国贸易往来将更加广阔

2023-03-30

固定资产进项税如何做会计分录?

2023-03-30

微软推出AI安全产品Copilot:GPT-4提供支持,可防御65万亿安全威胁|焦点

2023-03-30

快递单号生成app_求真实快递单号生成器|热点

2023-03-30

焦点快播:露营倒闭潮来袭,年轻人称“能旅游,谁花钱露营”

2023-03-30

天天快报!港股午评:恒生科技指数跌1.12% 汽车股、啤酒概念股活跃

2023-03-30

全斗焕之孙全宇元:有机会将向光州事件受害者道歉|世界时快讯

2023-03-30

黄金t+d早盘盘初下跌0.10% 暂报436.73元/克

2023-03-30

天天要闻:以青春之名燃护旗薪火 新科学校举行国旗班换届交接仪式

2023-03-30

莱坊指通关令内地买家重返香港豪宅市场

2023-03-30

世界实时:资料整理工作计划及目标(通用8篇)

2023-03-30

青松建化(600425):3月29日北向资金减持35.63万股

2023-03-30

照烧酱配方_这下在家也能做日式料理了

2023-03-30

爹爹网购电动自行车上牌一波三折,民警提醒:市民要通过可靠渠道购买合规产品

2023-03-30

最新:五仁月饼青红丝是什么_青红丝是什么

2023-03-29

焦点速看:大港油田建成10万吨级页岩油效益开发示范平台

2023-03-29

华龙期货2022年度净利润同比下滑228.99%|全球热门

2023-03-29

2022年中国金融期货交易所2年期国债期货成交量及成交均价统计

2023-03-29

郑州市房协出台房企信用激励措施:优先推荐AAA级房企参与保障性住房建设 报道

2023-03-29

天天微头条丨吉网聚焦|展出标本千余种 长春这个展馆免费开放!

2023-03-29

全球今日报丨银河电子:2022年度净利同比增长1263.97% 拟10派1元

2023-03-29

极目锐评|男子求职被要求在杭州本地买房,这公司不如直接发套房?

2023-03-29

库里39+8莺歌26+8 勇士主场逆转鹈鹕

2023-03-29

客户代表

2023-03-29

美元下跌不要怕,年内仍有一波上涨行情?凯投宏观坚持看多 焦点关注

2023-03-29

环球焦点!可立克(002782):开展金融衍生产品交易业务的公告

2023-03-29

快报:长安跨界新公益再进阶,深化酉阳茶油可持续发展模式

2023-03-29

昆明学院音乐舞蹈学院与昭通市教育体育局共同举办“昭通市2023年美育浸润行动计划研修班”

2023-03-29

国家智慧教育读书平台官网入口在哪怎么进|每日热门

2023-03-29

环球今日报丨拉稀拉水吃什么饭_拉稀拉水吃什么药管用

2023-03-29

短讯!同济樱花盛放,来看粉色“云”海 | 花开高校 绝美杨浦

2023-03-29

宜兴属于哪个省哪个市文件_宜兴属于哪个省哪个市|世界最资讯

2023-03-29

水岸经济、夜经济、数字经济!北京这样让消费“热”起来|时快讯

2023-03-28

中国磷化工产业链节能与绿色低碳提升项目在贵阳启动_天天速看料

2023-03-28

董承非走后,谢治宇是怎么把兴证全球往坑里带的?

2023-03-28

第七届环大瑶山自行车挑战赛开赛 焦点简讯

2023-03-28

养殖板块走强,立华股份、圣农发展涨超6%,养殖ETF(159865)涨超1% 全球要闻

2023-03-28

全球讯息:一级残疾赔偿金的计算方法_残疾赔偿金的计算方法伤残赔偿系数

2023-03-28

环球快播:544起侵权官司葛优几乎全胜:网络热词“葛优躺”不能随便用

2023-03-28

全球快看点丨喊话毕业生:河北组团“邀”人啦!

2023-03-28

大米面发糕的做法不用烤箱 大米面发糕的做法

2023-03-28

立志而圣则圣矣_立志而圣则圣矣立志而贤则贤矣

2023-03-28

全球最新:61岁的梁朝伟,获威尼斯电影节终身成就奖!刘嘉玲发文庆祝

2023-03-28

环球头条:大连重工:3月27日融资买入643.58万元,融资融券余额2.29亿元

2023-03-28

四川省纳溪区发布大雾黄色预警-全球热门

2023-03-28

吴启华风采不减成男神,为魔幻巨作《魔域手游2》发视频以示祝贺

2023-03-28

百合花(603823):3月27日北向资金增持5.73万股

2023-03-28

河南省公办专科学校_河南省公立专科学校

2023-03-28

星尘佣兵 小说_星尘佣兵

2023-03-27

四川省道孚县发布道路结冰黄色预警 世界短讯

2023-03-27

徐静蕾在婆婆面前好卑微,穿得像保姆太朴素,也能走出时髦辣姐范

2023-03-27

化学制药行业现状调研及发展前景分析2023 世界快讯

2023-03-27

世界热头条丨美好医疗(301363)3月27日主力资金净卖出23.07万元

2023-03-27

央行连续4个月购入黄金 至2月份累计增持黄金102.02吨

2023-03-27

ppt里超链接怎么做-ppt超链接怎么做步骤图片-世界讯息

2023-03-27

考古“奥斯卡”迎来终极PK 温州朔门古港凭什么_环球观焦点

2023-03-27

世界快讯:职业棒球场采用亚马逊Just Walk Out无摩擦购物

2023-03-27

天天新资讯:云南全面推行专业技术人员职称电子证书

2023-03-27

云路股份:公司非晶合金干式变压器已广泛应用于数据中心领域_环球看热讯

2023-03-27

瑞士财长复盘:若不合并,瑞信熬不过第二天

2023-03-27

土地出让合同印花税_土地出让合同 每日热文

2023-03-27

小站课文插图_小站课文

2023-03-26

每日热文:TES双C西装现身微博之夜,合影胡歌,Rookie直夸:他太帅了

2023-03-26

笔记本尺寸对照表_笔记本尺寸

2023-03-26

全球视点!古典大师风采依旧!44岁里克尔梅纪念赛再秀优雅摆脱、巧妙直塞

2023-03-26

此笔交易没有可用的认证方式或超过限额是怎么回事_此笔交易没有可用的认证方式或超过限额_天天看热讯

2023-03-26

关于雨的歌词 滚动

2023-03-26

环球焦点!镖行天下之前传全集顺序_镖行天下前传全集顺序是怎样的

2023-03-26

实时焦点:李大霄喊话:今年大牛市即将启动,明天是三亿散户最佳抄底机会

2023-03-26

哈利波特与魔法石读后感_哈利波特与密室读后感

2023-03-26

滚动:《采矿许可证》_采矿许可证管理条例

2023-03-25

为什么普通人千万不要买基金|世界即时看

2023-03-25

法国4比1横扫荷兰,姆巴佩王者归来

2023-03-25

春天多给孩子吃6种美食,营养健康,调出好脾胃,个子还能窜一窜 天天速读

2023-03-25

山西运城平陆县有多少个镇

2023-03-25

希腊神话故事的作者是谁_希腊神话故事读后感50 天天微动态

2023-03-25

焦点精选!罗氏抗流感药物速福达?儿童适应症在中国获批

2023-03-25

厚植制造业数字化优势

2023-03-25

热讯:卡莱特03月24日获深股通增持1.07万股

2023-03-25

冠豸山旅游攻略_当前快播

2023-03-25

【天天速看料】单反相机各种镜头作用_单反相机镜头分类

2023-03-25

信阳光山:忙碌的社区民辅警 群众身边的“贴心人”_速递

2023-03-25

本周末为祭扫高峰日 交管部门提醒前往墓地陵园请先预约、有序停车_全球即时

2023-03-24

黑龙江工运史首次!开设劳模工匠学历提升班 视讯

2023-03-24

【全球报资讯】aabc的四字词语大全_aabc的四字词语

2023-03-24

长平之战简介

2023-03-24

世界热议:紫云县大营镇打哇坪村:召开低保评议会 构建低保安全网

2023-03-24

环球微速讯:女子举报医生丈夫出轨,医院通报!

2023-03-24

全球快看点丨东吴证券:数据安全是数据要素市场化顺利开展的保障

2023-03-24

每日时讯!国企职工入党申请书怎么写_国企职工入党申请书

2023-03-24

焦点报道:最简单最快有效的解酒方法有什么_快速解酒的方法有哪些

2023-03-24

天天观焦点:多久做一次爱算正常

2023-03-24

焦点快播:重庆周边看花的地方_看花的地方

2023-03-24

即时:足坛历史第3人!梅西解锁生涯800球里程碑,只差30球追上C罗

2023-03-24

最新!吉黑高速黑河至沾河段陆续放开限行,限速80km/h_资讯推荐

2023-03-24

【天天新要闻】用亲身经历说说,小孩子要不要学炒股。

2023-03-24

3月23日基金净值:广发多元新兴股票最新净值1.8261,跌0.27%_世界快播

2023-03-24

全球热推荐:2023年社保恢复一次性补缴了吗?

2023-03-23

忘掉我是谁剧情介绍

2023-03-23

dior唇膏的保质期怎么看?

2023-03-23

47岁蔡少芬真嫩,背影像少女,穿时髦衣服扎双马尾太减龄-看热讯

2023-03-23

每日速看!难得的“双春闰二月”年:闰月龙抬头习俗大揭秘

2023-03-23

2023年社保缴纳标准是多少,2023年社保缴费基数上调多少?

2023-03-23

天天热点!早午餐合成一顿反而容易胖 医生这样说

2023-03-23

元宵节的意义是什么-焦点速读

2023-03-23

拆迁:黑白两道的争夺 官商之间的博弈 天天滚动

2023-03-23

贵阳9-45岁女生能约九价了吗?

2023-03-23

天天热消息:cfa5月考季备考焦虑?冲刺阶段怎么学?

2023-03-23

昆药集团2022年营收平稳增长 呈现多个经营亮点

2023-03-23

九江学院专升本_九江学院论坛-今日报

2023-03-23

2022年十月份黄道吉日有哪几天 2022年10月最吉利的日子一览表

2023-03-23

速看:富力地产(02777.HK):3月22日南向资金减持66.72万股

2023-03-23

心死莫大于哀是什么意思 心死莫大于哀|全球球精选

2023-03-23

疯狂碳酸锂:从月赚3000万到利润腰斩_全球要闻

2023-03-22

桃花朵朵开,春风醉满间!快来河北镇感受诗经里的浪漫春天

2023-03-22

玛娃台风多少级|天天看点

2023-03-22

苗族传统刺绣传承人韦祖英—— 一针一线 指尖生“花”(工匠绝活) 全球快播

2023-03-22

世界通讯!“3C智能制造创新联合体”创新成果涌现

2023-03-22

肩周炎最好的治疗方法是啥_肩周炎的治疗方法是什么 环球快讯

2023-03-22

环球微头条丨tiggo8是什么车

2023-03-22

每日动态!三年级音乐老水牛角弯弯教案及反思_大班音乐教案老水牛角弯弯反思

2023-03-22

南瓜粥的功效与作用及营养价值_南瓜粥的功效与作用

2023-03-22

资讯推荐:角磨机型号规格功率_角磨机型号规格

2023-03-22

全球热头条丨有一种美,叫大英博物馆95号陈列厅!

2023-03-22

时代邻里预期2022年度盈转亏 归母净亏损不超2.3亿元|热点评

2023-03-21

好听又清新的网名 清新一点好听的网名推荐 环球通讯

2023-03-21

【全球快播报】公务员招考年龄放宽 更倾向吸纳高学历人才

2023-03-21

一口气没撑住,小麦突然上演“惊魂跳水”,这次会不会很惨烈?_今日热门

2023-03-21

李家超:香港金融及银行体系稳健,流动性充裕

2023-03-21

如何用新鲜的根种植干燥和研磨自己的姜黄粉|世界速递

2023-03-21

42.5万提了辆宝马X3,2个月后再开奔驰GLC,车主:开完才知道差距

2023-03-21

剑名不奈何62章_剑名不奈何-全球视讯

2023-03-21

浙江老年报报业有限公司_浙江老年报

2023-03-20

福岛事故12年,日本回到起点福岛事故12年,日本回到起点

2023-03-20

多地银保监局发文 优先保障春耕备耕金融需求 世界通讯

2023-03-20

LPR已连续7个月“按兵不动”,房贷后续还会降吗? 看点

2023-03-20

田野里生长出了“艺术节”

2023-03-20

广汉市向阳镇加强区域协作 共建平安向阳 世界热文

2023-03-20

全球今热点:儿子哈利生日穿女装被骂,伊能静再次霸气力挺:这是我儿子我爱他

2023-03-20

六一儿童节礼品方案_儿童节礼品推荐

2023-03-20

为什么迅雷下载显示任务出错_为什么迅雷下载总是任务出错

2023-03-19

世界球精选!国产新车品鉴:BAC Mono R官图 限量30辆/古德伍德亮相

2023-03-19

山西山阴发生一起重大刑事案件,警方最高悬赏5万元征集线索

2023-03-19

芯朋微:750万股限售股将于10月17日解禁_天天滚动

2023-03-19

看点:人民的名义高小凤结局是什么(告诉你人民的名义高小凤结局是什么)

2023-03-19

信息:销售货物发生销售折让的会计分录_销售折让的会计分录

2023-03-19

在excel中汇总同类_excel怎么把同类汇总

2023-03-19

天天头条:武汉体育大学录取分数线(武汉体育大学录取分数线)

2023-03-18

2020年电视剧安家在哪个台播放_在东方卫视北京卫视播出

2023-03-18

贾乃亮家庭背景曝光(贾乃亮家庭背景)

2023-03-18

每日时讯!王宝强分手4年,儿子跟自己女儿跟前妻,如今两人教育方式差太多

2023-03-18

四川话铲铲是什么意思_铲铲四川话什么意思 世界要闻

2023-03-18

花开过就会腐朽 雪落下化为乌有

2023-03-18

今日要闻!加仓!加仓!巴菲特出手 再买入790万股

2023-03-18

lol哪个区玩家多_lol哪个区高手多

2023-03-17

高远 原子核_高远原子弹_天天新消息

2023-03-17

给158以下女生的穿搭建议:短外套+连衣裙!时髦洋气,关键是显高

2023-03-17

今日开展!来湖北美术馆看“2023湖北漆艺三年展”-天天看点

2023-03-17

世界资讯:山远成云成语典故视频讲解_山远成云

2023-03-17

刘强东痛恨的PPT大师,要被微软终结了? 环球聚看点

2023-03-17

厦门保险业开展反诈公开课 守护消费者钱袋

2023-03-17

世界热点!谜拟q性格配招_大食花性格配招

2023-03-17

江泰保险:监事涉嫌与三股东“绑定” 资产独立性或遭关联方侵蚀

2023-03-16

锦江集团发布上海国企促消费行动第二季活动亮点 “酷夏畅玩”将引爆申城

2023-03-16

大宗交易:正海生物成交1924.05万元,成交价48.91元(03-16)_播报

2023-03-16

卫生间隔断材料有哪些-环球速看料

2023-03-16

02月12日湖州前往海东出行防疫轨迹疫情政策汇总

2023-03-16

吃橘子可以美白吗_吃橘子有什么好处|每日热文

2023-03-16

女生变声期嗓子有什么感觉_女生变声期

2023-03-16

贵州至长江中下游地区有明显降雨 新疆北部将有雨雪和大风降温天气

2023-03-16

每日观点:洛克王国立方人什么性格好_洛克王国解析立方人

2023-03-16

江西石城县:维权宣传 提高市民打假维权意识

2023-03-16

虬怎么读_虬

2023-03-15

名额少!1.5亿锂电池项目招标!|今热点

2023-03-15

微动态丨开封通许县邸阁乡:小麦春管“精准把脉” 助力夏粮丰产丰收

2023-03-15

查处违法案件642件 四川医疗美容行业突出问题专项治理成果公布-全球焦点

2023-03-15

东方证券:给予中国中免买入评级,目标价位271.04元 每日速递

2023-03-15

当前讯息:有缘无分无缘无份有份无缘各是啥意思_有缘无分无缘无份有份无缘的解释

2023-03-15

返回顶部