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

网站开发用户需求说明书宁波网站搭建定制非模板网站建设

网站开发用户需求说明书,宁波网站搭建定制非模板网站建设,新闻门户网站建设方案,建设银行手机银行网站用户名是什么意思问题引出 在我们日常使用大模型时,有一类典型的应用场景,就是将文件发送给大模型,然后由大模型进行解析,提炼总结等,这一类功能在官方app中较为常见,但是在很多模型的api中都不支持,那如何使用…

问题引出

在我们日常使用大模型时,有一类典型的应用场景,就是将文件发送给大模型,然后由大模型进行解析,提炼总结等,这一类功能在官方app中较为常见,但是在很多模型的api中都不支持,那如何使用api实现该功能呢?

在阿里云官方文档的模型列表中(模型列表与价格_大模型服务平台百炼(Model Studio)-阿里云帮助中心),我们可以看到,qwen-vl系列大模型支持图片类文档的解析(如扫描件或图片pdf),其底层即使用OCR进行图片识别来解析

那如果是文字版pdf呢?先转成图片,再传给qwen-vl系列大模型?

有一个方案是自己将pdf解析为纯文本,然后发送给大模型,例如使用tika对pdf进行解析

    public String summarize(@RequestParam("file") MultipartFile file) {List<Document> documents = new TikaDocumentReader(file.getResource()).get();String documentText = documents.stream().map(Document::getFormattedContent).collect(Collectors.joining("\n\n"));return chatClient.prompt().user(DEFAULT_SUMMARY_PROMPT).system(systemSpec ->systemSpec.text(summarizeTemplate).param("document", documentText)).call().content();}

不过这个方案略微繁琐了点,需要自行对文件进行解析,那有没有可以直接上传文件的方案呢?

答案就是qwen-long系列大模型

qwen-long简介

通义千问系列上下文窗口最长,能力均衡且成本较低的模型,适合长文本分析、信息抽取、总结摘要和分类打标等任务。参考文档:Qwen-Long_大模型服务平台百炼(Model Studio)-阿里云帮助中心

使用方式

先将文件上传,然后在与大模型的对话中携带fileid

代码调用

spring-ai-alibaba中为了方便用户使用,最新提供了DashScopeDocumentAnalysisAdvisor,省略了用户需要自行实现文件上传及附带fileid的步骤

    @PostMapping(path = "/analyze", produces = "text/plain")public String analyze(@RequestParam("file") MultipartFile file) {ApiKey apiKey = new SimpleApiKey("your key");return chatClient.prompt().advisors(new DashScopeDocumentAnalysisAdvisor(apiKey)).advisors(a -> a.param(DashScopeDocumentAnalysisAdvisor.RESOURCE, file.getResource())).user("总结文档内容") //或根据文档内容提问.options(DashScopeChatOptions.builder().withModel("qwen-long").build()).call().content();}

若模型默认不是qwen-long,需指定模型为qwen-long

使用时需创建一个DashScopeDocumentAnalysisAdvisor,并传入一个Resource

Resource可以是本地文件FileSystemResource,也可以是网址UrlResource,或者上传的文件,如上述样例中的代码

ps:相关功能目前未上传到中央仓库,需自行编译打包,或等待新版本发布(>1.0.0.2)

ps:虽然该实现由文字版pdf引出,实际支持文本文件( TXT、DOCX、PDF、XLSX、EPUB、MOBI、MD、CSV、JSON),图片文件(BMP、PNG、JPG/JPEG、GIF 以及PDF扫描件)等

代码解析

DashScopeDocumentAnalysisAdvisor内部代码逻辑较为简单

当resource参数不为空时,获取Resource并将其上传,得到文件信息,将其加入上下文

然后提取对话的SystemMessage,在其中加入文件信息,然后大模型即可识别用户上传的文档

    public ChatClientRequest before(ChatClientRequest chatClientRequest, AdvisorChain advisorChain) {var context = chatClientRequest.context();Resource resource = (Resource) context.get(RESOURCE);if (resource != null) {ResponseEntity<UploadResponse> uploadResponse = upload(resource);context.put(UPLOAD_RESPONSE, uploadResponse);Assert.notNull(uploadResponse.getBody(), "upload response body is null");String augmentSystemMessage = DEFAULT_PROMPT_TEMPLATE.render(Map.of("id", uploadResponse.getBody().id,"originSystemMessage", chatClientRequest.prompt().getSystemMessage().getText()));return chatClientRequest.mutate().prompt(chatClientRequest.prompt().augmentSystemMessage(augmentSystemMessage)).build();}return chatClientRequest;}

http://www.dtcms.com/a/430131.html

相关文章:

  • 利用黑群晖做网站婚礼策划公司排名
  • 网站的反爬一般怎样做建筑公司企业愿景文案
  • 如何在自己网站上做支付宝吗深圳市网络营销公司
  • 淄博网站排名优化报价上海某家具网站建设方案
  • 秦皇岛pc端网站建设网络推广优化培训
  • 国外红色企业网站中国企业网信息查询系统
  • 如何用ftp登陆网站网站建设jiage
  • h5建设网站教程wordpress 修改时间
  • 衡阳网站建设公司如何查找网站根目录
  • 网站开发毕业设计源码网站设计展示
  • 比较容易做流量的网站做网站要会编程么
  • 龙岗网站多少钱今天的热搜榜
  • 青岛网站权重提升衡水龙腾网站建设
  • 如何制作网站专题中国工程建设监理协会网站
  • 十堰网站建设公司电话公司网站建设注意
  • 游戏网站做关键字wordpress 淘宝客网站
  • 优秀材料写作网站idstore wordpress
  • 8个页面的网站怎么做网络营销策略文献综述
  • api in wordpressseo技术大师
  • 电商网站开发流程图桂林欣梦网络
  • 如何做实验室网站做网站的流程是什么
  • 上海网站建设口碑最好的公司福州网站开发si7.cc
  • win10 电脑做网站服务器吗js制作简单的公司首页
  • 网站建设 教学大纲专门做mod的网站
  • 代做通一样的网站网页网站培训班
  • 图书网站建设昆明大型网页开发企业
  • 在线营销推广西安seo交流
  • 男女生做羞羞网站做健身俱乐部网站的目的和意义
  • uml电子商务网站建设文档免费简历模板下载word
  • 南阳公司网站建设网页设计制作规范