赞
踩
本文主要介绍了大模型文档神器:合合信息大模型加速器,希望对学习大语言模型的同学们有所帮助。
最近和搞大模型的同学聊天,发现大家在实践中遇到了很多难以解决的问题。有说现在训练数据质量不佳,很多高质量的语料存在于文档中,难以提取出来,类似问题还存在于大模型解析文档场景,用户要求大模型根据上传的文件完成知识问答,但大模型无法准确提取出文档中的信息,也就没办法给出正确的回答。还有的同学说,在RAG领域,知识库和文本向量化已经是绕不开的步骤,但文本向量模型质量参差不齐,模型经常出现“已读乱回”的“幻觉”问题,因此,寻找一个好的文本向量模型是提升大模型效果的关键环节。
不用担心,以上所有问题,合合信息TextIn都帮我们解决了,其最新推出的“大模型加速器”系列包含了通用文档解析、通用文本向量等产品,一站式解决大模型实践中的各种问题。
合合信息是一家人工智能公司,TextIn为合合信息旗下的智能文档处理平台,在智能文字识别领域深耕17年,致力于图像处理、模式识别、神经网络、深度学习、STR、NLP、知识图谱等人工智能领域研究,官网地址为https://www.textin.com/。凭借行业领先的技术实力,为扫描全能王、名片全能王等智能文字识别产品提供强大的底层技术支持,并对企业、开发者、个人用户提供智能文字识别引擎、产品、云端服务。
近期,TextIn推出大模型“加速器”。其文档解析产品可在训练阶段,通过文档解析引擎最快在1.5s内识别出百页文档中的文本、表格、图像等,甚至可以将论文中的柱状图、折线图、饼图、雷达图等十余种表格“还原”成大模型理解的markdown格式,适用于市面上大多数模型。
此外,大模型“加速器”还推出通用文本向量产品,通过自研的acge_text_embedding模型(简称“acge”模型)提升语料质量,解决制约大模型发展的“幻觉”问题。acge模型将高维离散数据转换为低维连续向量(嵌入embedding),在相似性搜索、信息检索、推荐系统等多个领域提供强有力的技术支撑,曾经获得 Massive Text Embedding Benchmark (MTEB) 中文榜单(C-MTEB)第一名 的优异成绩。
目前,传统的文档解析技术主要是PDF提取和OCR识别。PDF提取侧重从结构化文档中快速抓取信息,但面对复杂版式和多媒体内容时,性能受限。OCR技术则通过图像识别技术将文档图像中的文字信息提取出来,虽然应用较为广泛,但是识别速度及对图像质量的依赖限制了其应用范围。
合合信息TextIn大模型“加速器”之文档解析产品超越了传统PDF提取和OCR技术的局限,融合先进的人工智能算法,如深度学习、模式识别,自研版面分析和多元素识别技术,实现对文档中复杂元素的高准确度识别。
合合信息文档解析技术不仅能识别文字,还能处理表格、公式、图表等复杂元素;通过版面分析技术,为长文档构建文档树,判断逻辑结构,为后续embedding优化提供基础,还原原文档阅读顺序,即使在多栏、多图表的复杂版面中也能保持内容的逻辑结构,面对无线表、跨页表格、合并单元格、密级表格等复杂情况,TextIn也能实现高准确度的表格数据还原;支持Markdown、Json等多种格式输出,满足不同场景的需求。
TextIn在训练、开发、体验等不同阶段加速了文档应用落地。一周可解析三千万页的预训练语料,不仅提高了质量,还大大减少了后处理时间;仅需几小时即可刷完一遍知识库,且不需兼容长尾case,真正实现了开箱即用;TextIn将100页文档的解析速度提升至最快1.5秒以内,全方面提升了用户体验显著提高了效率;支持Markdown、Json等多种格式输出,满足不同场景的需求。
TextIn通用文档解析官方体验网址为通用文档解析(记得先要注册哦),可以看到,通用文档解析支持我们上传本地文档(支持png、jpg、jpeg、pdf、bmp、tiff格式),还可以直接输入在线的图片URL,输出结果为json格式,并贴心地将json以人看得懂的形式呈现给我们,同时支持导出结果和复制结果。整体来看做得相当人性化了,下面我们通过亲身实验来具体看看效果吧!
先尝试一个简单的例子,从网上找到一个纯文本的图片(下图)image,包含了中文和英语两种语言,可以看到TextIn完美的识别了出来,甚至连斜杠(/
)都保留了下来,效果棒棒滴!
下面我们上点难度,他不是号称能识别公式和表格嘛,下面我们也试一试,图片地址image。哇,效果真的很不错,所有的公式都正确地识别了出来,表格也保留了下来,点个赞!
继续上难度,普通文字能识别,那么繁体+手写+倾斜+水印干扰(难度有点高哦)呢,千言不如一试,来看实际效果吧,如下图image,全都识别正确了,而且自动去除了水印,棒!
最后我们上个大招,上传一篇论文看看效果,论文中包含了文字,表格,公式等,可以说集齐了各种元素。那我们就以大模型的开山之作的《Attention Is All You Need》为例进行实践。不同场景下的效果图如下所示,首先是图片内容完美保留:
然后在没有边框和内部分隔线的条件下,依然有效提取出了表格内容。
文字识别正确,尤其值得称道的是论文中复杂数学公式的精确识别。系统展现出卓越的通用文档解析能力,这一点通过多个不同类型的示例得到了充分体现。
实际使用大模型时,我们可能更多的是上传一篇文档,问大模型问题。在这一过程中,大模型首先要识别原文档的内容,然后输出答案,但大模型可能无法很好地识别文档,因此,可以用TextIn先将文档转换为markdown格式,再上传给大模型问问题,下面是一组对比图:
除了在线体验,合合信息还提供了API:说明文档,供开发者使用,并支持API在线调试(感叹句:很贴心)
API介绍:
功能描述:上传图片/pdf,进行版面检测,文字识别,表格识别,版面分析等,生成markdown文档
请求url:https://api.textin.com/ai/service/v1/pdf_to_markdown
请求方法:POST
请求头:
请求体说明:
参数:(下述均为非必填参数)
返回结果:json格式
返回结果示例:
{ "code": 200, "message": "success", "result": { "markdown": "", "detail": [ { "content": 0, "text": "", "paragraph_id": -61400229, "position": [ 40899388 ], "image_url": "", "page_id": -6047593, "outline_level": -1, "type": "paragraph" } ] }, "metrics": [ { "status": "", "page_id": 87061001.97445199, "image_id": "", "durations": -2794433.3013762534 } ], "duration": 7360488, "version": "" }
错误码:
在线调试结果如下:
待识别的图片:
结果:
python代码示例如下:
import requests import json def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() class CommonOcr(object): def __init__(self, img_path): # 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id # 示例代码中 x-ti-app-id 非真实数据 self._app_id = 'xxxxxxxxxx' # 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code # 示例代码中 x-ti-secret-code 非真实数据 self._secret_code = 'xxxxxxxx' self._img_path = img_path def recognize(self): # 通用文档解析 url = 'https://api.textin.com/ai/service/v1/pdf_to_markdown' head = {} try: image = get_file_content(self._img_path) head['x-ti-app-id'] = self._app_id head['x-ti-secret-code'] = self._secret_code result = requests.post(url, data=image, headers=head) return result.text except Exception as e: return e if __name__ == "__main__": response = CommonOcr(r'1719975172446.jpg') print(response.recognize())
Embedding将高维离散数据转换为低维的连续向量,捕捉数据的语义特征和关系。从早期的Word2Vec模型到BERT及其衍生模型,再到当前的大型语言模型(LLM),Embedding技术不断演进,在各种NLP任务如分类、聚类、检索和句子相似性判断等均起到了至关重要的作用。目前,Embedding技术面临的主要挑战包括处理大规模数据集时的计算效率、模型的泛化能力、以及对新数据的适应性。此外,传统的Embedding模型可能在处理长文本和多语言文本时存在局限性。
合合信息推出acge_text_embedding模型,简称"acge模型",在中文文本向量化领域取得了显著成就,曾经获得Massive Text Embedding Benchmark (MTEB)中文榜单(C-MTEB)第一名的成绩。acge模型通过采用对比学习技术,最小化正样本间的距离,同时最大化负样本间的距离,有效提升了文本语义表示的质量。此外,模型在开发过程中重视数据挖掘,构建了多场景、大规模的数据集,提升了模型的泛化能力,并采用多任务混合训练和多loss适配,适应不同的下游任务。acge模型相较于其他模型,在多个方面展现出优越性。首先,模型体积较小,占用资源少,这使得它在部署和维护方面更为高效。其次,模型支持最大1024 tokens的输入,能够处理更长的文本,满足大多数场景需求。此外,acge模型支持可变输出维度,允许应用者根据具体场景合理分配资源,这在资源受限的环境中尤为重要。
acge模型还引入了持续学习训练方式,改善了模型在引入新数据时可能出现的灾难性遗忘问题。同时,运用MRL技术训练可变维度的嵌入,提高了处理速度,降低了存储需求。这些特点使得acge模型在文档分类、长文档信息抽取和知识问答等多个应用场景下展现出显著的优势。合合信息的acge模型通过其创新的技术应用和优化的设计,解决了传统Embedding技术面临的一些关键问题,在提升检索召回能力的同时,也为用户提供了一个高效、灵活且适应性强的文本向量化工具。这不仅体现了合合信息在智能文档处理领域的技术实力,也为构建LLM+文档交互的智能生态提供了强有力的支持。
合合信息acge模型目前支持API使用和私有化部署两种模式,现在我们详细看下API。
合合信息acge模型API说明文档链接:https://www.textin.com/document/acge_text_embedding,供开发者使用,并支持API在线调试。
API说明:
功能描述:通过自研的acge模型将文本转化成向量形式。目前支持简体中文,适用于文本检索、文本分类等任务
请求URL:https://api.textin.com/ai/service/v1/acge_embedding
请求方法:POST
请求头:
请求体说明:
Content-Type: application/octet-stream
json示例:
{
"input": [
"这是一个示例文本,来自上海合合信息ACG团队"
],
"matryoshka_dim": 1792
}
返回结果:json格式
返回结果示例:
{ "code": 200, "message": "success", "duration": "v0.0.7", "result": { "embedding": [ [ 0.7, 0.8, 0.05, 0.03 ], [ 0.7, 0.8, 0.05, 0.03 ] ], "matryoshka_dim": 4 } }
错误码:
import requests import json def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() class CommonOcr(object): def __init__(self, img_path): # 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-app-id # 示例代码中 x-ti-app-id 非真实数据 self._app_id = 'c81f*************************e9ff' # 请登录后前往 “工作台-账号设置-开发者信息” 查看 x-ti-secret-code # 示例代码中 x-ti-secret-code 非真实数据 self._secret_code = '5508***********************1c17' self._img_path = img_path def recognize(self): # 通用文本向量 url = 'https://api.textin.com/ai/service/v1/acge_embedding' head = {} try: image = get_file_content(self._img_path) head['x-ti-app-id'] = self._app_id head['x-ti-secret-code'] = self._secret_code result = requests.post(url, data=image, headers=head) return result.text except Exception as e: return e if __name__ == "__main__": response = CommonOcr(r'example.jpg') print(response.recognize())
目前,合合信息的acge_text_embedding模型已经放到了huggingface中,由于国内使用huggingface受限,所以首先把模型下载到本地,具体下载方式如下:
git clone https://huggingface.co/aspire/acge_text_embedding
# 首先安装GIT LFS
yum install git-lfs -y
# 使用GIT LFS加速
git lfs install
git clone https://huggingface.co/aspire/acge_text_embedding
下面是acge_text_embedding模型代码使用示例:
from sentence_transformers import SentenceTransformer
sentences = ["男孩们正在操场打篮球", "操场上很多孩子在玩捉迷藏"]
model = SentenceTransformer('acge_text_embedding')
print(model.max_seq_length)
embeddings_1 = model.encode(sentences, normalize_embeddings=True)
embeddings_2 = model.encode(sentences, normalize_embeddings=True)
similarity = embeddings_1 @ embeddings_2.T
print(similarity)
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。