通过结合IDP输出的内容信息,配合大模型和用户的prompt,可以完成从文档内抽取、总结信息,或以特定格式输出,本文说明如何使用IDP+LLM完成文档总结能力。
方案说明
通过结合IDP输出的内容信息,配合大模型和用户的prompt,可以完成从文档内抽取、总结信息,或以特定格式输出,本文说明如何使用IDP+LLM完成文档总结能力。
环境准备
通过Docmind文档智能解析服务调用,获取AK、SK。
环境使用前需要安装IDP-SDK Python安装包、OpenAI Python安装包。
pip install llama-index
pip install llama-index-readers-dashscope
pip install llama-index-llms-dashscope
pip install https://doc-mind-pro.oss-cn-hangzhou.aliyuncs.com/doc_json_sdk-1.0.2-py3-none-any.whl
方案实现示例
方案通过阿里云Docmind文档智能服务进行调用,以及Qwen模型进行抽取、总结。
dashscopeParse、docmind文档解析、docmind文档解析(大模型版)为独立计费
通过Docmind调用+Qwen完成文档总结
使用docmind文档智能解析,新手指引,进行开通,获取AccessKey ID、AccessKey Secret,设置环境变量。
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=YOUR_ALIBABA_CLOUD_ACCESS_KEY_SECRET
export ALIBABA_CLOUD_ACCESS_KEY_ID=YOUR_ALIBABA_CLOUD_ACCESS_KEY_ID
调用服务并处理文档,qwen模型开通通过dashscope获取api_key
import logging
import sys
import io
import os
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
from doc_json_sdk.loader.document_model_loader import DocumentModelLoader
from doc_json_sdk.handler.document_handler import DocumentExtractHandler, DocumentDigitalExtractHandler, DocumentParserWithCallbackHandler
from doc_json_sdk.render.document_model_render import DocumentModelRender
from llama_index.core.schema import Document
file_path = "/local_file" # your file
# handler: 更多参数查看IDP-SDK 快速开始
# DocumentExtractHandler 文档智能解析
# DocumentDigitalExtractHandler 文档电子解析
loader = DocumentModelLoader(handler=DocumentExtractHandler())
docmind_document = loader.load(file_path=file_path,
reveal_markdown=True, # 处理markdown 表格表示、图片链接表示 不处理图片的话可以关掉
formula_enhancement=False, # 公式增强
use_url_response_body=True)
# or file url
# docmind_document = loader.load(file_url="http://xxxx")
render = DocumentModelRender(document_model=docmind_document)
docmind_markdown_result = render.render_markdown_result()
# 查看markdown结果
print(docmind_markdown_result)
# use qwen_max as llm
from llama_index.llms.dashscope import DashScope, DashScopeGenerationModels
dashscope_llm = DashScope(model_name=DashScopeGenerationModels.QWEN_MAX,api_key="your-dashscope-sk")
# 总结
response = dashscope_llm.complete("总结文档内容,以markdown结果表示 \n: "+docmind_markdown_result)
print("总结如下:----------------------\n")
print(response.text)
# 抽取
response = dashscope_llm.complete("抽取文档内容,以KV方式表示 \n: "+docmind_markdown_result)
print("抽取如下:----------------------\n")
print(response.text)
该文章对您有帮助吗?
- 本页导读 (1)
- 方案说明
- 环境准备
- 方案实现示例
- 通过Docmind调用+Qwen完成文档总结