【Vue】插值

文本

{{}} 双大括号

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例</title>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
  <p>{{ message }}</p>
</div>

<script>
new Vue({
  el: '#app',
  data: {
    message: '寄了'
  }
})
</script>
</body>
</html>

HTML

V-html指令用于输出HTML代码
输出的是渲染好的h1格式的"带标题"

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
<div id="app">
    <div v-html="message"></div>
</div>
	
<script>
new Vue({
  el: '#app',
  data: {
    message: '<h1>带标题</h1>'
  }
})
</script>
</body>
</html>

属性

v-bind指令主要用于属性绑定
下例就是绑定了class,如果checkbox被选中,则div应用class1的样式。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Vue 测试实例 </title>
  </head>
  <style>
    .class1 {
      background: #444;
      color: #eee;
    }
  </style>
  <body>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>

    <div id="app">
      <label for="r1">修改颜色</label
      ><input type="checkbox" v-model="use" id="r1" /> <br /><br />
      <div v-bind:class="{'class1': use}">v-bind:class 指令</div>
    </div>

    <script>
      new Vue({
        el: "#app",
        data: {
          use: false,
        },
      });
    </script>
  </body>
</html>

表达式

Vue提供了完整的JavaScript表达式的支持

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
    <script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
  </head>
  <body>
    <div id="app">
      {{5+5}}<br />
      {{ ok ? 'YES' : 'NO' }}<br />
      {{ message.split('').reverse().join('') }}
      <div v-bind:id="'list-' + id">菜鸟教程</div>
    </div>

    <script>
      new Vue({
        el: "#app",
        data: {
          ok: true,
          message: "RUNOOB",
          id: 1,
        },
      });
    </script>
  </body>
</html>
### RAG切片分块技术详解 RAG(Retrieval-Augmented Generation)切片分块是指在检索增强生成模型中,为了提高检索效率和准确性而采用的一种数据预处理方法。通过合理划分文档片段,可以有效提升下游任务的表现。 #### 切片分块的原则 对于RAG架构而言,合理的切片分块至关重要。通常情况下,会考虑以下几个方面来设计具体的分块逻辑: - **保持上下文连贯性**:确保同一个段落或者紧密关联的内容尽可能不被打断,这有助于维持信息的完整性[^1]。 - **控制单个chunk长度**:过长或过短都不利于后续操作。理想状态下,每个chunk应包含足够的背景信息以便于理解其含义,同时也需兼顾计算资源的有效利用[^2]。 - **优化索引构建**:良好的分块方式可以直接影响到向量数据库内的索引质量,进而决定查询性能的好坏。 ```python def rag_chunking(document, min_length=50, max_length=200): chunks = [] current_chunk = "" paragraphs = document.split("\n\n") # 基于自然段落进行初步分割 for paragraph in paragraphs: if len(current_chunk) + len(paragraph) <= max_length: current_chunk += "\n\n" + paragraph elif len(paragraph) >= min_length and len(current_chunk.strip()) > 0: chunks.append(current_chunk.strip()) current_chunk = paragraph else: while len(paragraph) > max_length: split_point = max_length - (len(current_chunk) % max_length) current_chunk += "\n\n" + paragraph[:split_point] chunks.append(current_chunk.strip()) current_chunk = "" paragraph = paragraph[split_point:] if len(current_chunk.strip()) > 0: current_chunk += "\n\n" + paragraph if len(current_chunk.strip()) > 0: chunks.append(current_chunk.strip()) return chunks ``` 这段Python代码展示了如何根据给定的最大最小长度参数对输入文本执行基本的RAG风格切片分块。 ### RAPTOR框架下的实现细节 RAPTOR是一个专注于高效处理大规模非结构化数据集的工作流平台。在其内部实现了多种先进的切片算法以适应不同应用场景的需求。针对RAG类型的切片需求,RAPTOR采取了一些特定措施: - **自定义分词器集成**:允许开发者指定特殊的标记化规则用于识别边界条件,从而更好地支持领域专用术语解析。 - **动态调整策略**:依据实际运行时的数据特征自动调节最优的chunk尺寸范围,既保证了较高的召回率又不至于造成过多冗余存储开销。 - **并行化加速机制**:借助分布式计算能力加快整个过程的速度,尤其适合处理超大体量文件集合的情况。 综上所述,在RAPTOR环境中应用RAG切片分块不仅限于简单的字符串切割,更涉及到一系列复杂的工程考量和技术选型决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值