好饭不怕晚,Google基于人工智能AI大语言对话模型Bard测试和API调用(Python3.10)

好饭不怕晚,Google基于人工智能AI大语言对话模型Bard测试和API调用(Python3.10)

    谷歌(Google)作为开源过著名深度学习框架Tensorflow的超级大厂,是人工智能领域一股不可忽视的中坚力量,旗下新产品Bard已经公布测试了一段时间,毁誉参半,很多人把Google的Bard和OpenAI的ChatGPT进行对比,Google Bard在ChatGPT面前似乎有些技不如人。

    事实上,Google Bard并非对标ChatGPT的产品,Bard是基于LaMDA模型对话而进行构建的,Bard旨在构建一个对话式的AI系统,使其能够更好地理解人类语言,并且具备进行多轮对话的能力。而GPT的目标是生成自然语言文本。

    在特征数据层面,Bard使用了像Gmail、Meet等Google社交产品线中的对话数据来进行训练,这些数据已经经过了严格的隐私保护措施。而GPT则是通过大规模的网页爬虫来获取数据,它的训练数据量比LaMDA要大得多。

    模型结构层面,Bard采用了一种称为“Transformer”的神经网络结构,该结构可以处理长文本并保持信息连贯性。GPT也使用了Transformer结构,但它还采用了一种称为“自回归”的方式,即按照时间步骤一个接一个地生成文本。

    说白了,在应用层面上,Bard适合开发智能助手、聊天机器人、虚拟客服等应用。而GPT更适用于自然语言生成任务,例如文章撰写、机器翻译等等。

    Bard对话测试(英文/中文)

    访问 bard.google.com ,随后输入聊天内容:


    一望而知,对话输入的内容只支持英文,并不能输入中文。

    但事实上,只要稍微改变一下对话逻辑,也可以让Bard返回中文信息,比如:


    Bard代码能力

    私以为Bard的代码能力并不输于ChatGPT:


    尤其是对自家的深度学习框架Tensorflow更是如数家珍,生成的代码如下:

import tensorflow as tf

def load_model():
"""Loads the TensorFlow image recognition model."""
model = tf.keras.models.load_model('mobilenet_v2_1.0_224')
return model

def recognize_objects(image):
"""Recognizes objects in an image."""
# Convert the image to a tensor.
image = tf.image.convert_image_dtype(image, dtype=tf.float32)

# Resize the image to 224x224 pixels.
image = tf.image.resize(image, [224, 224])

# Normalize the image.
image = tf.image.normalize(image, mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])

# Predict the labels of the objects in the image.
predictions = model.predict(image)

# Return the labels of the objects in the image.
return predictions

def main():
# Load the image recognition model.
model = load_model()

# Load an image.
image = tf.io.read_file('image.jpg')

# Recognize objects in the image.
predictions = recognize_objects(image)

# Print the labels of the objects in the image.
for prediction in predictions:
print(prediction)

if __name__ == '__main__':
main()

    这里是使用Tensorflow内置小模型mobilenet_v2_1.0_224的智能识图逻辑,简洁而严谨。

    Bard网络架构

    在浏览器(B端)架构上,Google极其自信地使用了HTTP2协议的接口进行通信,而没有仿效ChatGPT使用SSE协议:


    我们知道ChatGPT使用SSE协议其实是等而下之的次优选择,因为GPT模型在推理上需要时间,所以走的模式是一边推理一边返回的流式模型,关于流式返回,请移玉步至:逐句回答,流式返回,ChatGPT采用的Server-sent events后端实时推送协议Python3.10实现,基于Tornado6.1 ,这里不再赘述。

    而Google的Bard选择一次性返回所有推理数据:


    所以推理效率上,Bard要优于ChatGPT,但仅限于免费产品线,截止本文发布,ChatGPT的收费产品gpt3-turbo和gpt4的推理效率都要远远高于其免费产品。

    Bard的远程接口API调用

    和免费版本的ChatGPT一样,Bard目前只支持浏览器端(B端)的使用,但也可以通过浏览器保存的Token进行远程调用,首先安装Bard开源库:

pip3 install --upgrade GoogleBard

    随后复制浏览器端的token秘钥:


    接着在终端通过Session进行注入:

python3 -m Bard --session UggPYghLzQdQTNx1kQiCRzbPBA1qhjC-dndTiIPCk3YPLR5TexmP7OQ7AfUdsfdsf1Q.

    随后就可以进入终端内的对话场景,使用alt+enter组合键或者esc+enter组合键发送信息即可:

➜  work python3 -m Bard --session UggPYghLzQdQTNx1kQiCRzbPBA1qhjC-dndTiIPCk3YPLR5TexmP7OQdfgdfgdfUSg0UQ.

Bard - A command-line interface to Google's Bard (https://bard.google.com/)
Repo: github.com/acheong08/Bard

Enter `alt+enter` or `esc+enter` to send a message.

You:
hi



Google Bard:
Hi there! How can I help you today?

    非常方便,主要是速度相当惊艳。

    结语

    仅就免费版本所提供的产品力而言,Google Bard和ChatGPT可谓是各有千秋,私以为Google Bard在效率和使用逻辑上要更胜一筹,并不是网上所传言的那么不堪。所谓一枝独秀不是春,百花齐放才是春满园,Google Bard和百度的文心一言,都会对ChatGPT形成压力,让ChatGPT保持光速更新,成为更好的自己。