• [AI]ChatGPT4 与 ChatGPT3.5 区别有多大


    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')
    
    # 订阅数据回调函数
    def callback(data):
        print(f'Received data: {data}')
    
    # 订阅数据
    with conn.subscribe('your_table_name', callback):
        # 在此处可以执行其他任务,让订阅保持活跃
        input('Press Enter to stop the subscription...\n')
    
    # 关闭连接
    conn.close()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    GPT-4 给出的代码

    这是从DevChat 简介获取的答案
    在这里插入图片描述

    import taos
    import time
    
    # 创建订阅对象
    def create_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
    
    # 获取订阅对象的值
    def get_subscribe_value(sub):
        while True:
            print("blocked get result.")
            sub.consume()
            print("result: ", sub.result.current)
            time.sleep(1)
    
    # 删除订阅对象
    def unsub(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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    官方示例代码

    地址如下: python/#数据订阅

    from taos.tmq import Consumer
    import taos
    
    
    def init_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')")
    
    
    def cleanup(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:
            while True:
                res = consumer.poll(1)
                if not res:
                    break
                err = res.error()
                if err is not None:
                    raise err
                val = res.value()
    
                for block in val:
                    print(block.fetchall())
        finally:
            consumer.unsubscribe()
            consumer.close()
            cleanup("tmq_test", "tmq_test_topic")
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    区别有多大呢? 用图片说话
    在这里插入图片描述

  • 相关阅读:
    RK3399平台开发系列讲解(入门篇)VIM的基础命令
    GBase 8c V3.0.0数据类型——JSON/JSONB函数和操作符
    唤醒手腕 - 人工智能 - 决策树(Decision Tree)更新中
    论文超详细精读|八千字:DGNN
    PS之ICO插件ICOFormat
    快速排序(Quick Sort)
    “媒体+”时代正当时,ATEN以前瞻解决方案助推媒体融合纵深发展
    算法题:给定一个字符串,字符串中包含一些空格,将字符串中由空格隔开的单词反序,并反转每个字符的大小写。
    从useEffect看React、Vue设计理念的不同
    Web测试有哪些基本要点?软件测试找第三方软件检测机构靠谱吗?
  • 原文地址:https://blog.csdn.net/weixin_43700866/article/details/134496571