前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第一个 AI 应用

第一个 AI 应用

作者头像
云水木石
发布2024-01-23 16:38:20
1030
发布2024-01-23 16:38:20
举报

开发一款软件产品或一款应用,按照以往的经验,就是要做一个 App,或者一个网站、一个服务。但随着云服务、低代码平台的出现,产品的业态也发生着变化。比如最近大热的 AIGC 公司 Midjourney,进入官网,没有 App 需要下载,也没有传统的网页服务。

点击登录,弹出来的居然是 Discord 的用户授权界面。也就是说,一般公司特别在意的用户数据,它也没维护,直接就用第三方账号系统。

再看下面的介绍,整个公司只有11名全职工作人员,要知道这家公司的年营收可是2亿美元,真的是一家神奇的公司,其产品服务居然只在别家的平台 Discord 提供。

都说70后非常幸运,赶上了互联网和移动互联网两波浪潮。但是,身处浪潮之中,能否感受到浪潮,或者乘风破浪又是一回事。互联网刚出现时,简陋的网页,老爷车般的网速,谁会预想到互联网会深刻的改变我们的生活呢?手机刚出现时,人们最多想到的是替代电话,谁曾想现在人们会一刻也离不开手机。这哪里是替代电话,替代的是一种生活方式。即使认识到互联网和移动互联网的前景,但处在当时的环境下,能想到有什么切入点吗?

从 AlphaGo 大战李世石引起人们对人工智能的关注,很快就过去了 7 年时间。这期间有些人坚信人工智能就是新一代技术浪潮,但更多的人看到的是 Siri 的人工智障、自动驾驶的不着调、花式调侃 ChatGPT,丝毫没有意识到人工智能的前景。我想,二十多年前,人们面对初代互联网,听着56K MODEM吱吱叫,龟速上网时,也是这么想的吧。

即使认识到人工智能的前景,也不见得就能看到希望。比如百度 ALL in AI之后,市值已经从原来的 BAT梯队掉队。曾经的独角兽商汤科技,如今步履维艰。连巨头都是如此,普通人就更难了。

机会当然有,但能抓住机会的绝对凤毛麟角。所以面对别人的成功,不要轻飘飘的来一句,只不过是碰上了好机遇。机遇来了,能接住,也是一种实力。

不过大家也不要焦虑,着急上 AI 这趟车,因为第一波从 AI 淘到真金白银的就是那些教你使用 AI 的人。

虽然看不清 AI 的发展和切入点,我也一直保持一定的关注。今天就介绍我的第一款 AI 应用,当然不是那种传统意义上的软件应用,实用价值也有限。

当前,出现了各种低代码平台。所谓的不用学习写代码,就可以完成编程工作。AI 领域也是如此,比如 Open AI 就推出了 Chat GPTs,允许用户通过结合提示词、外部知识和特定功能,打造个性化的ChatGPT版本。

简单来说:

GPTs 应用 = ChatGPT + Prompt 提示词工程 + 自定义语料库 + 自定义接口

这种应用开发模式,不需要编写程序,不需要懂什么大数据、大模型,只需要关注自己擅长的领域,可以说也是颠覆了之前我们对于应用开发的观念。

国内公司也开始发力,比如字节跳动,就推出了类似的平台:

https://coze.com

出于某些政策的原因,这样服务并没有对国内用户开放,如果要使用,请自备梯子。

访问网站后,可以选择使用 Google 账号登录,进入之后界面如下:

简单来说,Coze 就是创建聊天机器人(Bot)的平台。这里聊天,并不是无意义的闲聊,就像 Chat GPT 那种模式,可以通过对话的形式来从 AI 那里获得答案。

如果我们选择创建一个 Bot,首先需要为其设定一个角色,关于角色的描述,界面上给了一个示范。

我的目标是打造一个编程助手。根据示例,并结合我希望定义的程序员角色,再经过 AI 优化,得到了如下提示描述:

英文水平不行没有关系,我们可以借助谷歌翻译,尽量还是给英文的提示词。

接下来就是选择插件,这里的插件差不多就是一项服务,比如 Google 搜索,DALLE 3 是用于文生图,等等。根据我的需求,有些技术问题还需要借助Google 搜索,把该插件添加即可。

接下来还可以选择知识库,还有一些选项不太明白有什么作用,先不管吧。

创建了 Bot 后,在预览区域就可以向 Bot 发起回话,就像使用 Chat GTP 一样。下面是一个示范。

在linux下,如何开发一个蓝牙通信应用?

在Linux下开发蓝牙通信应用,您可以考虑使用BlueZ库。BlueZ是官方Linux蓝牙协议栈,它提供了许多用来跟蓝牙设备通讯的APIs。

以下是一个简单的使用Python的BlueZ库进行蓝牙通信的示例:

代码语言:javascript
复制
import bluetooth

# 搜索附近的蓝牙设备
nearby_devices = bluetooth.discover_devices(lookup_names=True)
print("找到了 %d 个设备." % len(nearby_devices))

# 输出设备名称和地址
for addr, name in nearby_devices:
    print("%s - %s" % (addr, name))

# 创建一个套接字(Bluetooth使用的RFComm协议)
sock=bluetooth.BluetoothSocket(bluetooth.RFCOMM)

bd_addr = "01:23:45:67:89:ab" # 蓝牙设备的地址
port = 1
sock.connect((bd_addr, port))

# 发送数据
sock.send("Hello, Bluetooth!")

sock.close()

这段代码首先搜索附近的蓝牙设备,然后选择其中一个进行连接和通信。

注意,您需要确认已经在Linux上安装了pybluez库,如果尚未安装,您可以使用如下命令安装:

代码语言:javascript
复制
sudo apt-get install python-bluetooth

希望这个示例能够对您有所帮助,如果您需要更详细的信息,或者对其他的蓝牙开发主题有疑问,请随时向我提问。

抱歉,我希望使用C++语言开发,最好是QT

如果您打算在Linux下使用C++以及QT框架开发蓝牙通信应用,那么Qt Bluetooth模块将会是您的首选。

首先确保已安装蓝牙开发的库,然后在Qt工程文件 (.pro) 中添加蓝牙模块:

代码语言:javascript
复制
QT += bluetooth

下面是一个使用Qt Bluetooth模块搜索附近蓝牙设备的简单例子:

代码语言:javascript
复制
#include <QBluetoothDeviceDiscoveryAgent>
#include <QBluetoothDeviceInfo>

QBluetoothDeviceDiscoveryAgent *agent = new QBluetoothDeviceDiscoveryAgent(this);

connect(agent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered, this, [=](const QBluetoothDeviceInfo &info){
    qDebug() << "Found new device:" << info.name() << '(' << info.address().toString() << ')';
});

agent->start();

以上代码会搜索附近的蓝牙设备,并打印出设备名称和MAC地址。你可以使用QBluetoothSocket进行连接和通信。

这是一个建立连接的简单示例:

代码语言:javascript
复制
#include <QBluetoothSocket>

QBluetoothSocket *socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol);

connect(socket, &QBluetoothSocket::connected, this, [](){
    qDebug() << "Connected!";
});

connect(socket, QOverload<QBluetoothSocket::SocketError>::of(&QBluetoothSocket::error),
        this, [=](QBluetoothSocket::SocketError error){
    qDebug() << "Cannot connect to the device:" << error;
});

// 用设备的MAC地址创建QBluetoothAddress对象,然后连接到设备
QBluetoothAddress address("01:23:45:67:89:ab");
socket->connectToService(address, QBluetoothUuid(QBluetoothUuid::SerialPort), QIODevice::ReadWrite);

以上代码创建了一个用于通信的socket,然后连接到指定的蓝牙设备。

上述代码仅供参考,在实际项目中您可能需要按照您的具体需求进行修改。

预览完之后,就可以发布到 Discord、Telegram等 IM 平台。但这里没有我们熟悉的微信、QQ、飞书等。吐槽一下 Discord 真的不好用,速度也慢,不知道为啥在国外那么受欢迎。

在Discord上发布后,效果是这样的:

Telegram上效果也差不多:

如何挖掘这个聊天机器人的潜力,如何提供一些个性化的服务,则是下一步需要研究的课题。目前还没看出字节跳动推出的这个开发平台有啥作用,一个 Bot 能玩出什么花样。新的产品形态,一下子没法弄明白,就像当年,软件免费能赚钱,大家也觉得不可能。

如同学习软件开发,如果只是看书、看代码,永远学不会编程。AI 也是如此,只是看看热闹,也没有什么作用,还是得下场实践。也许做了一个应用后,才能明白Midjourney 这种产品形态。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云水木石 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云微搭低代码
微搭低代码是一个高性能的低代码开发平台,用户可通过拖拽式开发,可视化配置构建 PC Web、H5 和小程序应用。 支持打通企业内部数据,轻松实现企业微信管理、工作流、消息推送、用户权限等能力,实现企业内部系统管理。 连接微信生态,和微信支付、腾讯会议,腾讯文档等腾讯 SaaS 产品深度打通,支持原生小程序,助力企业内外部运营协同和营销管理。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档