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

邯郸怎么做网站百度相册登录入口

邯郸怎么做网站,百度相册登录入口,网店装修店面,santino wordpress知识库读取Word内容时,由于embedding切片操作,可能会出现表格被分割成多个切片的情况。这种切片方式可能导致“列名栏”和“内容栏”之间的Y轴关系链断裂,从而无法准确地确定每一列的数据对应关系,从而使得无法准确知道每一列的数…

知识库读取Word内容时,由于embedding切片操作,可能会出现表格被分割成多个切片的情况。这种切片方式可能导致“列名栏”和“内容栏”之间的Y轴关系链断裂,从而无法准确地确定每一列的数据对应关系,从而使得无法准确知道每一列的数据汇总。

用下面表格为例子:

级数

T1

T2

T3

T4

T5

T6

T7

子等

T1.1-1.2

T2.1-2.2

T3.1-3.3

T4.1-4.3

T5.1-5.2

T6.1-6.2

T7

专业名称

实习

工程师

助理

工程师

工程师

高级

工程师

资深

工程师

专家级

工程师

首席

工程师

学历

本科及以上

本科及以上

本科及以上

本科及以上

本科及以上

硕士及以上

硕士及以上

工作经验

1年以内(兼职)

1-3年

3-5年

5-8年

8-10年

10-15年

15年以上

级数

T1

T2

T3

T4

T5

T6

T7

子等

T1.1-1.2

T2.1-2.2

T3.1-3.3

T4.1-4.3

T5.1-5.2

T6.1-T6.2

T7

专业名称

实习

工程师

助理

工程师

工程师

高级

工程师

资深

工程师

专家级

工程师

首席

工程师

分值

60-64分

65-69分

70-79分

80-89分

90-94分

95-97分

98-100分

直接演示一下本文代码运行的对比结果,分别展示“无优化”和“有优化”的问答结果,标绿框的是回答错误的:

本文帮助提高文本处理和向量化的效率,以下是对每个步骤的详细说明,详见md_embedding.py源码:

  1. 分离文字和表格:将原始Word文档中的文字内容和表格分开保存。将文字内容保存为纯文本的Markdown文件,而将表格单独保存为多个只包含Markdown表格的Markdown文件。例如,一个Word文档包含2个表格,即生成1个纯文字Markdown文件,2个纯表格的Markdown文件。
  2. 切片并向量化处理:对于多个Markdown文件,按照固定的大小切片,确保切片大小是大于Markdown表格的体积,以确保包含完整的表格。然后对这些切片进行向量化处理。

这种方法的优点是能够有效地分离文字和表格,并通过切片和向量化处理提高处理效率。通过将表格转化为向量表示,可以更方便地进行后续的计算和分析。同时,由于切片时保证了表格的完整性,可以避免表格被切断导致信息丢失的问题。

有优化的embedding的源码, md_embedding.py 如下:

import os
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain.document_loaders import TextLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain.document_loaders import DirectoryLoader
from langchain.document_loaders import UnstructuredFileLoader
from langchain.document_loaders import UnstructuredWordDocumentLoaderfrom docx import Documentdef convert_word_tables_to_markdown(file_path, output_folder):def convert_table_to_markdown(table):markdown = ""for row in table.rows:cells = [cell.text.replace('\n', '').replace('|', '|') for cell in row.cells]markdown += "|".join(cells) + "|\n"return markdowndoc = Document(file_path)# 创建输出文件夹(如果不存在)os.makedirs(output_folder, exist_ok=True)# 将每个表格转换为Markdown并保存为单独的TXT文件for i, table in enumerate(doc.tables):markdown = convert_table_to_markdown(table)filename_without_ext=os.path.splitext(os.path.basename(file_path))[0]# 将Markdown表格写入TXT文件output_file_path = os.path.join(output_folder, filename_without_ext+f"_output_{i+1}.md")with open(output_file_path, "w", encoding='utf-8') as file:file.write(markdown)return output_folderdef remove_tables_save_as_md(file_path, output_file_path):doc = Document(file_path)# 移除所有表格for table in doc.tables:table._element.getparent().remove(table._element)# 获取剩余内容的纯文本,并构建Markdown格式字符串content = [p.text.strip() for p in doc.paragraphs if p.text.strip()]markdown_content = '\n\n'.join(content)# 保存为MD文件with open(output_file_path, 'w', encoding='utf-8') as file:file.write(markdown_content)return output_file_pathabs_docx_path='D:\CloudDisk\OpenAI\博客的源码\Docx表格优化\带表格DOCX.docx'
embedding_folder_path=os.path.dirname(abs_docx_path)+'\\md_txt'
os.makedirs(embedding_folder_path,exist_ok=True)convert_word_tables_to_markdown(abs_docx_path,embedding_folder_path)
remove_tables_save_as_md(abs_docx_path,embedding_folder_path+'\\'+os.path.basename(abs_docx_path)+'.md')# 1 定义embedding
embeddings = OpenAIEmbeddings(openai_api_key='aaaaaaaaaaaaaaaaaa',openai_api_base='bbbbbbbbbbbbbbbbbbbbbbbbbb',openai_api_type='azure',model="text-embedding-ada-002",deployment="lk-text-embedding-ada-002",chunk_size=1)# 2 定义文件 
loader = DirectoryLoader(embedding_folder_path, glob="**/*.md")
pages = loader.load_and_split()# 按固定尺寸切分段落
text_splitter_RCTS = RecursiveCharacterTextSplitter(chunk_size = 500,chunk_overlap = 100
)split_docs_RCTS = text_splitter_RCTS.split_documents(pages)
for item in split_docs_RCTS:print(item)print('')#写入向量数据库
print(f'写入RCTS向量数据库')
vectordb = Chroma.from_documents(split_docs_RCTS, embedding=embeddings, persist_directory="./MD_RCTS/")
vectordb.persist()

 无优化的embedding的源码,docx_embedding.py 如下:

import os
from langchain.embeddings import OpenAIEmbeddings
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain.document_loaders import UnstructuredWordDocumentLoader# 1 定义embedding
embeddings = OpenAIEmbeddings(openai_api_key='aaaaaaaaaa',openai_api_base='bbbbbbbbbbb',openai_api_type='azure',model="text-embedding-ada-002",deployment="lk-text-embedding-ada-002",chunk_size=1)docx_file_path="D:\CloudDisk\OpenAI\博客的源码\Docx表格优化\带表格DOCX.docx"# 2 定义文件 
loader = UnstructuredWordDocumentLoader(docx_file_path)
pages = loader.load_and_split()# 按固定尺寸切分段落
text_splitter_RCTS = RecursiveCharacterTextSplitter(chunk_size = 500,chunk_overlap = 100
)split_docs_RCTS = text_splitter_RCTS.split_documents(pages)
for item in split_docs_RCTS:print(item)print('')#写入向量数据库
print(f'写入RCTS向量数据库')
vectordb = Chroma.from_documents(split_docs_RCTS, embedding=embeddings, persist_directory="./Word_RCTS/")
vectordb.persist()

 问答测试 chat_qa.py:

import time
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.chains import RetrievalQA
from langchain.chat_models import AzureChatOpenAIdef getQuestionList():question_list=['级数=T6,专业名称是?','要求硕士学历有哪些级数?','分值大于等于70是哪些级数?','可以兼职的是什么级数?','需要工作经验满5年以上是哪些专业?','首席工程师要求什么学历,工作经验多少年','自上而下的原则,是指?','现场答辩,是指?','级数=T3,专业名称是?','级数=T4,专业名称是?',]return question_listembeddings = OpenAIEmbeddings(openai_api_key='aaaaaaaaaaaaaaaaa',openai_api_base='bbbbbbbbbbbbbbbbbbbbbbb',openai_api_type='azure',model="text-embedding-ada-002",deployment="lk-text-embedding-ada-002",chunk_size=1)openAiLLm = AzureChatOpenAI(openai_api_key='aaaaaaaaaaaaaaaaaaaaaaaaaaaa', #注意这里,不同 API_BASE 使用不同 APK_KEYopenai_api_base="bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",openai_api_version='2023-03-15-preview',deployment_name='lk-gpt-35-turbo-16k',temperature=0.9,model_name="gpt-35-turbo-16k",max_tokens=300)print('------r---r---r----')word_RTCS = Chroma(persist_directory="./Word_RCTS/", embedding_function=embeddings)
word_qa = RetrievalQA.from_chain_type(llm=openAiLLm,chain_type="stuff",retriever=word_RTCS.as_retriever(),return_source_documents = False) md_RTCS = Chroma(persist_directory="./MD_RCTS/", embedding_function=embeddings)
md_qa = RetrievalQA.from_chain_type(llm=openAiLLm,chain_type="stuff",retriever=md_RTCS.as_retriever(),return_source_documents = False)#print(qa_RTCS)#查看自定义Prompt的结构体内容
for i in range(0,len(getQuestionList())):question_text=getQuestionList()[i]# 进行问答wordchat = word_qa({"query": question_text}) wordquery = str(wordchat['query'])wordresult = str(wordchat['result'])print("问题: ",wordquery)print("无优化-结果:",wordresult)time.sleep(1)#每次提问间隔1scsvchat = md_qa({"query": question_text}) csvquery = str(csvchat['query'])csvresult = str(csvchat['result'])#print("MD问题: ",csvquery)print("有优化-结果:",csvresult)print('----------------------------------------')time.sleep(1)#每次提问间隔1s


文章转载自:
http://nitroparaffin.c7630.cn
http://journalistic.c7630.cn
http://derogative.c7630.cn
http://polylysine.c7630.cn
http://warmaking.c7630.cn
http://fingernail.c7630.cn
http://bootmaker.c7630.cn
http://balliol.c7630.cn
http://netting.c7630.cn
http://unclean.c7630.cn
http://eristic.c7630.cn
http://shoppe.c7630.cn
http://honeyfogle.c7630.cn
http://beforehand.c7630.cn
http://smatter.c7630.cn
http://tachygrapher.c7630.cn
http://interdigitate.c7630.cn
http://dimwitted.c7630.cn
http://zucchetto.c7630.cn
http://philotechnical.c7630.cn
http://inaugurator.c7630.cn
http://earth.c7630.cn
http://epp.c7630.cn
http://taejon.c7630.cn
http://canonry.c7630.cn
http://confidence.c7630.cn
http://daiquiri.c7630.cn
http://geobiology.c7630.cn
http://rockiness.c7630.cn
http://arboretum.c7630.cn
http://contravention.c7630.cn
http://pig.c7630.cn
http://criticality.c7630.cn
http://waikiki.c7630.cn
http://belay.c7630.cn
http://santour.c7630.cn
http://disuse.c7630.cn
http://mossiness.c7630.cn
http://yaguarundi.c7630.cn
http://fighter.c7630.cn
http://cockyolly.c7630.cn
http://precipe.c7630.cn
http://semicentenary.c7630.cn
http://tearoom.c7630.cn
http://sircar.c7630.cn
http://outrode.c7630.cn
http://praemunire.c7630.cn
http://supercomputer.c7630.cn
http://indrawal.c7630.cn
http://laval.c7630.cn
http://nasial.c7630.cn
http://strata.c7630.cn
http://gagman.c7630.cn
http://spatter.c7630.cn
http://stateless.c7630.cn
http://fractography.c7630.cn
http://machair.c7630.cn
http://airmail.c7630.cn
http://cocky.c7630.cn
http://cryptanalyst.c7630.cn
http://gametocyte.c7630.cn
http://bye.c7630.cn
http://athenaeum.c7630.cn
http://cissoidal.c7630.cn
http://aiie.c7630.cn
http://registrary.c7630.cn
http://newshawk.c7630.cn
http://earreach.c7630.cn
http://exclosure.c7630.cn
http://flyflap.c7630.cn
http://vaticanology.c7630.cn
http://cowlstaff.c7630.cn
http://mitteleuropean.c7630.cn
http://omar.c7630.cn
http://inexistence.c7630.cn
http://hinder.c7630.cn
http://attractile.c7630.cn
http://prowler.c7630.cn
http://smalti.c7630.cn
http://graphemic.c7630.cn
http://coagulator.c7630.cn
http://fail.c7630.cn
http://inconstantly.c7630.cn
http://autocollimator.c7630.cn
http://tzetze.c7630.cn
http://recalcitrancy.c7630.cn
http://paragraph.c7630.cn
http://iodopsin.c7630.cn
http://reapply.c7630.cn
http://odal.c7630.cn
http://adsmith.c7630.cn
http://footware.c7630.cn
http://naw.c7630.cn
http://performing.c7630.cn
http://minicomputer.c7630.cn
http://homozygote.c7630.cn
http://tanglement.c7630.cn
http://entozoologist.c7630.cn
http://deflect.c7630.cn
http://controvertist.c7630.cn
http://www.zhongyajixie.com/news/70806.html

相关文章:

  • 长安大学门户网站是谁给做的看广告收益最高的软件
  • 邯郸网络seo关键词优化排名软件
  • 网站在线qq代码扬州seo优化
  • 山东网站建设公司排名一般网络推广应该怎么做
  • 政府网站建设工作情况汇报网络推广的方式和途径有哪些
  • 网页广告投放sem优化托管公司
  • 各大网站发布信息关键词优化哪家强
  • 为什么没有网站做图文小说企业员工培训总结
  • 商城网站大全如何做好线上推广和引流
  • 网站制作需要多少钱深圳关键词推广优化
  • 东莞网站建设实例分析互动营销名词解释
  • 为客户做网站的方案seo推广学院
  • 做网站需要的条件泰安seo网络公司
  • 自己dreamweaver做的网站怎么挂排名第一的手机清理软件
  • 网站做板块地图的办法服务之家网站推广公司
  • 网站实现语言转换技术上该怎么做网站推广如何收费
  • 自建站网址扫一扫识别图片
  • 企业网站建设怎么做百度如何推广产品
  • 想在网站上放百度广告怎么做成都短视频代运营
  • 长沙网站建设公司哪家好2023全民核酸又开始了
  • 青岛做网站公司有哪些北京网站优化排名推广
  • 温州市网络公司网站建设公司在线注册网站
  • 网站宽度960googleseo推广
  • 网站开发的团队有哪些seo排名如何
  • 如何做网站的薪酬调查手机如何建网站
  • 怎么注册做鸭网站网上交易平台
  • 东台做网站找哪家好免费数据分析网站
  • 制作网站接单整站排名
  • 四方坪网站建设如何开发网站
  • 手机上怎么做网站创业淘宝排名查询