当前位置:   article > 正文

AI大语言模型实践_ai大模型应用开发实战营

ai大模型应用开发实战营

背景介绍

最近参加了极客时间的《AI 大模型应用开发实战营》,和老师共同开发了一个实战项目:Translator,将英文的pdf文档翻译成中文,再以pdf格式输出。
老师先对市场需求做了分析,相对于传统翻译,成本很高,但通过大语言模型就可以大大地降低成本,总体来说,很有钱景。我收到这个作业是很兴奋的,因为这不是在实验室里的玩具,而是可以直接放到市场的一个服务一个工具。

需求分析

这是老师给出的需求列表

  • 支持图形用户界面(GUI),提升易用性。
  • 添加对保留源 PDF 的原始布局的支持。
  • 服务化:以 API 形式提供翻译服务支持。
  • 添加对其他语言的支持。

开发历程

一开始热情高涨,觉得自己能够完成所有需求,但实际做起来可一点都不简单。就单单把项目启动起来走完整个流程就花费了我一天时间,要知道我是做java开发的,python对于我来说有点陌生,好在老师和同学的支持下,再加上自己的耐心,我给自己拆解任务,降低要求,咱们不求完美只求完成,在自己的能力范围之内做自己能做的功能。

成果

添加分行符

老师version1.0解析出来的pdf的分段格式是丢失的,所有文字都挤在一块,我调整样式,恢复了分段。

 if content.content_type == ContentType.TEXT:
     # Add translated text to the PDF
     text = content.translation
     lines = re.split("\n", text)
     for line in lines:
         para = Paragraph(line.strip(), simsun_style)
         story.append(para)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

段落首行缩进

有了分段之后,每个段落没有缩进,很不美观

simsun_style = ParagraphStyle('SimSun', fontName='SimSun', fontSize=12, leading=14, firstLineIndent=10)
  • 1

主要看这个firstLineIndent参数,除此之外,ParagraphStyle类中还有很多样式,有兴趣的同学可以深入研究

添加角色

新添角色{“role”: “system”,“content”: “你是一名专业的翻译,可以帮忙翻译成指定的语言”}
让chatgpt的回答更准确

response = openai.ChatCompletion.create(
          model=self.model,
          messages=[
              {"role": "system","content": "你是一名专业的翻译,可以帮忙翻译成指定的语言"},
              {"role": "user", "content": prompt}
          ]
      )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

前端

做一个GUI界面,我自己尝试用vue 和 react,但毕竟不是专业的前端,卡住了,pdf上传不了,但这个作业正好锻炼了我的用户思维。
我会去想,如果我是一个用户,希望看到一个什么样的界面。

我还是不死心,于是去找找其他解决方案,后来在AI大语言模型微信群里,有个同学提到了一个前端框架,useLLM
https://usellm.org/docs/examples/nextjs-pages-router
我拿它做了一个完整的聊天机器人,特别兴奋,是真的可以拿来聊天的那一种,真的很感谢同学的分享,但问题又来了,发布之后只能在github上玩,要部署得配置代理,但我不会,不过先完成再完美吧,把问题记录下来,后面满满优化吧。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/397189
推荐阅读
相关标签
  

闽ICP备14008679号