成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ChatGPT 的 Function Call 如同 C3PO 和 R2-D2 聯手

人工智能
Function call 簡單的說,就是把原來 ChatGPT 的 API 中 completetions 的調用,從原來只支持 messages(messages里面又可以指定 system,user,assistant 三個角色),擴展到還可以提供 functions。

ChatGPT 6 月 13 日的發布里面的 Function Call 的功能,把自然語言的世界和現在已經有的編程語言的世界打通了。雖然最終我認為整個世界將會是自然語言的世界,但是畢竟現在所有的計算機系統都還是代碼和 API 的世界。從存量的角度來說,這是和現有系統兼容的最好的辦法。

圖片

這件事情讓我想起了《星球大戰》里面的一對可愛的機器人。金黃色人型的有點傻的 C3PO,精通禮儀和協議,會各種語言;還有一個 R2-D2,就是那個矮矮的圓圓的,是宇航技工機器人(Astromesh Droid),精通計算和與計算機系統用“嘀嘟嘟嘟”的聲音通信。他們兩個搭配在一起工作,倒是完美:R2-D2 負責干活,獲取信息,C3PO 負責翻譯成人的語言。這個合作關系,就如同現在的 ChatGPT 和 API 的關系一樣。

Function call 簡單的說,就是把原來 ChatGPT 的 API 中 completetions 的調用,從原來只支持 messages(messages里面又可以指定 system,user,assistant 三個角色),擴展到還可以提供 functions。ChatGPT 會根據 functions 里面每個 function 描述里面「字面」的意思,通過簡單的邏輯判斷用戶的問題用這個函數是否可以回答。如果可以的話,把用戶的問題中間可以作為參數的部分提取出來,并且返回一個結構化的函數調用數據結構。

代碼的世界再通過嚴格的 JSON 格式定義的函數調用方法調用函數,然后再把結果返還給 ChatGPT。ChatGPT 根據函數的結果,再繼續回答用戶的問題。

比如我自己的機器人的 functions 是這么寫的:

functions = [
    {
        "name": "get_articles",
        "description": "Get List of articles",
        "parameters": {
                "type": "object",
                "properties": {
                    "start": {
                        "type": "integer",
                        "description": "The starting point of index of articles",
                    },
                    "end": {
                        "type": "integer",
                        "description": "The ending point of index of articles",
                    },
                },
            "required": [],
        },
    },
    {
        "name": "read",
        "description": "Get value from database",
        "parameters": {
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "The key to store the value ",
                    },
                },
            "required": ["key"],
        },
    },
    {
        "name": "save",
        "description": "Save value to the database",
        "parameters": {
                "type": "object",
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "The key to store the value ",
                    },
                    "value": {
                        "type": "string",
                        "description": "The value to store the value ",
                    },
                },
            "required": ["key", "value"],
        },
    },
    {
        "name": "run_node",
        "description": "Run node.js code",
        "parameters": {
                "type": "object",
                "properties": {
                    "code": {
                        "type": "string",
                        "description": "The node.js code I want to use to evaluate",
                    },
                },
            "required": ["code"],
        },
    }
]

其中包括獲取以前的文章的函數,通用的保存和讀取的函數,以及執行 Node.js 代碼的函數。

如果我問:

User: 最近的5篇文章是什么?

ChatGPT 會回答:

Function: {'name': 'get_articles', 'arguments': '{\n "start": 0,\n "end": 5\n}'}fda

它把參數都準備好了。這個是在 GPT-3 里面就很成熟的功能,只不過這樣子更加穩定可控了。

如果問:

User: 現在幾點了

ChatGPT 會把凡是用 Node.js 的代碼可以回答的問題都轉變成 Node.js 的調用:

Function: {'name': 'run_node', 'arguments': '{\n "code": "new Date().toLocaleTimeString()"\n}'}

這些問題包括時間,算數等等。我們就可以把 Node.js 系統的世界和 ChatGPT 的自然語言的世界聯系在了一起。(不過一定要注意,這個例子的安全隱患和太平洋那么大。如果讓他返回系統的信息,以及刪除一些文件,它也會開心的照做,并且真的能做到。)

接下來基于這個連接器應該有非常多有趣的應用。雖然這件事情以前用 LangChain 或者自己直接寫代碼也可以實現。但很多事情都是,如果在最簡單的地方再簡單一點的效果比在很復雜的地方簡化很多還大。

隨著 Function Call 的支持,ChatGPT API  里面的角色(role)參數,也從三種擴充到了四種:

  • system
  • assistant
  • user
  • function

這四種,恰恰對應于自然世界的四樣東西:system 相當于上帝或者大自然(機器人就是那樣被創造的,所擁有的角色就如同是被上帝設定的);assistant 就是服務用戶的機器人;user 就是和機器人交互的人類;而function 則代表著這個世界,是用戶和機器人之外的第三方。機器通過函數從中獲取信息,也通過函數改變它的狀態。

這個 C3PO 和 R2-D2 的合作,我們既可以看作 ChatGPT 有了調用物理世界的能力,也可以看成是所有的計算機函數接口都有了人類語言的能力。

責任編輯:武曉燕 來源: 王建碩
相關推薦

2017-03-28 09:23:04

科技新聞早報

2013-01-30 16:15:40

adobeHTML5css3

2022-06-14 07:51:10

Godot游戲引擎

2023-04-07 08:13:35

AIChatGPTDall-E 2

2022-05-23 10:26:10

人工智能機器學習機器視覺

2023-05-03 09:01:41

CanvasWebGL

2022-07-13 10:20:14

自動駕駛3D算法

2010-03-29 13:38:29

ibmdwDB2

2023-02-10 13:55:25

2011-09-22 10:07:52

奧圖碼投影儀

2023-07-26 13:02:33

多線程面試工具類

2012-12-24 09:11:58

iOSUnity3D

2010-10-09 15:52:28

J2ME3D技術

2011-05-03 11:07:46

2D3D麗訊

2020-08-26 10:37:21

阿里3D

2022-06-28 13:41:39

前端AID2C

2022-03-03 19:52:25

聚類算法D2CDBSCAN

2023-12-07 10:37:55

3D框架AI

2010-09-30 10:31:43

J2ME3D

2025-05-07 10:09:49

3D模型生成
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲 精品 综合 精品 自拍 | 欧美日韩一 | 亚洲精品免费观看 | 在线国产视频 | 欧美做暖暖视频 | 涩涩导航 | 成人亚洲精品久久久久软件 | 波多野结衣精品在线 | 日本一区二区在线视频 | 一区二区三区在线 | 欧 | 亚洲精品综合 | 亚洲狠狠丁香婷婷综合久久久 | 日韩欧美国产成人一区二区 | 亚洲成人精品 | 精品无码久久久久久国产 | 小视频你懂得 | 国产精品一区二区免费看 | 色视频在线观看 | 中文字幕亚洲精品 | 国产精品色哟哟网站 | 精品日韩欧美一区二区 | 中文字幕av在线播放 | 久久精品无码一区二区三区 | 亚洲精品视频网站在线观看 | 99精品电影| 91在线一区 | www国产成人免费观看视频 | 秋霞av国产精品一区 | 射久久 | 一区二区三区国产精品 | 天天干天天想 | 国产91综合 | 亚洲精品电影网在线观看 | 亚洲精选一区二区 | 中午字幕在线观看 | 久久久久久久91 | 91成人小视频 | 久久99精品久久久久久秒播九色 | 久久天堂网 | 免费高清av | 成人影院免费视频 |