当前位置: 首页 > news >正文 临沂网站建设哪家公司好网站ftp目录 news 2025/10/24 5:58:43 临沂网站建设哪家公司好,网站ftp目录,在dw里网站页面列表怎么做,北京网站排名优化公司从Full-Text Search全文检索到RAG检索增强 时光飞逝#xff0c;转眼间六年过去了#xff0c;六年前铁蛋优化单表千万级数据查询性能的场景依然历历在目#xff0c;铁蛋也从最开始做CRUD转行去了大数据平台开发#xff0c;混迹包装开源的业务#xff0c;机缘巧合下做了实时…从Full-Text Search全文检索到RAG检索增强 时光飞逝转眼间六年过去了六年前铁蛋优化单表千万级数据查询性能的场景依然历历在目铁蛋也从最开始做CRUD转行去了大数据平台开发混迹包装开源的业务机缘巧合下做了实时数据集成入湖对传统Java的栈和大数据栈以及他们之间的衔接层有了比较全面的了解。现如今大模型业务蓬勃发展铁蛋也想乘着这波东风谋求更好的发展最近刚开始接触这块的技术对RAG相关的技术比较感兴趣但是一直没有很了解这里面的关系这玩意搞不清楚就很难受 于是铁蛋决定袖子一撸干他完了。 事情还得从最开始说起第一次接触到RAG是听说大模型在回答一些领域特定知识or一些时效性的数据的时候容易出现幻觉胡说八道。For Example 看到这个回答铁蛋老师都快要吐血了你说你不知道一个有名的程序员王铁蛋也好 别说成是铁蛋机器人呀 压压上升的血压后铁蛋定睛一看原来这些知识都来源于外部知识网页搜索看来还是自己不够有名呀模型本身的数据中不包含自己就算了网上也搜不到这个气呀 气归气闹归闹学习知识最重要 铁蛋仔细回忆了下在国内问答模型发展之初林黛玉倒拔垂杨柳的问题很生动的展示了模型的幻觉问题它可以把两个完全不想干的事一本正经的给串联起来返回给发问的用户 这一次是铁蛋自己本身的遭遇。 好了到这我们对RAG在智能问答中发挥的作用有了一丝感觉了记住这个感觉我们继续往下探索。 铁蛋现在心里有个感觉就是RAG检索增强就是个方案简单点就是RAG 搜索 模型总结此时铁蛋心里就又有疑惑了既然是搜索总结那为什么老是听到有人说向量检索呢这中间到底有什么不为人知的秘密 大家再回忆下自己平时是怎么使用搜素引擎的在一个输入框中输入一段想要搜索的内容的描述搜索引擎返回一个一个的搜索结果列表按照匹配的程度从高到低排序有钱插队的忽略广告创收的也忽略当然现在的搜索引擎也是融合了多种搜索技术的混合搜素大家不用太较真能说明问题即可然后我们自己再去一个一个甄别哪一个或者哪几个是我们需要的在智能问答的时代结合搜索总结的能力我们的搜索习惯变成了向模型发问模型自己去搜索然后将搜索出来的结果进行汇总整合成一个完整的逻辑来回答我们的发问在这个过程中我们可以一直进行追问和补充描述让模型的回答更加的准确或者说更加符合我们的预期。 技术的发展带来了用户行为的改变 look like this 铁蛋心想如果事情只是这样的话原本自己搞过的全文检索能力配合模型总结能力已经能够满足RAG的方案了那这里面还有向量检索什么事 其实谜底就在谜面里RAG 是个方案RAG是个方案的话那这个方案配合什么技术来实现就完全取决于要解决的问题场景相比于全文检索向量检索肯定是有他独到之处那到底全文检索有什么局限之处导致RAG方案中大家普遍采用向量检索的方案呢 对啊到底是什么原因呢 经历一顿老程序员的疯狂Goggle之后终于发现了一些端倪。 下面就简单对比下两者的区分。 在开始对比之前铁蛋想简单啰嗦两句不管是全文检索还是向量检索他们都不是万能的各有千秋或者说他们各自有各自适合的场景今天我们的侧重点就在智能问答的场景下进行。 全文检索的原理简单理解是通过分词器 (简单理解就是把用户的输入按照对应语言的特点进行拆分成单词或者词组) 把用户的输入进行分词然后在构建的文档索引文档也是被分词后进行存储中进行查找召回 最后通过文本相关性的算法对结果进行打分排序最后得到的就是我们看到的搜索结果。 向量检索的原理简单理解是通过 Vector Embedding把用户的输入文字图片视频等进行向量化然后在向量数据库中搜索相似的向量文档被向量化存储到向量数据库最后根基相似度召回最相似的内容中间涉及一些相关性排序来计算查询和文档之间的相关性来提高搜索的准确性当然在智能问答的场景中召回的这部分结果不会直接返回而是喂给大模型进行总结输出。 OK 现在脑子里有个简单的概念之后我们从几个维度对比下这两种方式的的区别 功能维度全文检索向量检索数据类型主要适用于文本类型可以处理多种数据类型如文本、图像、音频等数据处理将文本分词后存储将数据转换成高维向量后存储索引构建构建倒排索引记录每个词出现的文档及其位置构建向量索引记录每个向量及其对应的文档查询处理用户输入文本通过分词器将其拆分成词或短语用户输入数据通过嵌入模型将其转换成向量相似度计算基于关键词匹配使用布尔逻辑、TF-IDF等基于向量相似度使用余弦相似度、欧几里得距离等召回方式通过倒排索引快速定位包含关键词的文档通过向量索引快速找到与查询向量最相似的文档相关性排序基于关键词频率、位置、文档权重等进行排序基于向量相似度和高级模型如深度学习模型进行排序应用场景文档搜索、网站搜索、图书检索等推荐系统、图像搜索、语音识别、自然语言处理等处理速度通常较快尤其是在处理大量文本数据时通常较慢特别是在高维向量空间中进行搜索时资源消耗存储和计算资源相对较少存储和计算资源较多特别是向量索引和相似度计算灵活性较低主要依赖关键词匹配较高可以处理复杂的数据结构和语义关系准确性对于精确匹配的查询效果较好对于模糊匹配和语义相似的查询效果较好扩展性扩展性较好可以轻松添加新的文档扩展性较好但需要更多的计算资源来处理新增数据可解释性较强可以通过关键词和文档位置进行解释较弱向量空间的解释性较差但可以通过可视化辅助语义理解无法捕获语义与相似性支持语义相近搜索 咳咳 哈哈铁蛋上面的表格明显作弊了哦不过不要紧都是为了学习知识知识最重要。 到了这里我们对全文检索和向量检索已经有了个初步的了解全文检索铁蛋已经腻了向量检索才是铁蛋的新欢既然是新欢 那必须得好好的了解一番。 向量检索向量检索那就分向量检索两块来看又要回忆下铁蛋为数不多的数学知识了。 首先我们回忆下什么是向量如图所示在数学概念中向量是有大小有方向的量。 当然向量有多重不同的表现形式 字母加箭头 a ⃗ \vec{a} a 几何表示 坐标系表示 矩阵表示 [ 1 2 3 4 5 6 7 8 9 ] \begin{bmatrix} 1 2 3 \\ 4 5 6 \\ 7 8 9 \end{bmatrix} \ 147258369 OR [ 1 2 3 4 5 6 7 8 9 ] \begin{bmatrix} 1 2 3 4 5 6 7 8 9 \end{bmatrix} [123456789] 这该死的数学记忆又被唤醒铁蛋现在满脑子点线面。。。。。。。啊面什么面牛肉面吗 从上面可以发现以人类可以感知的形式来表示高维向量是比较困难的三维向量我们可以在三维坐标系中表示到了4维甚至更高维度我们已经没法想象了但是我们可以通过数学的矩阵or多维数组来表示虽然没法想象但是能表示就有的搞。 认识了向量之后我们继续了解检索的事想象一下平时我们是怎么找人的可能会有如下对话 A你认识铁蛋老师吗 B不认识你能描述下吗 A就是那个长得威武霸气英俊潇洒坐在角落的小伙。 B哦哦哦哦知道了就是那个短发戴方框眼镜穿着T恤的大叔是吧。 A是的是的 。。。。。。。。 发现没我们会对一个人用各种特征进行描述只要你描述的足够详细就能够很准确的找到对应的这个人。 同理以此类推任何数据都可以通过 特征描述构建高维的特征空间 去尽可能详细的去表征这些高维特征可以通过多维数组or矩阵来表述我们可以称之为 张量tensor 虽然我们没法感知到更高维的坐标系到底是什么样的但是从一维二维和三维空间坐标系中我们能够得出一个结论可以通过计算两个向量之间的距离来表征这两个向量之间的相似性 跟随铁蛋继续往下 向量之间的距离可以表示相似离得近代表相似 离得远代表不相似那到底怎么去计算呢 高维空间向量我们比较难以想象和理解我们从人最好理解的二维空间出发进行理解进而推导出N维空间向量的距离计算方法。 铁蛋研究了几种常见的经典的计算方式欧几里得距离 和、 余弦相似度、点积相似度。 欧几里得距离从坐标系可以看出线段P的长度就是欧几里得距离。 很明显欧几里得距离在两个向量的长度不断延伸时会不断增大所以欧几里得距离算法可以反应向量的绝对距离适用于需要考虑向量长度的相似性计算例如在推荐系统中需要根据用户的历史行为来推荐相似的商品这时就需要考虑用户的历史行为的数量而不是仅仅是用户的历史行为的相似度。 余弦相似度余弦相似从坐标系可以看出是在计算两个向量之间的夹角的Cos值。 总结 cos ( α ) A ⋅ B ∣ A ∣ ∣ B ∣ \cos(\alpha) \frac{\mathbf{A} \cdot \mathbf{B}}{|\mathbf{A}| |\mathbf{B}|} cos(α)∣A∣∣B∣A⋅B 其中 A \mathbf{A} A 和 B \mathbf{B} B 分别表示两个向量 ⋅ \cdot ⋅ 表示向量的点积 ∣ A ∣ |\mathbf{A}| ∣A∣ 和 ∣ B ∣ |\mathbf{B}| ∣B∣ 分别表示两个向量的模长。 从图中可以看出来无论向量长度如何变化余弦相似度不受长度变化影响只受向量方向的变化影响因此更适用于高维向量的相似性计算例如语义搜索和文件分类。 点积相似度 向量的点积相似度是指两个向量之间的点积值 计算公式如下 A ⋅ B ∑ i 1 n A i B i \mathbf{A} \cdot \mathbf{B} \sum_{i1}^{n}A_i B_i A⋅Bi1∑nAiBi 其中 A \mathbf{A} A 和 B \mathbf{B} B 分别表示两个向量 n n n 表示向量的维度。 从图中可以看出点积相似度受两个向量之间的夹角和长度两个因素影响兼顾了向量的长度和方向。适用场景较多例如图像识别、语义搜索和文档分类等。但点积相似度算法对向量的长度敏感因此在计算高维向量的相似性时可能会出现问题。 铁蛋长舒一口气终于把向量和向量之间的相似度计算方法的基本原理搞清楚了个大概一鼓作气继续探索下怎么检索。 原始数据被向量化存储 用户输入的数据在检索时也被向量化成相同维度的向量跟原始数据进行相似度计算继续回想下我们上面找人的例子。 如果铁蛋老师没啥特点那么在你不认识的情况下想要从人群中找出他你就需要记住更多的特征你记住的特征越多脑容量占用越大虽然我也不知道有没有脑容量这回事只是简单比喻下在把记住的特征应用到具体的人身上进行比对匹配的时候你花费的时间久越多。 铁老师敲黑板了抓重点空间占用大 检索时间久 从上面推导出来的相似性算法的公式中我们也能比较直观的看出来影响检索速度的方面有两个方面 减少向量的大小减少维度或者减少向量的长度 缩小搜索的范围主要是通过一些索引技术来实现类比关系型数据库的索引通过空间换时间。 降维稍微有点难度需要点数学知识哈哈柿子先挑软的捏我们先从缩小搜索的范围这个方面下手 好了铁蛋老师回来了疯狂Google了两小时咳咳 那么接下来就给大家科普下常见的几种缩小搜索范围的手段。 K-Means聚类 做过分类任务的朋友对K-Means应该不会陌生K-Means算法会通过划分聚类中心将一组数据分成K类这样不管你有多少的数据量经过聚类后搜索之前先跟聚类中心的点进行比较先判断落到哪个分类中然后再在这个分类中进行小范围搜索搜索的数据范围直接缩减成原来的 1 K \frac{1}{K} K1。 上面的图简单示意了下在二维空间中将一组数据分成4类 每类数据都有一个聚类中心点铁蛋也仅仅知道聚类点是不断重复迭代计算出来的具体的细节大家可以自行Google。 上图形象的展示了数据的分布大家可能会发现一个问题。如果某个点落在两个分类的中间那么简单的去计算跟中心点的相似程度可能会漏掉最相似的部分用局部【中心点】代替了全部边缘部分的数据的特点就容易被忽略。 另外在真实的场景中数据的分布式更加复杂的一种情况区域跟区域之间的边界往往是相邻的如下图所示。 假定图中q点是输入的数据 x点是某个聚类中心点当qx之间的距离小于某个值n的时候搜索的范围就限制在当前q点落进去的区域当qx之间的距离大于n的时候搜索的范围扩大到邻近的聚类区域。 从上面的权衡我们也能看出来除了暴力搜索全部对比之外其他的搜索算法知识在速度和质量以及内存上做的一个权衡这些算法被称之为近似最相邻 ANNApproximate Nearest Neighbor。 再接再厉继续干他 在开始之前我们先想一个问题上面的例子中我们在二维空间中演示了对向量数据进行聚类来减少搜索的数据范围从图中来看感觉一切都正常但是如果把这个数据量放大 维度放高上千维我们就会发现本身存储原始的向量数据已经耗费了大量的空间除此之外我们还要额外维护聚类中心为了搜搜效果维度越高维护的聚类中心需要更多以及每个向量和聚类中心的索引造成内存占用过大怎么解决呢 且听铁蛋娓娓道来。 Product Quantization (PQ) 乘积量化 量化是一种解决直接进行k-means聚类产生的问题的手段在开始之前我们先想想前面提到的问题。 高维向量在聚类的时候为了维持较好的搜索效果就需要更多的聚类中心 Why 网上给的大部分原因说随着维度的增加会出现维度灾难点跟点之间的距离会出现快速增长数据在高维空间中就分布的很稀疏距离稀疏而且点跟点之间的距离都趋于相等称之为距离的均匀性因此为了更好的分类效果需要维持更多的聚类中心。 铁蛋去网上看很多人都这样说但是铁蛋不明白为啥 从上面的相似度计算公式的特点中来看余弦相似度表征的是两个向量之间夹角的余弦值理论上受维度影响较小那为什么大家都会有这个论调呢 原来问题在算法上业界常用的k-means聚类算法通常使用的是欧式距离而欧式距离从公式上来看距离的值会随着维度的增加而增加。点跟点之间的距离趋于相等从数学的角度也能够得出 具体细节大家可以去查 主要也是从方差期望这些可以反应数据离散程度的公式可以看出。 So 高维空间中直接聚类需要更多的聚类中心对前面的优化检索速度的方式产生了挑战。为了解决这个问题可以通过将原本的高维度向量拆分成多段低维度向量 多个高纬度的向量拆分的子向量组成子向量集然后为每个子向量集通过k-means的方式生成聚类中心组成码本最后计算码本中跟子向量中最近的点用这个最近的点的索引来表示这个子向量如下图所示 在使用的时候可以通过这个编码后的新向量码本的索引 码本 还原出一个近似的高维向量举个例子 量化 128维的向量 》 拆分成8个16维的子向量 》对比码本生成一个包含8个码本索引的向量 还原 8个码本索引 》 查找码本找出 8 个 16 维的子向量 》 组成跟原始向量近似的128维向量 我们继续探索往下看另外一种优化算法。 Hierarchical Navigable Small Worlds (HNSW) 除了聚类以外也可以通过构建树或者构建图的方式来实现近似最近邻搜索。这种方法的基本思想是每次将向量加到数据库中的时候就先找到与它最相邻的向量然后将它们连接起来这样就构成了一个图。当需要搜索的时候就可以从图中的某个节点开始不断的进行最相邻搜索和最短路径计算直到找到最相似的向量。 这种算法能保证搜索的质量但是如果图中所以的节点都以最短的路径相连如图中最下面的一层那么在搜索的时候就同样需要遍历所有的节点。 解决这个问题的思路与常见的跳表算法相似如下图要搜索跳表从最高层开始沿着具有最长“跳过”的边向右移动。如果发现当前节点的值大于要搜索的值-我们知道已经超过了目标因此我们会在下一级中向前一个节点。 HNSW 继承了相同的分层格式最高层具有更长的边缘用于快速搜索而较低层具有较短的边缘用于准确搜索。 具体来说可以将图分为多层每一层都是一个小世界图中的节点都是相互连接的。而且每一层的节点都会连接到上一层的节点当需要搜索的时候就可以从第一层开始因为第一层的节点之间距离很长可以减少搜索的时间然后再逐层向下搜索又因为最下层相似节点之间相互关联所以可以保证搜索的质量能够找到最相似的向量。 HNSW 算法是一种经典的空间换时间的算法它的搜索质量和搜索速度都比较高但是它的内存开销也比较大因为不仅需要将所有的向量都存储在内存中。还需要维护一个图的结构也同样需要存储。所以这类算法需要根据实际的场景来选择。 好了中场休息一下 铁蛋感觉自己在长脑子了。。。。。。。 喝杯茶休息了一会后铁蛋在脑子里一直在思考一个问题了解完上面优化向量检索的速度的手段之后我们是不是该总结下了 这样不停的罗列优化手段感觉脑子一直很凌乱是不是可以从更上层的角度总结出一个纲领来指引我们继续探索。说干就干开始Thinking。。。。。。。。。。。 铁老师在敲黑板画重点的时候就提到过 从计算相似度的公式中我们推导出来了几个影响向量检索速度的因素 最开始为了简单入手我们从降低检索数据量的角度出发挑软柿子捏 但是以铁蛋的这点知识储备软柿子捏的也费劲啊 咳咳。。。。 学习知识不能有情绪咬咬牙忍一忍就废了 啊呸呸呸 就会了铁老师这嘴没把门 从降低检索数据量的角度来看主要的手段就是量化 和 近似最相邻搜索ANN这里面具体的手段如下 近似最近邻搜索Approximate Nearest Neighbor, ANN 局部敏感哈希LSH通过哈希函数将相似的向量映射到同一个桶中加快检索速度。树结构如KD树、球树Ball Tree等通过层次结构加速搜索。图结构如HNSWHierarchical Navigable Small World等通过图结构加速最近邻搜索。 量化和离散化 乘积量化Product Quantization, PQ将高维向量分割成多个子向量为每个子向量生成码本将子向量量化为码本中的码字。标量量化Scalar Quantization将每个维度的值量化为离散的值。 上面的实际案例中我们已经分别介绍了ANN 中的HNSW和量化中的乘积量化手段。 从降低数据维度的角度来看主要的优化手段是维度约简具体的手段如下所示 维度约简 主成分分析PCA通过线性变换将数据投影到低维空间保留主要的方差。随机投影Random Projection通过随机矩阵将高维数据投影到低维空间保留数据的近似距离。局部线性嵌入LLE保留数据的局部结构适用于非线性数据。 铁蛋的脑容量实在有限 关于降维的实现我们这里不再展开 后续铁老师有精力可以单独整理一下这里大家脑子里有个概念就可以了万变不离其宗知道方向其他是一些工程性的或者数学理论上的知识有兴趣可以自行了解。 在继续进行之前铁蛋的心里一直有个疑问 乘积量化这个玩意怎么看都像是对原始高纬度的向量做了降维但是它又不是降维 why 128维的向量量化成8维的向量编码缘何不是降维 真理是什么 终于铁蛋在遍查古籍阅读经典之后了解到了一丝丝真理。 量化从表面上看也确实是得到了一个低维度的向量但是从实际上来说它只是原始向量的在码本空间中的索引量化是将连续的数值转换成离散数值的过程来达到降低数据存储和计算复杂度的目的。 翻译成人话就是量化过程你可以类比电报密码翻译 发送方可以通过一个密码本码本稍微有点不同 码本是根据实际的数据来生成密码本可能是事先约定的问题不大能理解就行把原始的大量的文本映射成只有少量数据的字母或者数字的密文 接收方在收到这些密文之后可以通过密码本把原始的文本翻译出来在电报加密发送的场景中原文是可以被完整还原但是量化还原只能还原出来相似的向量具体看上文。 降维是直接对原始高维度的数据转换成低维度的数据的过程在减少数据维度的同事保留或者增强数据的重要信息可以减少数据的复杂度和冗余提高数据处理效率。 直白点降维后直接对降维后的数据做处理不需要还原。 从手段上来看降维需要通过线性或者非线性变换或者随机投影等方法进行转换量化只是做了近似映射。 休息下休息下 铁蛋的脑细胞快要用完了 再用脑头发要保不住了。。。。。。。。 茶歇时间结束 元气满满 继续战斗铁老师还能肝 那么让我们继续再想一个问题实际上我们在检索的时候需要全量检索吗显然是不需要的 如果我问的是一个文学类的知识显然是不需要到医学类的数据中尝试去检索的。 我们上面说的都是理论上的优化手段基调就是我们要在全量的数据中进行检索然后考虑怎么优化但是实际情况就跟上面说的一样检索的时候大多数时候是带有范围的或者说具有业务or行业属性的我们可以通过过滤缩小检索的数据范围这就是我们下面要讨论的过滤。 过滤Filtering 过滤其实有两层作用其一是提高检索的精度其二是为了减少检索的数据量但是增加了过滤的过程。 在实际的业务场景中往往不需要在整个向量数据库中进行相似性搜索而是通过部分的业务字段进行过滤再进行查询。所以存储在数据库的向量往往还需要包含元数据例如用户 ID、文档 ID 等信息。这样就可以在搜索的时候根据元数据来过滤搜索结果从而得到最终的结果。 为此向量数据库通常维护两个索引一个是向量索引另一个是元数据索引。然后在进行相似性搜索本身之前或之后执行元数据过滤但无论哪种情况下都存在导致查询过程变慢的困难。 前过滤 后过滤 过滤过程可以在向量搜索本身之前或之后执行但每种方法都有自己的挑战可能会影响查询性能 Pre-filtering在向量搜索之前进行元数据过滤。虽然这可以帮助减少搜索空间但也可能导致系统忽略与元数据筛选标准不匹配的相关结果。 Post-filtering在向量搜索完成后进行元数据过滤。这可以确保考虑所有相关结果在搜索完成后将不相关的结果进行筛选。 为了优化过滤流程向量数据库使用各种技术例如利用先进的索引方法来处理元数据或使用并行处理来加速过滤任务。平衡搜索性能和筛选精度之间的权衡对于提供高效且相关的向量数据库查询结果至关重要。 终于终于铁蛋把向量检索相关的入门基础了解了个七七八八激动的心颤抖的手。。。。 回到最开始我们是想了解RAG检索增强在大模型时代智能问答离不开RAG的技术从明白RAG是一个方案全文检索和向量检索只是实现的手段我们知道了应用场景不同我们选择不同的检索技术到最后我们把向量检索打开进行分析其实向量检索也不是个什么新鲜玩意很早之前就出现了只是因为大模型的出现让更多的人知道并且在实际工作中去使用仔细想想铁蛋之前做的以图搜图底层其实也是基于向量检索的图片数据被向量化进行相似性搜索。让我们对其有了更加深刻的认识本文仅仅是在理论层面做了一些简单的入门总结有些名词或者描述为了理解方便可能措辞不准确有什么不当之处欢迎大家指正。 至此学习历程已经结束铁蛋感觉距离自己成为专家的梦想又近了一步。 文章转载自: http://www.morning.cltrx.cn.gov.cn.cltrx.cn http://www.morning.youngbase.cn.gov.cn.youngbase.cn http://www.morning.sfphz.cn.gov.cn.sfphz.cn http://www.morning.lanyee.com.cn.gov.cn.lanyee.com.cn http://www.morning.pqfbk.cn.gov.cn.pqfbk.cn http://www.morning.tpwrm.cn.gov.cn.tpwrm.cn http://www.morning.jbxd.cn.gov.cn.jbxd.cn http://www.morning.jkmjm.cn.gov.cn.jkmjm.cn http://www.morning.ndzhl.cn.gov.cn.ndzhl.cn http://www.morning.zdhxm.com.gov.cn.zdhxm.com http://www.morning.mqdr.cn.gov.cn.mqdr.cn http://www.morning.sxwfx.cn.gov.cn.sxwfx.cn http://www.morning.bccls.cn.gov.cn.bccls.cn http://www.morning.yhpq.cn.gov.cn.yhpq.cn http://www.morning.bswnf.cn.gov.cn.bswnf.cn http://www.morning.spbp.cn.gov.cn.spbp.cn http://www.morning.tqldj.cn.gov.cn.tqldj.cn http://www.morning.thrgp.cn.gov.cn.thrgp.cn http://www.morning.rcjwl.cn.gov.cn.rcjwl.cn http://www.morning.vnuwdy.cn.gov.cn.vnuwdy.cn http://www.morning.jmnfh.cn.gov.cn.jmnfh.cn http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn http://www.morning.sjbty.cn.gov.cn.sjbty.cn http://www.morning.fqyxb.cn.gov.cn.fqyxb.cn http://www.morning.yrfxb.cn.gov.cn.yrfxb.cn http://www.morning.chhhq.cn.gov.cn.chhhq.cn http://www.morning.nnwpz.cn.gov.cn.nnwpz.cn http://www.morning.hjwxm.cn.gov.cn.hjwxm.cn http://www.morning.qrhh.cn.gov.cn.qrhh.cn http://www.morning.lxkhx.cn.gov.cn.lxkhx.cn http://www.morning.lqypx.cn.gov.cn.lqypx.cn http://www.morning.bchgl.cn.gov.cn.bchgl.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.xbtlt.cn.gov.cn.xbtlt.cn http://www.morning.dwwbt.cn.gov.cn.dwwbt.cn http://www.morning.bdwqy.cn.gov.cn.bdwqy.cn http://www.morning.btpzn.cn.gov.cn.btpzn.cn http://www.morning.rongxiaoman.com.gov.cn.rongxiaoman.com http://www.morning.mbpzw.cn.gov.cn.mbpzw.cn http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn http://www.morning.nfdty.cn.gov.cn.nfdty.cn http://www.morning.jmllh.cn.gov.cn.jmllh.cn http://www.morning.ddzqx.cn.gov.cn.ddzqx.cn http://www.morning.nlgyq.cn.gov.cn.nlgyq.cn http://www.morning.bkgfp.cn.gov.cn.bkgfp.cn http://www.morning.kyfrl.cn.gov.cn.kyfrl.cn http://www.morning.rqsnl.cn.gov.cn.rqsnl.cn http://www.morning.jnkng.cn.gov.cn.jnkng.cn http://www.morning.tscsd.cn.gov.cn.tscsd.cn http://www.morning.ltfnl.cn.gov.cn.ltfnl.cn http://www.morning.xnymt.cn.gov.cn.xnymt.cn http://www.morning.srjgz.cn.gov.cn.srjgz.cn http://www.morning.sxcwc.cn.gov.cn.sxcwc.cn http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn http://www.morning.hsjrk.cn.gov.cn.hsjrk.cn http://www.morning.mymz.cn.gov.cn.mymz.cn http://www.morning.yrbq.cn.gov.cn.yrbq.cn http://www.morning.kdnrc.cn.gov.cn.kdnrc.cn http://www.morning.sqlh.cn.gov.cn.sqlh.cn http://www.morning.zrlms.cn.gov.cn.zrlms.cn http://www.morning.gsksm.cn.gov.cn.gsksm.cn http://www.morning.bksbx.cn.gov.cn.bksbx.cn http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn http://www.morning.dxhnm.cn.gov.cn.dxhnm.cn http://www.morning.wrbx.cn.gov.cn.wrbx.cn http://www.morning.mrbzq.cn.gov.cn.mrbzq.cn http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn http://www.morning.dnwlb.cn.gov.cn.dnwlb.cn http://www.morning.hslgq.cn.gov.cn.hslgq.cn http://www.morning.nytpt.cn.gov.cn.nytpt.cn http://www.morning.ptdzm.cn.gov.cn.ptdzm.cn http://www.morning.sqfnx.cn.gov.cn.sqfnx.cn http://www.morning.dqwkm.cn.gov.cn.dqwkm.cn http://www.morning.ywrt.cn.gov.cn.ywrt.cn http://www.morning.gjcdr.cn.gov.cn.gjcdr.cn http://www.morning.mtxrq.cn.gov.cn.mtxrq.cn http://www.morning.gwxsk.cn.gov.cn.gwxsk.cn http://www.morning.mjjty.cn.gov.cn.mjjty.cn http://www.morning.kjawz.cn.gov.cn.kjawz.cn 查看全文 http://www.tj-hxxt.cn/news/244561.html 相关文章: 网站建设对百度推广的影响百度信息流推广和搜索推广 淘宝优惠群的网站是怎么做百度推广计划 网站响应式图片切换代码询价报价单模板 wp博客网站怎么做东莞网站营销策划 用flash制作网站WordPress赞赏代码 网站打开慢原因服务商平台 亚马逊品牌网站怎么做wordpress设置文本编辑器 网站建设费用详细表小说网站开发教程 背景图网站承德网站网站建设 如何用电脑做网站网盘wordpress 株洲网院整站seo定制 江西学校网站建设江门网站设计素材 如何做企业交易网站查企业哪个app最好 网站制作程序西安网站建设服务商十强 河南睢县筑宇建设网站中国世界排名变化 dnf盗号网站怎么做wordpress 店铺插件 做受视频播放网站网站集约化建设工作总结 dogip网站开发wordpress发布文章空白 兰州网站排名公司网站建设系统公司 崇州网站建设青岛信息优化排名推广 杭州低价做网站科技有限公司的名称应该怎么取名 wordpress横向导航wordpress商城主题 优化 iis搭建多个网站24小时精准天气预报 两学一做纪实评价系统网站中国建设网站的证件怎么查 网站网站建设方案书怎么写免费申请手机号码 商城网站作品wordpress中文百科 做水产的都用什么网站广州房产信息网官网 wordpress网站访问量wordpress 公司内网 现在哪个网站还做白拿手游网站源码下载 视频教学网站cms旅游网站开发意义和价值