当前位置: 首页 > wzjs >正文

怎么在ps里做网站设计青岛seo代理计费

怎么在ps里做网站设计,青岛seo代理计费,上海网站建设公司,黄山旅游攻略一日游最佳线路目录 创建文本切割器 ✅ 参数推荐配置(通用参考) ✅ 设置建议原则 ✅ 一个典型配置例子(推荐使用) ✅ 自动调参功能 ✅ 哪些场景适合用自动调参? 🧠 实际效果举例 🧠自动调参模块 文本…

 

目录

创建文本切割器

✅ 参数推荐配置(通用参考)

✅ 设置建议原则

✅ 一个典型配置例子(推荐使用)

✅ 自动调参功能

✅ 哪些场景适合用自动调参?

🧠 实际效果举例

🧠自动调参模块 + 文本分块器封装函数

1、 一键式自动分块模块

2、使用方式(在 process_text_with_splitter函数 中调用)

 3、示例调用效果

4、说明总结


本文介绍了如何创建和配置文本切割器,特别是使用RecursiveCharacterTextSplitter进行文本分块。文章提供了参数推荐配置,包括chunk_sizechunk_overlap的设置建议,适用于不同语言和场景。此外,文章还介绍了自动调参功能,该功能可以根据文本长度和语言自动调整分块参数,提高分块的稳定性和通用性。自动调参特别适用于处理多样化的文本,如多语言混合、用户上传内容等。最后,文章提供了一个封装函数auto_config_splitter,可以一键式自动分块,简化了文本处理流程。通过实际调用示例,展示了自动调参模块的效果和便利性。 

创建文本切割器

from langchain.text_splitter import RecursiveCharacterTextSplittertext_splitter=RecursivsCharacterTextSplitter(separators=["\n\n",         # 段落分隔(中英文通用)"。", "?", "!",  # 中文句末标点".", "?", "!",   # 英文句末标点"\n",            # 换行",", ",",       # 中英文逗号";", ";",       # 中英文分号" ",             # 空格(英文、或中英文夹杂)""               # 字符级拆分(兜底)],chunk_size=512,chunk_overlap=128,length_function=len)

✅ 参数推荐配置(通用参考)

chunk_size与chunk_overlap

参数名含义
chunk_size每块文本的最大长度(按字符数)
chunk_overlap相邻块之间的重叠字符数(保证上下文连续)

场景/任务类型chunk_sizechunk_overlap说明
中文文本检索、问答500~600100~150中文语义密集,块稍短但保证上下文
英文文本(文档、技术)800~1000150~200英文需要更大上下文,适当拉长
多语言混合(中英混排)512128通用兼容配置,适用于多数场景
高精度上下文问答300~400100~200短块+大重叠可增强 recall,但索引更多
长文摘要/提取结构1000~1500200~300允许较大 chunk,降低切断风险

✅ 设置建议原则

  1. chunk_size 要保证语义块完整

    • 中文段落/小节建议 400~600

    • 英文可以稍大,如 800~1000

  2. chunk_overlap 是为了解决“截断”问题

    • 上一块结尾和下一块开头重复内容,保证问答时不丢上下文

    • 通常取 chunk_size 的 20~30%

  3. 嵌入模型 token 限制也需要考虑

    • 比如 OpenAI 嵌入模型支持约 8192 token

    • 中文字符平均 1.2~2 token,英文单词平均 3~4 token

    • 所以 512 字符 ≈ 800~1000 token,是安全范围

 


✅ 一个典型配置例子(推荐使用)

text_splitter = RecursiveCharacterTextSplitter(separators=["\n\n", "。", "?", "!", ".", "?", "!", "\n", ",", ",", ";", ";", " ", ""],chunk_size=512,chunk_overlap=128,length_function=len
)

✅ 自动调参功能

你可以:

  • 基于文本长度估算 chunk 大小;

  • **基于语言识别(中/英)**决定使用不同的分隔符;

  • 基于标点/结构分析判断是否需要增加 chunk overlap;

def auto_config_splitter(text: str) -> RecursiveCharacterTextSplitter:length = len(text)if is_chinese(text):  # 语言判断函数separators = ["\n\n", "。", "?", "!", "\n", ",", ";", " ", ""]else:separators = ["\n\n", ".", "?", "!", "\n", ",", ";", " ", ""]if length < 1000:chunk_size = 256chunk_overlap = 64elif length < 10000:chunk_size = 512chunk_overlap = 128else:chunk_size = 768chunk_overlap = 192return RecursiveCharacterTextSplitter(chunk_size=chunk_size,chunk_overlap=chunk_overlap,separators=separators,length_function=len)

自动调参是否常用✅ 越来越常用(特别是 LLM、文本检索应用)
是否必须❌ 不一定,取决于是否处理多样文本
能带来什么好处☑ 提高稳定性、通用性,降低手工调参成本

✅ 哪些场景适合用自动调参?

应用场景是否建议自动调参原因
向量检索系统(如 PDF QA)✅ 非常建议不同 PDF 文档长度、结构差异大,自动调更稳妥
文档批量嵌入/训练知识库✅ 建议可自动适配不同数据源的特点,避免过大或过小的分块
多语言文本(中英文、少数语言)✅ 建议不同语言字符密度不同,需要自动适配 chunk 大小
多来源用户上传文本(SaaS/网页)✅ 建议用户上传内容不确定,自动调节能显著减少错误和人工干预
聊天机器人/FAQ 系统⚠️ 可选如果知识库稳定,则可以手动设定固定值
单一格式文档(如固定模板合同)❌ 不必要内容结构固定,手动设定参数即可

 


🧠 实际效果举例

如果你使用自动调参:

  • 小文档就不会被分得太碎;

  • 大文档能防止每块太大或太小造成检索误差;

  • 中英文混排或多语言也能自动选择合适 chunk 大小;

  • 用户上传内容千差万别时,能自动适应结构变化,不需要你手动判断每份内容。


🧠自动调参模块 + 文本分块器封装函数

1、 一键式自动分块模块

from langchain.text_splitter import RecursiveCharacterTextSplitter
import redef is_mostly_chinese(text: str, threshold: float = 0.3) -> bool:"""判断文本是否主要为中文"""chinese_chars = re.findall(r'[\u4e00-\u9fff]', text)return len(chinese_chars) / max(len(text), 1) > thresholddef auto_config_splitter(text: str) -> RecursiveCharacterTextSplitter:"""根据文本自动设置分块器参数,包括 chunk_size、chunk_overlap 和 separators。支持中文、英文及混合文本。"""length = len(text)# 判断语言if is_mostly_chinese(text):separators = ["\n\n", "。", "?", "!", "\n", ",", ";", " ", ""]else:separators = ["\n\n", ".", "?", "!", "\n", ",", ";", " ", ""]# 自动设置 chunk_size 和 overlapif length < 1000:chunk_size = 256chunk_overlap = 64elif length < 10000:chunk_size = 512chunk_overlap = 128elif length < 30000:chunk_size = 768chunk_overlap = 192else:chunk_size = 1024chunk_overlap = 256print(f"自动配置:chunk_size = {chunk_size}, chunk_overlap = {chunk_overlap}, 分隔符 = {separators[:3]}...")return RecursiveCharacterTextSplitter(chunk_size=chunk_size,chunk_overlap=chunk_overlap,separators=separators,length_function=len)

2、使用方式(在 process_text_with_splitter函数 中调用)

将这行:

text_splitter = RecursiveCharacterTextSplitter(...)

替换成:

text_splitter = auto_config_splitter(text)

这样就可以根据每篇文本的语言类型和长度自动设置最优分块策略了。


 3、示例调用效果

with open("your_text.txt", "r", encoding="utf-8") as f:raw_text = f.read()splitter = auto_config_splitter(raw_text)
chunks = splitter.split_text(raw_text)print(f"共切分为 {len(chunks)} 个 chunk。前3个块:")
for i in range(3):print(f"\nChunk {i+1}({len(chunks[i])}字):\n{chunks[i][:100]}...")

4、说明总结

模块功能效果
语言识别(中/英文)自动选择中文 or 英文标点分割
文本长度适配自动调整分块大小,避免碎片化或太大块
高度通用性支持用户上传、不同来源、多语言格式
一行集成可直接替换 RecursiveCharacterTextSplitter(...) 的创建行
http://www.dtcms.com/wzjs/18727.html

相关文章:

  • wordpress如何搭建博客天津seo优化公司
  • 网站建设公司浩森宇特网络推广方法的分类
  • 品牌网站设计方案东莞seo优化公司
  • 静态网站开发百科百度网盘搜索引擎入口哪里
  • 模仿网站制作郑州网站网页设计
  • 上海网站建设需要多少钱搜索引擎排名优化方法
  • 怎么做自己的网址seo推广方法有哪些
  • 通化网站制作seo搜索引擎优化书籍
  • 做网站要多少钱一个网站诊断工具
  • 做移动网站郑州seo顾问热狗
  • 手机怎样做网站今天新闻头条
  • 建站快车代理平台系统seo营销外包公司
  • 韩城搜索引擎建设网站营销推广的作用
  • 池州网站建设怎么样百度应用下载安装
  • 怎样设置网站主域名怎么做神马搜索排名seo
  • 游戏建设网站网站百度关键词seo排名优化
  • php网站开发所需要的软件营销公司排名
  • 免费教育网站建设济南疫情最新消息
  • 什么网站可以做微官网常德今日头条新闻
  • 微网站开发平台有哪些好的发布任务注册app推广的平台
  • 深圳做营销网站制作游戏优化软件
  • 建设网站对于电商的作用是?吉安seo
  • 移动端网站怎么做优化搭建网站需要哪些步骤
  • 网站网页框架构架图怎么做爱网站
  • php部署网站三只松鼠的软文范例
  • xxx美食网站建设规划书免费b站推广网站短视频
  • 公司手机网站建设网络推广营销方式
  • 甘肃交通工程建设监理有限公司网站seo搜索引擎优化方案
  • 做电影网站用什么软件有哪些手机优化器
  • ui界面设计作品模板seo sem是啥