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

ChatSQL:賦能ChatGPT實現純文本創建SQL查詢

譯文
人工智能
ChatGPT于2020年6月發布,由OpenAI開發。它已促使許多領域迎來了革命性變化。其中一個領域就是創建數據庫查詢。數據庫查詢可以通過ChatGPT由純文本生成。它可以幫助您了解您不甚了解的數據庫。

譯者 | 布加迪

審校 | 重樓

ChatGPT20206月發布,由OpenAI開發。它已促使許多領域迎來了革命性變化。其中一個領域就是創建數據庫查詢。數據庫查詢可以通過ChatGPT純文本生成。它可以幫助您了解您不了解的數據庫。

隨著ChatGPT大行其道,人工智能已經逐漸融入我們的日常生活當中,并且發展勢頭正猛。在切入正題之前,不妨先簡單探究一下ChatGPT

為了充分理解ChatGPT的功能,有必要充分掌握其底層架構。ChatGPT是基于GPT架構開發的。因此不妨先看看Transformer。

要直接訪問該項目,請點擊這里https://github.com/ademakdogan/ChatSQL?ref=hackernoon.com。

圖1. 來自Transformer的編碼器和解碼器圖1. 來自Transformer的編碼器和解碼器

Transformer使用seq2seq框架,從而能夠將一個序列轉換另一個序列。序列定義了排序。舉例來說,我們可以將句子看作是一連串單詞。Transformer還可以用于解決文本翻譯之類的自然語言處理(NLP)問題。我們需要大量的標記數據來訓練這個架構。這對Transformer來說很難學習。我們可以使用遷移學習來解決這個問題。Transformer由兩個部分組成(見1):編碼器和解碼器,它們都擅長獲得熟練的語言表示。

這種熟練程度使我們能夠從每個部分構建語言模型。通過堆疊編碼器,我們獲得Transformer的雙向編碼器表示通常稱為BERT與之相似,通過堆疊解碼器單元,我們可以獲得生成式預訓練(即GPT。在本文這個例子中,我們關注GPT不妨在GPT的背景下考慮遷移學習。當我們從頭開始訓練一個模型時,它通常需要數量龐大的數據,因為參數最初是隨機設置的。然而,想象一下這樣一個場景參數偶然與我們需要的值一致或相對齊。在這種情況下,我們不需要一個廣泛的數據集來獲得我們想要的結果。正如我們所理解,BERTGPT用于遷移學習概念中

因此,GPT訓練分為兩個部分。一個是預訓練部分,我們訓練GPT架構理解語言是什么;另一個是微調部分,我們使用遷移學習來進一步訓練GPT架構,使其針對特定的語言任務表現良好

圖2. 示例性的下一個單詞預測圖2. 示例性的下一個單詞預測

GPT有一種結構,可以將隨機單詞序列作為輸入,并預測下一個最合適的單詞。示例性預測如圖2所示。

語言建模被選為理解語言基本方面的一個理想基礎,而且很容易進行微調。它通常被稱為自監督任務,因為句子本身同時可以充當輸入標簽和輸出標簽。

圖3. ChatGPT示意圖圖3. ChatGPT示意圖

不妨繼續討論ChatGPT。如圖3所示整個ChatGPT過程可以分為三個主要步驟。在第一步中,使用GPT模型,該模型已針對理解語言本身進行了預訓練。下一步涉及對模型進行微調,以便有效地處理用戶提示并根據這些提示生成適當的響應。為了方便這過程,標記員獲得標記數據這些標記員不僅提供提示,還為每個提示指定所需的響應。這便于GPT模型進行監督微調,因為既有輸入提示,有相應的輸出響應。

下一步中,使用從第一步獲得的監督微調模型。單個提示通過模型傳遞,并生成多個響應。然后,標記人員對這些響應的質量進行評估和評定。每個生成的響應都被分配一個相應的獎勵,這個獎勵被用來訓練另一個GPT模型獎勵模型。獎勵模型本身就是一個模型,其功能是將初始提示和其中一個響應作為輸入,生成獎勵作為輸出。這種獎勵量化了響應的質量或好壞。

在第三步中,一個看不見的提示將被拿來通過監督微調模型的復制品來傳遞。這將生成響應,然后使用獎勵模型來評估響應的等級或質量。獲得的等級用于進一步完善我們已經微調過的模型這通過將等級合并PPO模型的損失函數中來實現,允許通過反向傳播更新模型的參數。特別吸引人的地方是,這個過程不僅幫助模型表現出無害的行為,使它能夠生成實際的響應。這是由于獎勵本身是基于響應的質量而生成的

ChatSQL

現在不妨使用Python借助ChatGPT創建一個項目。項目使用了LangChain框架。

我們的目標是使用純文本從數據庫檢索信息。為此,我們使用MySQL作為目標數據庫。然而,這種方法也可以用于在其他數據庫上生成查詢。示例數據庫如下所示。

所有代碼都可以在這里找到https://github.com/ademakdogan/ChatSQL

+-----+--------------------------------------------------------+------------------------+-------------------+--------+------------------+
| ID  | Title                                                  | Author                 | Genre             | Height | Publisher        |
+-----+--------------------------------------------------------+------------------------+-------------------+--------+------------------+
|   1 | Fundamentals of Wavelets                               | Goswami, Jaideva       | signal_processing |    228 | Wiley            |
|   2 | Data Smart                                           | Foreman, John          | data_science      |   235 | Wiley            |
|   3 | God Created the Integers                                | Hawking, Stephen       | mathematics       |  197 | Penguin          |
|   4 | Superfreakonomics                                     | Dubner, Stephen        | economics         |  179 | HarperCollins    |
|   5 | Orientalism                                           | Said, Edward           | history           |   197 | Penguin          |
|   6 | Nature of Statistical Learning Theory, The                  | Vapnik, Vladimir       | data_science      |    230 | Springer         |
|   7 | Integration of the Indian States                           | Menon, V P             | history           |    217 | Orient Blackswan |
|   8 | Drunkard's Walk, The                                  | Mlodinow, Leonard      | science           |   197 | Penguin          |
|   9 | Image Processing & Mathematical Morphology             | Shih, Frank            | signal_processing |     241 | CRC              |
|  10 | How to Think Like Sherlock Holmes                      | Konnikova, Maria       | psychology        |   240 | Penguin          |
|  11 | Data Scientists at Work                                 | Sebastian Gutierrez    | data_science      |     230 | Apress           |
|  12 | Slaughterhouse Five                                    | Vonnegut, Kurt         | fiction           |    198 | Random House     |
|  13 | Birth of a Theorem                                     | Villani, Cedric        | mathematics       |   234 | Bodley Head      |
|  14 | Structure & Interpretation of Computer Programs             | Sussman, Gerald        | computer_science  |    240 | MIT Press        |
|  15 | Age of Wrath, The                                      | Eraly, Abraham         | history           |    238 | Penguin          |
|  16 | Trial, The                                             | Kafka, Frank           | fiction           |    198 | Random House     |
|  17 | Statistical Decision Theory'                               | Pratt, John            | data_science      |    236 | MIT Press        |
|  18 | Data Mining Handbook                                  | Nisbet, Robert         | data_science      |    242 | Apress           |
|  19 | New Machiavelli, The                                   | Wells, H. G.           | fiction           |    180 | Penguin          |
|  20 | Physics & Philosophy                                   | Heisenberg, Werner     | science           |    197 | Penguin          |
|  21 | Making Software                                       | Oram, Andy             | computer_science  |    232 | O'Reilly         |
|  .  | .......                                                 | .......                | ....              |    ... | ....             |
|  .  | .......                                                 | .......                | ....              |    ... | ....             |

ChatSQL由兩個主要部分組成。首先,MySQL查詢是通過ChatGPT給定的純文本生成的。執行這些生成的查詢。在第二步中,對數據庫中返回的結果進行評估。在這個階段,結果可以直接呈現給用戶,也可以發回ChatGPT進行進一步的分析和解釋。因此,您可以使用ChatGPT您的數據庫進行互動

假設用戶想要顯示篇幅大于175頁、少于178圖書類型小說。作者不應該是‘Doyle, Arthur Conan’因此,可以在這種情況下使用以下命令。

python3 chatsql.py -p 'Show me the book type fiction which they height bigger than 175 and smaller than 178. The author shouldn't be 'Doyle, Arthur Conan'. '

結果,獲得了如下信息。

CHATGPT QUERY------------------:
SELECT * FROM bt WHERE Genre = 'Fiction' AND Height > 175 AND Height < 178 AND Author != 'Doyle, Arthur Conan'
RAW RESULT------------------:
[(32, 'Pillars of the Earth, The', 'Follett, Ken', 'fiction', 176, 'Random House'), (37, 'Veteran, The', 'Forsyth, Frederick', 'fiction', 177, 'Transworld'), (38, 'False Impressions', 'Archer, Jeffery', 'fiction', 177, 'Pan'), (72, 'Prisoner of Birth, A', 'Archer, Jeffery', 'fiction', 176, 'Pan'), (87, 'City of Joy, The', 'Lapierre, Dominique', 'fiction', 177, 'vikas'), (128, 'Rosy is My Relative', 'Durrell, Gerald', 'fiction', 176, 'nan')]
PROCESSED RESULT------------------ :
The books 'Pillars of the Earth, The' by Ken Follett, 'Veteran, The' by Frederick Forsyth, 'False Impressions' by Jeffery Archer, 'Prisoner of Birth, A' by Jeffery Archer, 'City of Joy, The' by Dominique Lapierre, and 'Rosy is My Relative' by Gerald Durrell are all fiction books with 176 or 177 pages published by Random House, Transworld, Pan, Vikas, and Nan, respectively.

如果數據庫列名稱正確,ChatGPT將理解這些名稱并相應地響應查詢。然而些情況下,數據庫中的列名可能沒有意義,或者ChatGPT可能無法完全搞清楚其上下文。因此,為了確保系統正常運行,有必要向ChatGPT提供有關數據庫的先信息。info.json文件可以用來添加信息。

+-----+--------------------------------------------------------+------------------------+-------------------+------+------------------+ 
| ID | aa                                                     | bb 
| cc               | dd    | ee          |
+-----+--------------------------------------------------------+------------------------+-------------------+------+------------------+ 
| 1 | Fundamentals of Wavelets                                   | Goswami, Jaideva 
| signal_processing  | 228  | Wiley         | 
| 2 | Data Smart                                               | Foreman, John 
| data_science      | 235  | Wiley         | 
| 3 | God Created the Integers                                    | Hawking, Stephen 
| mathematics      | 197  | Penguin       | 
| 4 | Superfreakonomics                                         | Dubner, Stephen 
| economics       | 179   | HarperCollins  | 
| 5 | Orientalism                                               | Said, Edward 
| history          | 197   | Penguin      |
| . | .......                                                     | .......
| ....             | ...    | ....           | 
| .  | .......                                                    | ....... 
| ....             | ...    | ....            |

比如說,我們有一個命名糟糕的數據庫,如下所示。在這種情況下,有關數據庫的必要信息被輸入到info.json文件

{“bt”: “Table Name”, “aa”: “Title of the book”, “bb”: “Author of the book”, “cc”: “Type of book”, “dd”: “Height of the book”, “ee”: “Book Publisher”}

然后使用相同的命令

python3 chatsql.py -p 'Show me the book type fiction which they height bigger than 175 and smaller than 178. The author shouldn't be 'Doyle, Arthur Conan'. '

即使數據庫中的列名選擇不當,ChatGPT也會生成正確的查詢,因為我們提供了正確的信息

{'query': "SELECT aa, bb, cc, dd FROM bt WHERE cc = 'fiction' AND dd > 175 AND dd < 178 AND bb != 'Doyle, Arthur Conan'", 'raw_result': "[('Pillars of the Earth, The', 
'Follett, Ken', 'fiction', 176), ('Veteran, The', 'Forsyth, Frederick', 'fiction', 
177), ('False Impressions', 'Archer, Jeffery', 'fiction', 177), ('Prisoner of Birth, 
A', 'Archer, Jeffery', 'fiction', 176), ('City of Joy, The', 'Lapierre, Dominique', 
'fiction', 177), ('Rosy is My Relative', 'Durrell, Gerald', 'fiction', 176)]", 
'processed_result': '\nThe books "Pillars of the Earth, The" by Ken Follett, "Veteran,
The" by Frederick Forsyth, "False Impressions" by Jeffery Archer, "Prisoner of Birth, 
A" by Jeffery Archer, "City of Joy, The" by Dominique Lapierre and "Rosy is My
Relative" by Gerald Durrell are all fiction and have page lengths of 176 or 177.'}

下一個項目將是使用免費模型(Llama)由提示生成查詢(Mongo和SQL)。

  • 項目代碼倉庫:https://github.com/ademakdogan/ChatSQL
  • GitHub:https://github.com/ademakdogan
  • 領英:https://www.linkedin.com/in/adem-akdo?an-948334177/

原文標題:ChatSQL: Enabling ChatGPT to Generate SQL Queries from Plain Text,作者:Adem Akdogan


責任編輯:華軒 來源: 51CTO
相關推薦

2023-10-10 09:08:50

2018-05-14 10:50:13

SQL查詢語句神經網絡

2023-05-18 15:39:11

人工智能ChatGPT

2025-02-06 10:00:52

RedisSpring高性能

2021-03-31 22:39:04

區塊鏈司法數字化

2021-08-31 23:54:50

大數據人臉識別人工智能

2023-03-05 19:30:02

人工智能ChatGPT

2023-05-14 19:24:19

DPI技術路由器

2019-04-08 16:48:37

5G數據中心無線連接

2020-10-14 10:30:07

前端Node代碼

2019-11-01 10:00:14

前端業務代碼

2024-04-28 09:12:16

CSS文本是否溢出前端

2018-09-27 23:29:02

ICT

2023-05-08 08:03:10

2020-12-30 15:14:46

人工智能數據技術

2020-12-14 09:23:16

人工智能教育機器人

2021-06-25 22:14:51

區塊鏈智慧城市數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区 | 麻豆精品国产91久久久久久 | 夜夜操av | 韩国av一区二区 | 亚洲精品中文字幕av | 成人精品一区二区 | 日韩精品一区二区三区在线播放 | 久久久www成人免费无遮挡大片 | 欧美精品在线一区 | 久热精品视频 | 日韩av成人 | 免费一区二区 | 看av电影 | 成年人在线观看 | www国产成人免费观看视频,深夜成人网 | 无码日韩精品一区二区免费 | 在线三级网址 | 色综久久 | 伊色综合久久之综合久久 | 亚洲一区电影 | 久久久久国产一区二区三区 | 成人二区 | 在线播放中文 | 国产一区二区三区四区三区四 | 国产精品一码二码三码在线 | 国产97人人超碰caoprom | 99热在这里只有精品 | 亚洲一区二区三区福利 | 视频一区二区中文字幕日韩 | 国产精品免费一区二区三区四区 | 免费成人在线网站 | 成人精品免费视频 | 在线一区 | 99欧美精品 | 成人欧美一区二区 | 国产东北一级毛片 | 亚洲性人人天天夜夜摸 | 黄色片视频 | 欧美一级欧美三级在线观看 | 欧美bondage紧缚视频 | 久草视|