首页 > 其他分享 >自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人

自然语言开发AI应用,利用云雀大模型打造自己的专属AI机器人

时间:2024-02-02 11:55:57浏览次数:24  
标签:翻译 AI text 模型 云雀 srt 自然语言 代码

如今,大模型层出不穷,这为自然语言处理、计算机视觉、语音识别和其他领域的人工智能任务带来了重大的突破和进展。大模型通常指那些参数量庞大、层数深、拥有巨大的计算能力和数据训练集的模型。

但不能不承认的是,普通人使用大模型还是有一定门槛的,首先大模型通常需要大量的计算资源才能进行训练和推理。这包括高性能的图形处理单元(GPU)或者专用的张量处理单元(TPU),以及大内存和高速存储器。说白了,本地没N卡,就断了玩大模型的念想吧。

其次,大模型的性能往往受到模型调优和微调的影响。这需要对模型的超参数进行调整和优化,以适应特定任务或数据集。对大模型的调优需要一定的经验和专业知识,包括对深度学习原理和技术的理解。

那么,如果不具备相关专业知识,也没有专业的设备,同时也想开发属于自己的基于AI大模型的应用怎么办?本次我们使用在线的云雀大模型来打造属于自己的AI应用。

构建线上AI应用

首先访问扣子应用的官网:

https://www.coze.cn/home

注册成功之后,我们需要一个创意,也就是说我们到底想要做一个什么应用,这个应用的功能是什么,当然,关于创意AI是帮不了你的,需要自己想,比如笔者的代码水平令人不敢恭维,平时在CodeReView时,经常被同事嘲笑,没办法,有的人就是没有代码洁癖,为了避免此种情况经常发生,想要打造一款AI机器人能够在代码提交之前帮忙审核代码,检查语法的错误并给出修改意见和性能层面优化的方案。

此时点击创建Bot:

如上图所示,这里输入应用的名称和描述,至于应用图标,可以让AI生成一个。

工作流 WorkFlow

工作流指的是支持通过可视化的方式,对插件、大语言模型、代码块等功能进行组合,从而实现复杂、稳定的业务流程编排。

我们的工作流非常简单,第一步,用户输入代码,第二步,大模型检查代码,第三步,大模型返回修改意见。

点击创建工作流,输入的参数变量为code,数据类型可以选择四种,即字符串、整形、布尔和数字,这里代码显然选择字符串。

接着接入大模型,引导词这样填写:

你是一位经验丰富的程序员,擅长Python,HTML,CSS,Java,Golang等语言,请检查{{input}}这段代码的语法,给出修改的建议,并且给出代码性能优化的多种修改方案。

通过引导词来让大模型针对输入的代码进行检测。

最后返回大模型输入的修改意见。

如图所示:

随后可以运行整个工作流进行测试,大模型返回:

{  
  "output": "可优化项目与建议:\n- 建议使用 `try-except` 结构来捕获所有类型的异常,然后进行统一处理。\n- 建议添加代码注释,增强代码的可读性。\n\n优化后的代码如下所示:\n```python\ndef make_tran():\n    \"\"\"\n    该函数用于将 video.srt 文件中的英文翻译成中文,并将翻译结果写入 two.srt 文件\n\n    Returns:\n        str: \"翻译完毕\",表示翻译过程已完成\n    \"\"\"\n    # 从预训练模型中加载 tokenizer 和 model\n    tokenizer = AutoTokenizer.from_pretrained(\"Helsinki-NLP/opus-mt-en-zh\")\n    model = AutoModelForSeq2SeqLM.from_pretrained(\"Helsinki-NLP/opus-mt-en-zh\")\n    # 打开 video.srt 文件并读取其中的内容\n    with open(\"./video.srt\", 'r', encoding=\"utf-8\") as file:\n        gweight_data = file.read()\n    # 将读取到的内容按换行符分割成多个段落,并存储在 result 列表中\n    result = gweight_data.split(\"\\n\\n\")\n    # 如果 two.srt 文件存在,则将其删除\n    if os.path.exists(\"./two.srt\"):\n        os.remove(\"./two.srt\")\n    # 遍历 result 列表中的每个段落\n    for res in result:\n        # 将每个段落按换行符分割成多个句子,并存储在 line_srt 列表中\n        line_srt = res.split(\"\\n\")\n        # 尝试对每个句子进行翻译\n        try:\n            # 使用 tokenizer 对句子进行预处理,以便模型可以处理它们\n            tokenized_text = tokenizer.prepare_seq2seq_batch([line_srt[2]], return_tensors='pt')\n            # 使用模型进行翻译\n            translation = model.generate(**tokenized_text)\n            # 使用 tokenizer 将翻译结果解码为文本\n            translated_text = tokenizer.batch_decode(translation, skip_special_tokens=False)[0]\n            # 移除翻译结果中的填充字符和结束符号,并去除首尾的空格\n            translated_text = translated_text.replace(\"<pad>\", \"\").replace(\"</s>\", \"\").strip()\n            # 打印翻译结果\n            print(translated_text)\n            # 将翻译结果写入 two.srt 文件\n            with open(\"./two.srt\", \"a\", encoding=\"utf-8\") as f:\n                f.write(f\"{line_srt[0]}\\n{line_srt[1]}\\n{line_srt[2]}\\n{translated_text}\\n\\n\")\n        # 如果在翻译过程中发生任何异常,则打印异常信息,并跳过当前句子\n        except Exception as e:\n            print(str(e))\n    # 返回 \"翻译完毕\",表示翻译过程已完成\n    return \"翻译完毕\"\n```"  
}

如此,就完成了一个代码检查和优化的工作流,说白了,就是给用户一个没有token限制并且无限次使用的大模型,并且跳过prompt环节,直接简单粗暴返回垂直内容的解决方案。

发布应用

构建好应用之后,我们可以在其他平台发布,让更多人使用该应用,这里以飞书为例子,飞书是一站式协同办公平台,为企业提供各种数字化办公解决方案,大部分公司都在使用。

随后在公司群里就可以直接调用自己的应用了:

结语

尽管使用大模型可能具有一些挑战,但随着技术的进步和资源的可用性,大模型的门槛正在逐渐降低。这为更多的普通人、无编程背景的爱好者提供了利用大模型来解决对于个人垂直领域相对复杂任务的机会。

标签:翻译,AI,text,模型,云雀,srt,自然语言,代码
From: https://www.cnblogs.com/v3ucn/p/18002933

相关文章

  • java: Compilation failed: internal java compiler error
    idea启动项目后出现 java:Compilationfailed:internaljavacompilererror错误第一种情况:idea的JDK版本和项目配置的不同。解决方法:查看项目中配置的jdk版本,再查看 idea配置的版本项目配置的:在idea中要查看三个地方的配置 1、File---->Setting------>javacompile......
  • NLP自然语言处理—主题模型LDA案例:挖掘人民网留言板文本数据|附代码数据
    全文链接:http://tecdat.cn/?p=2155最近我们被客户要求撰写关于NLP自然语言处理的研究报告,包括一些图形和统计输出。随着网民规模的不断扩大,互联网不仅是传统媒体和生活方式的补充,也是民意凸显的地带。领导干部参与网络问政的制度化正在成为一种发展趋势,这种趋势与互联网发展的时......
  • 新型生成式 AI 助手 Amazon Q(预览版)上线
    今天,我们宣布推出AmazonQ,这是一种新型的生成式人工智能助手,专门用于满足办公场景需要,可以根据客户业务进行定制。客户可以使用AmazonQ进行对话、解决问题、生成内容、获取见解并采取行动,所有这些都基于客户自身的信息存储库、代码、数据和企业系统。AmazonQ为员工提供即时......
  • PyQt5+python AttributeError: 'QMainWindow' object has no attribute 'slot1'解决办
    Step1.原因分析因为以前写过pyqt5,所以还是有一定的基础的,但是最近重新写上位机的时候,突然发现以前的办法不好用了,以前就是直接从Qtdesigner创建完成后,使用指令生成一个py文件,从main文件中调用就可以了,这次发现,直接使用槽函数,会报错AttributeError:'QMainWindow'objec......
  • Java 中的contains方法解析
    contains方法解析深入Collection集合的contains方法booleancontains(Objecto)如果此集合包含指定的元素,则返回truecontains方法是用来判断集合中是否包含某个元素的。它在底层调用了equals方法进行比对。publicclassCollectionTest04{publicstaticvoidmain......
  • 10000+AI绘画关键词-涵盖Mid和StableDiffusion
    下载地址:https://pan.quark.cn/s/90634ffdf31910000+AI绘画关键词-涵盖Mid和StableDiffusion......
  • nerdctl build -- command to build container image from docker file
    1.Prerequisiteofusingnerdctlbuildbuildctlneedstobeinstalledandbuildkitdneedstoberunning.2.checkifbuildctlinstalled$nerdctlversionClient:Version: v1.7.2OS/Arch: linux/amd64Gitcommit: e32c4b023bf41e5c8325cfb893a53cefb5fc68edb......
  • ChatGPT 被曝泄露私密对话;美国 AI 企业一天蒸发 1.3 万亿市值丨 RTE 开发者日报 Vol.1
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • 布局算力新基建,九章云极DataCanvas公司赋能AI产业高质量发展
    近日,WIM2023(WorldInnovatorsMeet,世界创新者年会)在北京盛大举行,九章云极DataCanvas联合创始人尚明栋受邀出席论坛,并作“AI基础软件加速产业智能化升级”主题演讲。WIM2023由亿欧、中关村国家自主创新示范区展示中心、中关村会展与服务产业联盟联合主办,以“穿越波动韧性前行”为......
  • AI赋能—EasyCVR视频融合平台为春节人员流动保驾护航
    春节期间,如景区、商场、车站等公共场所的人流量激增,人员密集度大。在此情况下,监控客流量可以及时发现人群聚集、过度拥挤等安全隐患,防止发生安全事故。通过实时监测和分析客流量数据,可以及时发现安全隐患和拥堵问题,采取相应的措施进行处置,降低安全风险,确保公共场所的安全和秩序。......