ChatGPT 3.5 注册已经不需要手机了,直接邮箱认证就可以,这可真算是好消息,坏消息是 ChatGPT 4 还是要收费。 那么 GPT-3.5 与 GPT-4 区别有多大呢,下面简单测试一下。
以从 TDengine 订阅数据为例,TDengine 算是不太小众的数据库,如果连这个都能搞定,说明GPT 还是蛮厉害的。
目录
GPT-3.5 给出的代码
这个我是直接从OpenAI 获取的答案
from taospy import Client
# 连接到 TDengine 服务器
conn = Client(host='your_tdengine_server_ip', user='your_username', password='your_password', database='your_database')# 订阅数据回调函数defcallback(data):print(f'Received data: {data}')# 订阅数据with conn.subscribe('your_table_name', callback):# 在此处可以执行其他任务,让订阅保持活跃input('Press Enter to stop the subscription...\n')# 关闭连接
conn.close()
GPT-4 给出的代码
这是从DevChat 简介获取的答案
import taos
import time
# 创建订阅对象defcreate_subscribe(conn):
sql ='select * from test.meters interval(1s)'print("sql: ", sql)
sub = conn.subscribe(sql, restart=False)print("sub name:", sub.name())print("create sub res:", sub.result())return sub
# 获取订阅对象的值defget_subscribe_value(sub):whileTrue:print("blocked get result.")
sub.consume()print("result: ", sub.result.current)
time.sleep(1)# 删除订阅对象defunsub(sub):print("unsub")
sub.unsubscribe()try:
conn = taos.connect(host="TDengine的地址", user="root", password="taosdata", database="test", charset="UTF8")
sub = create_subscribe(conn)
time.sleep(2)
get_subscribe_value(sub)
time.sleep(2)
unsub(sub)print("End of program!")except Exception as e:print(e)
官方示例代码
地址如下: python/#数据订阅
from taos.tmq import Consumer
import taos
definit_tmq_env(db, topic):
conn = taos.connect()
conn.execute("drop topic if exists {}".format(topic))
conn.execute("drop database if exists {}".format(db))
conn.execute("create database if not exists {} wal_retention_period 3600".format(db))
conn.select_db(db)
conn.execute("create stable if not exists stb1 (ts timestamp, c1 int, c2 float, c3 varchar(16)) tags(t1 int, t3 varchar(16))")
conn.execute("create table if not exists tb1 using stb1 tags(1, 't1')")
conn.execute("create table if not exists tb2 using stb1 tags(2, 't2')")
conn.execute("create table if not exists tb3 using stb1 tags(3, 't3')")
conn.execute("create topic if not exists {} as select ts, c1, c2, c3 from stb1".format(topic))
conn.execute("insert into tb1 values (now, 1, 1.0, 'tmq test')")
conn.execute("insert into tb2 values (now, 2, 2.0, 'tmq test')")
conn.execute("insert into tb3 values (now, 3, 3.0, 'tmq test')")defcleanup(db, topic):
conn = taos.connect()
conn.execute("drop topic if exists {}".format(topic))
conn.execute("drop database if exists {}".format(db))if __name__ =='__main__':
init_tmq_env("tmq_test","tmq_test_topic")# init env
consumer = Consumer({"group.id":"tg2","td.connect.user":"root","td.connect.pass":"taosdata","enable.auto.commit":"true",})
consumer.subscribe(["tmq_test_topic"])try:whileTrue:
res = consumer.poll(1)ifnot res:break
err = res.error()if err isnotNone:raise err
val = res.value()for block in val:print(block.fetchall())finally:
consumer.unsubscribe()
consumer.close()
cleanup("tmq_test","tmq_test_topic")
区别有多大呢? 用图片说话
版权归原作者 DBA大董 所有, 如有侵权,请联系我们删除。