一日完成:Flutter + ChatGPT,打造智能聊天机器人

发布于:2024-10-24 编辑:匿名 来源:网络

简介:本文将介绍如何使用Flutter开发一款支持多种语言和主题设置的聊天应用,并与ChatGPT结合实现智能聊天功能。话不多说,直接使用开源flutter模板一分钟初始化了这个项目,一天之内就实现了第一个可用版本。

macOS版本可以在项目中下载,其他版本可以通过flutter build xxx打包。直接贴项目地址:?Linux?Windows?Android?iOS?框架技术核心支持多语言支持,可以轻松切换中英文。

单元测试支持和组件测试支持确保高质量的代码。优秀的全局数据管理方法flutter_bloc,业务逻辑和界面UI代码完美的层次隔离。

flutter_bloc_test,bloc也可以进行mock测试,完全脱离接口耦合。主题切换,黑暗与白天随意切换,保护您的眼睛。

统一的路由管理,解决了Flutter原生路由管理不方便的问题。 font_awesome_flutter 确保无限的图标使用,解决系统图标不足的恐慌。

1.背景 Flutter是一个跨平台的应用程序开发框架。它的优点是可以用来开发iOS、Android、Web和桌面应用程序,一套代码可以解决多个问题。

如今,chatGPT应用正如火如荼地进行。如何以清爽的界面为用户提供更加便捷、智能的聊天体验是一个难题。

当然,使用chatGPT来辅助编写代码似乎并不困难。例如,我的项目依赖chatGPT。

技术支持的代码编辑工具大约需要 1 天才能完成。 2.实现为了实现一个适应移动端和桌面端的聊天应用,我们将使用Flutter框架来完成,包括聊天界面和聊天逻辑的实现、全局数据管理以及对多语言和主题设置的支持,以及与ChatGPT的对话实现。

聊天界面的实现 Flutter中可以使用ListView组件来显示聊天记录,根据消息类型使用不同的UI组件进行显示。例如,我们可以使用文本和图片组件来显示文本消息和图片消息。

在第一个版本中,我们不考虑图片的显示,而只显示代码和普通文本。因此,一个简单的列表视图就可以处理它。

唯一的细节就是以聊天的形式呈现与chatGPT的对话内容。代码逻辑可以在这里找到:/main/lib/components/chat.dart。

实现难度很低,所以我直接让chatGPT帮我生成了右边的聊天对话界面框架,不过后来我又添加了一些逻辑。代码语言:javascript复制Expanded( child: Scrollbar(controller: _scrollController,thumbVisibility: true, child: BlocBuilder( builder: (context, state) { WidgetsBinding.instance.addPostFrameCallback((_) { _scrollToNewMessage(); }); if (state.runtimeType == MessagesLoaded) { var currentState = state as MessagesLoaded; return ListView.builder( 控制器: _scrollController, itemCount: currentState.messages.length, itemBuilder: (context, index) { return _buildMessageCard( currentState.消息[索引]); }, );dExpandEmptyListView(); } }, ), ), ), 聊天逻辑的实现用户输入消息后,我们需要处理该消息并将其发送到相应的聊天窗口。

后面应该有两个数据表【一个session表,一个聊天信息表,需要和session主conversationId关联,可以通过uuid生成】来记录我们和chatGPT对话的全部内容,那么一定有这里有一个conversation的概念,所以实现的思路是: 代码语言:javascript Copy 1.如果没有session,则创建一个conversation对话 2.有了session的conversationId,用这个ID插入我们问的问题chatGPT进入消息表 3.带着这个问题,问chatGPT API接口查询 4.因为我们需要实现打字效果,所以我们调用的是streaming API,这和我们平时调用API接口的方式有点不同。通常我们调用一次就返回,而流式调用则一次调用返回多次。

,所以我们可以使用dart的stream API来处理5。但是更好的方法是使用flutter_bloc。

这样我们就可以很好的隔离界面UI和逻辑部分,方便维护全局数据管理。可以在Flutter应用中使用 Flutter_bloc是一个全局数据管理库,可以更好地管理全局数据。

我们可以集中进行聊天记录获取、多语言、主题设置等操作,方便管理和维护。支持多语言和主题设置 Flutter 提供国际化和主题管理 API。

我们可以集中存储应用程序所需的各种语言和主题资源文件,并在应用程序启动时根据用户选择的语言和主题加载相关资源。文件,我使用flutter_bloc来实现这部分。

一个优点是这个库有一个 Hydrated_bloc 插件,它可以支持我非常方便地缓存本地设置。使用 ChatGPT 进行智能对话 ChatGPT 是一个聊天机器人 API,为用户提供智能聊天功能。

在Flutter应用程序中,我们可以使用HTTP请求向ChatGPT发送请求。所有逻辑都在flutter_bloc封装的逻辑中完成。

当然,访问openAi是使用flutter pub上别人提供的dart第三方库。

一日完成:Flutter + ChatGPT,打造智能聊天机器人

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 工信部:上半年新建5G基站19万个,我国5G基站总数达96.1万个

    工信部:上半年新建5G基站19万个,我国5G基站总数达96.1万个

    近日,工信部发布《年上半年通信业经济运行情况》。 其中通报了我国通信能力的情况。 截至6月底,手机基站总数达到1万个,比上年末净增17万个。 其中,4G基站总数为1万个,占比61.6%; 5G基站总数96.1万个,其中1-6月新建19万个。

    06-18

  • 万圣节必看:全世界的恐怖电影都为之疯狂

    万圣节必看:全世界的恐怖电影都为之疯狂

    万圣节即将到来,没有比读几个恐怖故事、看几部恐怖漫画更好的庆祝方式了。 知名恐怖漫画家弗拉基米尔伊藤润二将与 Netflix 联手推出动画剧集《伊藤润二 狂选集》。 该动画系列包括多达20部作品,将于2020年1月19日首播。 今年的恐怖悬疑系列《聪明镇》已开机拍摄,由梁咏琪和

    06-21

  • “微流一体机”科技公司Day6 Biotech完成数千万A轮融资

    “微流一体机”科技公司Day6 Biotech完成数千万A轮融资

    9月10日消息,近日,研发新一代“微流一体机”的初创公司Day6 Biotech “一一”科技宣布完成数千万元A轮融资,由嵩泽资本领投,老股东、清介资本跟投。 本轮募集资金将用于碧观研发的“现场检查、低成本耗材、一步操作”的分子POCT产品的临床试验和NMPA注册,以及拓展公司的研

    06-17

  • 专门服务美业门店的美云完成近千万元天使轮融资

    专门服务美业门店的美云完成近千万元天使轮融资

    据投资界5月13日消息,据36氪报道,专门服务美业门店的美云已完成近千万元天使轮融资< titlesplit >近期完成近千万元天使轮融资。 ,本轮投资方为暴龙资本。 据悉,本轮募集资金将用于拓展市场。 美云成立于2016年3月,以友庄实业上海代理商起家,并取得友庄实业全国代理销售

    06-18

  • 王牌互娱获快手

    王牌互娱获快手

    数百万元天使投资投资界(微信ID:pedaily)4月15日报道称,手游开发商王牌互娱获得快手、途游游戏、北京博弈投资乐视科技、上海灿麦科技(DotC United Group旗下公司)等共同投资的数百万元天使轮融资。 资料显示,王牌互娱是一家手机游戏开发商,前身为北京泛A网络技术有限

    06-18

  • 亚洲明星聚焦:泰国游戏初创公司 Runnex Technology 将健身与乐趣融为一体

    亚洲明星聚焦:泰国游戏初创公司 Runnex Technology 将健身与乐趣融为一体

    Keerati Tanakitjaroenpat 从童年起就是一名狂热的游戏玩家。 他对手机游戏的热情促使他在 2017 年攻读计算机科学学士学位,这使他具备了开发 PC 和手机游戏的技能。 但直到很晚,Tanakitjaroenpat 才开始有动力从头开始创建自己的游戏。 他的大学朋友意识到,在全职工作几年

    06-18

  • 分蛋金服获3000万元Pre-A轮融资,投资人为海泰戈壁

    分蛋金服获3000万元Pre-A轮融资,投资人为海泰戈壁

    据投资界8月7日消息,分蛋金服今日宣布完成1万元Pre-A轮融资融资,海泰戈壁为投资人。 据悉,本轮融资资金将用于全国营销推广、企业品牌建设以及科技领域升级。   分蛋金融服务集团成立于2018年7月,是一家围绕婚礼、婆婆服务等家庭消费场景提供金融中介服务的科技金融企业

    06-18

  • 清华大学孵化的脑机接口平台公司:宁聚科技获亿元A轮融资

    清华大学孵化的脑机接口平台公司:宁聚科技获亿元A轮融资

    投资界(ID:pedaily)11月23日消息,北京,国内唯一一家具有侵入性的脑机接口平台公司技术能力 宁聚科技有限公司(NeuraMatrix)完成1亿元人民币A轮融资。 领投方为华盖资本。 沙特阿美旗下多元化风险投资基金Prosperity7 Ventures(P7)以及老股东经纬中国也参与了投资。 光

    06-17

  • IMX318首次亮相,华硕ZenFone 3系列上手体验

    IMX318首次亮相,华硕ZenFone 3系列上手体验

    随着台北电脑展即将开幕,华硕率先发布了ZenFone 3手机系列,这也是华硕在手机市场的旗舰产品今年。 它们是 ZenFone 3、ZenFone 3 Deluxe 和 ZenFone 3 Ultra。 这三款ZenFone手机定位很明显。 美元ZenFone 3的整体配置中规中矩,适合大众用户。 虽然美元的ZenFone 3 Deluxe比

    06-17

  • 【创业24小时】2022年2月10日

    【创业24小时】2022年2月10日

    【创业24小时】2022年2月10日投融资昨天国内市场共发生18起投资披露事件,其中先进制造4起(华谊微电子、江苏三杰、恩利动力动力、天兵科技),企业服务案例4起(小岛科技、蓝象智能、亚信安全、晨晶科技)、智能硬件案例3个(灵犀机器人、天翼锂业、铼智能)、金融案例2个(

    06-17

  • 预览:直播小程序开发,1小时内从入门到上手 -硬创新公开课

    预览:直播小程序开发,1小时内从入门到上手 -硬创新公开课

    昨天,小程序正式上线,互联网迎来一场狂欢。 张小龙上个月在公开演讲中表示,“小程序是一种比所有现有应用程序更灵活、更容易访问的形式,并将无处不在。 ”作为微信的一种新形态,小程序不仅拓展了微信的生态系统,也被视为移动互联网的一次“革命”。 任何文本分析都不如

    06-17

  • 论文写作智能辅助平台文昌获天使轮投资

    论文写作智能辅助平台文昌获天使轮投资

    据投资界(ID:pedaily)4月14日消息,近日,“论文写作智能辅助平台文昌”(简称: “文昌”)完成首轮战略投资。 。 据悉,该公司的学术教育平台聚集了包括高校教师、博士、硕士在内的一万名高学历人才。 经过多年在学术领域的积累,形成了以学术志向为核心的学术自媒体矩

    06-17