第一个 AI 应用

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

第一个 AI 应用_第1张图片

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

第一个 AI 应用_第2张图片

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

第一个 AI 应用_第3张图片

都说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 账号登录,进入之后界面如下:

第一个 AI 应用_第4张图片

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

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

第一个 AI 应用_第5张图片

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

第一个 AI 应用_第6张图片

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

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

第一个 AI 应用_第7张图片

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

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

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

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

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

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库,如果尚未安装,您可以使用如下命令安装:

sudo apt-get install python-bluetooth

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

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

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

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

QT += bluetooth

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

#include 
#include 

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进行连接和通信。

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

#include 

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

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

connect(socket, QOverload::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 真的不好用,速度也慢,不知道为啥在国外那么受欢迎。

第一个 AI 应用_第8张图片

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

第一个 AI 应用_第9张图片

Telegram上效果也差不多:

第一个 AI 应用_第10张图片

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

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

你可能感兴趣的:(人工智能)