《騰訊云-姜天意-GPT X LowCode-GPT 提示工程與低代碼開發實戰.pdf》由會員分享,可在線閱讀,更多相關《騰訊云-姜天意-GPT X LowCode-GPT 提示工程與低代碼開發實戰.pdf(43頁珍藏版)》請在三個皮匠報告上搜索。
1、GPT X LowCodeGpt 如何賦能低代碼平臺開發2023.05.01|姜天意 LLM Prompting 與低代碼技術介紹 低代碼模塊接入 GPT 實戰 GPT其它技巧與個人感想123目錄不搞玄學,不搞跨界,只要有前端背景的都可以聽懂1低代碼與 LLM 提示工程介紹提示工程-什么叫提示工程-人說人話,GPT 說 GPT 話01設計最佳提示以指導模型執任務的法就是所謂的提示程(prompt engineering)prompt engineering 做得好 不僅可以提升回答的質量,也可以限制回答的格式這對后續跟其他系統的集成常重要提示工程是通用技術,適合于幾乎所有大語言模型(Large
2、 Language Models,簡稱LLMs)指令 希望模型執的特定任務或指令 上下 可以包含外部信息或額外的上下,以引導模型更好地進響應 輸數據 我們感興趣并希望找到響應的輸或問題 輸出指示符 指示輸出的類型或格式如何使用你的openai/chatgpt做提示工程測試01temperature(溫度)簡之,溫度越低,結果越具確定性,因為總是選擇概率最的下個詞。提溫度可能導致更多的隨機性,勵產更多樣化或富有創意的輸出對基于事實的問答任務使較低的溫度值,以勵更加準確和簡潔的回答。對于詩歌成或其他創意任務,提溫度值可能會更有益。top_p 類似地,通過top_p調節名為 nucleus samp
3、ling 的溫度抽樣技術,可以控制模型在成回應時的確定性。如果需要準確和事實性的答案,請保持較低的top_p值,如果希望獲得更多樣化的回應,請增加到較的top_p值。text-davinci-003和gpt-3.5-turbo有啥區別?text-davinci-003和gpt-3.5-turbo都是 OpenAI GPT-3 系列中的兩個模型,區別在于性能和價格。性能:gpt-3.5-turbo相對于text-davinci-003在性能有所提。根據 OpenAI 的說法,gpt-3.5-turbo在許多任務中的性能與text-davinci-003相當或更好。這意味著,與text-davin
4、ci-003相,gpt-3.5-turbo可以在保持相同質量輸出的同時更有效地完成任務。價格:gpt-3.5-turbo的價格相對于text-davinci-003更具競爭。使gpt-3.5-turbo的成本約為使text-davinci-003的1/4。這使得gpt-3.5-turbo成為許多應和開發場景中更實惠的選擇。https:/ role 的解釋與4096 token 的限制01系統消息(role=system)般于定義 GPT 對話的為,如:你是個 SQL 程師,擅寫 SQL。gpt-3.5-turbo-0301 并不會把這個系統消息做很的優先度關注。未來的模型將被訓練為更加關注系統
5、消息。https:/ 家族的語模型會使 Token 作為處理本的標識,來標識段本中的“詞”。語模型會理解這些 Token 之間的關系,并能夠預測系列 token 中的下個https:/ or tiktoken根據 openai 的建議,個 token 能寫4個字,或者0.5個漢字。因此4000個 token 可以寫2000字的中。輸和輸出都會計算 Token。如API 調在消息輸中使了 10 個Token,您在消息輸出中收到了 20 個 Token,則需要付 30 個 Token 的費。如果在調時候超了,會調失敗。輸出的時候超了,會被截斷。因此你的 GPT 應,定要實現“試算 Token”的功
6、能。在段時間之內,“省 Token”都是 AI 應需要關注的重要問題戶消息(rule=user)般是戶的輸以及開發者給 GPT 的些指令。助消息(rule=assistant)可以幫助存 GPT 的響應。當對話場景需要引之前的消息時,就需要維護好這個message數組,這就是所謂 GPT 對話的上下 or 歷史記錄。模型對過去的請求沒有記憶,所以你如果想保持這個上下,必須維護好這個 message,然后在每次對話過程中,把完整的 message 傳過去。因此,如果這些記錄超過了模型的 token 限制,就需要以某種式縮短它。提示工程進階-少樣本提示(few shot)01通過多次提供 shot
7、s,可以發現gpt的回答更加精準few shot 的方式,很適合某些可枚舉場景的問答,學習模型身 具有很強的零樣本能,但在復雜的任務上表現并不好語模型 具備強的少樣本學習能 通過提供很少的例 可以我學習提示工程進階-思維鏈01少樣本提示不定能獲得推理類問題的可靠答案。解決更復雜的算數/推理問題的利器介紹的任務類型涉及到更多的推理步驟。換句話說,如果將問題分解成多個步驟并向模型演示,可能會有所幫助。魔法原始提示中添加“逐步思考”請步步思考問題提示工程進階-思維鏈高級應用-決策器01最大化的讓 AI 一步一步的思考知道的性別知道此性別的愛好送出禮物如何送禮物?Reasoning+Acting:Re
8、Act 每次讓 LLM 輸出個當前的【思考】和【要做的動作】,這個動作并不只限于檢索信息,可以是調任何具,類似 ChatGPT plugin。LLM 通過 few shot 的例和具帶的描述、還有它學到的常識來決定何時調具以及如何調具。這樣 ReAct 引了外部具的概念,讓 LLM 能夠通過這種步進式的式逐步思考并調外部具,根據結果進步思考循環。同時也可以僅僅是輸出步思考,并繼續下去,類似CoT。提供輔助 GPT 的具告訴 GPT 應該如何思考問題提示工程進階-生成知識01成知識提示是種利語模型動成知識并整合到常識推理中的法,這種法利了語模型的優勢,將其作為改進常識推理的、靈活的外部知識來源。
9、通過使通的提示格式直接從語模型中成知識陳述,然后選擇與給定任務相關的知識,可以提常識推理的準確性。這種法在語成、然語推理和問答系統等領域具有泛的應前景。讓模型懂得更多生成知識技術結合 few shot 是很多 AI+低代碼技術的基石,也是問答系統、提示工程進階-生成知識01讓模型懂得更多GPT 學會了我的技能(代替了我)造 DSL 再也不能稱為檻了!提示工程進階-前沿技術01自動提示工程師(APE)多模態提示(羅賽塔石碑)定向刺激提示-讓提示往想要的方向發展ReAct(not React)對 prompt 進行編程,使其可以跟外界交互少樣本提示(Few-Shot Learners)。給出些樣例
10、,引導模型按照樣例回答。思維鏈(Chain-of-Thought(CoT)prompting)。通過提供推理步驟,讓語模型具備分析能。過程中也提到了(Zero-Shot CoT),引導模型在回答的時候,給出推理步驟,會更容易獲得理想的結果。成知識(Generated Knowledge Prompting)。對于些模型不掌握的知識。我們可以通過提示的形式輸進去,從獲得更準確的答案。如何編寫提示工程的總結01進階技巧關于提示程更多的介紹可以學習 https:/learnprompting.org/zh-Hans/普通原則從最基本,最原的任務做起,將任務分解成多個任務 提示內容最好包含:指令、上下
11、、輸、輸出格式 對于希望模型執的指令和任務要常具體。提示越具描述性和詳細性,結果越好。最好帶上例 不要寫太多廢話,盡量精煉,不要帶前后盾的提示。https:/ Loader/Embedding檔拆分(Chunk splitter)云存儲(Azure/AWS/.)向量數據庫(Vector Store)本地(CSV/JSON/.)提示詞管理 Prompt輸出解析器Prompt模板(LLM)shot選擇器ExampleSelectorPrompt模板(Chat)ChainSequential ChainLLM ChainOther ChainIndex Related ChainChains 是 L
12、angChain 中最重要的概念,其實可以理解為個個有明確輸/輸出的獨任務,可以使 Chain 構建完成某個特定任務的應程序。例如,我們可以創建個鏈,它接收戶輸,使 Prompts 相關組件格式化輸,然后將格式化后的結果傳遞給 LLM,然后將LLM 的輸出傳遞給后端組件或者其他鏈。我們也可以通過將多個鏈組合在起,或將鏈與其他組件組合來構建更復雜的鏈。LangChain 實現了很多現成的鏈,如于對章進總結的 Summarization 鏈,于對指定本進問答的 Question Answering/Question Answering with Sources 鏈,于對指定知識庫問答的 Retri
13、eval Question Answering/Retrieval Question Answering with Sources 鏈,于獲取并解析的 LLMRequestsChain 鏈,于操作關系型數據庫的SQLDatabaseChain鏈等。低代碼介紹-產品矩陣01在國外,低代碼類產品矩陣常龐。 將低代碼類產品按照功能分為以下類:BI 數據可視化圖表搭建 CRM 類應搭建 機器學習類應搭建 企業應搭建 店鋪裝修具 物聯、IOT 構建具 Web、Mobile 應開發 作流系統賣家運營數分產品經理/isv/開發產品經理/isv/開發物聯網開發機器學習工程師設計師ISV/集成商低代碼與GPT0
14、1UI編排:構建戶界邏輯編排:構建交互為邏輯編排:構建業務邏輯服務編排:構建接服務模型編排:構建數據模型GPT X 數據源GPT X 接GPT X 業務邏輯GPT X UIGPT X 交互邏輯GPT X 檔2實戰:如何根據低代碼不同場景構建 Prompt分解任務構造 Promopt獲取openai的輸出并解析GPT X 數據源開發-prompt 的 hello world01指令 希望模型輸出 SQL 上下 當前在哪個庫,哪個表 輸數據 表結構-DDL 輸出指示符 我希望輸出純正 sql,不想解析堆內容構造 Promopt分解任務標:希望能夠根據需求動成 SQL 我需要獲取前的庫表信息,之后根
15、據 SQL 知識構建 SQL指令上下輸出指示在構建 GPT 產品時,主要的作都在組織 prompt 上,因此對 prompt 進設計可以有效達到的 SQL 是 GPT 常擅編寫的語 利成知識(Generated Knowledge Prompting)這技巧,讓 GPT 掌握了他不知道的東GPT X 數據源開發的 prompt 技巧 如何實現跟業務系統的集成01https:/ 通常是個服務 機交互由產品進處理,同時通過代理訪問 GPT 系統的元數據可以“喂給”GPT當作語料 通過對元數據的有效縮減可以減少TokenGPT X SQL開發-使用 langchain01選擇個 or 多個 chai
16、n 貼合你的場景 構建這個 chain 需要依賴的東 跑起來!01指令 希望告訴我如何組裝接,獲取有效的數據 上下 當前的接數據 輸數據 戶需要的字段 輸出指示符 指示輸出的類型或格式 分解任務構造 Promopt通過前系統的接如何獲得數據 我們仍然利萬能的“成知識”把 swagger 的接信息給到 GPT 去學習 GPT 的學習能能夠理解很多接操作 接數據仍然占據量的 Token 接的能會限制服務能,戶的需求是枚舉不完的 GPT X 接口服務-傳統接口 通過生成知識技術構建接口查詢網關Swagger APIhttps:/ X 接口服務-gpt X graphql 做 AI 友好的接口設計01
17、AI友好,即在可以使各種 prompt engineer 的基礎上,你仍然可以選擇 AI 最會的技能 GPT X 低代碼搭建-基本思路01指令 希望告訴我如何成個,使低代碼平臺的DSL 上下 當前使的技術棧 輸數據?輸出指示符?分解任務構造 Promopt獲取openai的輸出并解析通過輸字,動成相應的 是什么東?什么構建?存在的問題:1、組件層:組件很多,屬性很多,如何全部丟到 prompt 中?2、部分的 AIGC 類需求,都以次成為主,但低代碼這種頻編輯(需求頻變動的)如何解決更新問題基本思路:1、利成知識技術,設計個prompt,使 GPT 返回的 DSL 2、利相關的系統 API,將
18、依賴的數據源,系統的組件等信息加載進來GPT X 低代碼搭建-prompt的設計與系統架構01組件知識DSL知識構建一份完整的 Prompt 模板,將相關代碼說明傳入GPT X 低代碼搭建-如何做update01JSON patch的使用JSON Path 可以描述 JSON 檔變化.使它可以避免在只需要修改某部分的時候發送整個檔內容.補丁(Patch)內容的格式也是JSON.JSON Patch由IETF在RFC 6902中規范.GPT X 低代碼搭建-邏輯可視化低代碼01Flow Based Programing(https:/ J.Paul Rodker Morrison很早以前提出的種
19、編程范式。FBP 把應看作個盒,它能夠看到的是張進程(processes)組成的,進程間通過連接(connection)進通信,進程通過端(port)來訪問連接(這種抽象類似絡編程)。FBP 的三概念:1、進程:組件(component)的個實例,可以跟其他進程并運。其他進程可以是同個組件的其他實例。2、絡:表示為個有向圖,其中進程作為節點,連接作為邊 3、組件:對于應開發者,通??梢钥醋骱?;當要使傳統級語來創建組件或者組件本身是個圖時,它就是盒。GPT X 低代碼搭建-邏輯 DSL設計 schema 來存儲“圖”,兼顧繪圖和邏輯。Logic schema 由三個主要的實體結構構成:Flow
20、流程主體,Node 節點描述,Link 節點關系描述在數據庫中可以通過 JSON 式存儲完整的 Flow同樣可以存儲三張表:Node,Link 表與 Flow 表來將三個實體結構分開存儲。GPT X 低代碼搭建-邏輯 DSL X 數據可視化-基礎用法01https:/www.graphmaker.ai/指令 成段圖表的描述 上下 圖表DSL的規范 輸數據 當前的數據 輸出指示符 輸出段描述圖表的DSL分解任務構造 Promopt成個柱狀圖,橫軸是year,縱軸是count,數據是 XXXGPT X 數據可視化-進階-異常識別01指令 成圖表描述 上下 當前的庫表字段,趨勢要什么圖表,如何分析異
21、常 輸數據 輸出指示符 輸出段描述圖表的DSL分解任務構造 Promopt展示襪每年的銷量數據趨勢,并分析其中的異常,標注在圖表上你的可視化真的有用嗎?能夠構成自動化分析,解讀的一些特征:GPT X 數據可視化-進階-自動化可視化01指令 成圖表描述 上下 當前的庫表字段,趨勢要什么圖表,如何分析異常 輸數據 輸出指示符 輸出段描述圖表的DSL分解任務構造 Promopt展示襪每年的銷量數據趨勢,并分析其中的異常,標注在圖表上你的可視化真的有用嗎?尋找合適的圖表形態展現數據GPT X 文檔-讓 AI 更智能 問答系統構建01指令 返回打包發布的檔 上下 全部檔 輸數據 我需要哪的檔 輸出指示符
22、 輸出段檔內容分解任務構造 Promopt提問:平臺如何持在線打包發布token不夠,把全部檔喂給 GPT 需要量 Token 如何判斷戶的提問跟你的檔內容吻合?我輸的是中,這檔是英啊,如何搜索?如何去管理和存儲你的檔?GPT X 文檔-讓 AI 更智能 如何判斷兩個字符串“類似”-萬物皆可 embedding01在然語處理和機器學習領域,embeddings 是指將單詞、短語或本轉換成連續向量空間的過程。這個向量空間通常被稱為嵌空間(embedding space),成的向量則稱為嵌向量(embedding vector)或向量嵌(vector embedding)。嵌向量可以捕獲單詞、短語
23、或本的語義信息,使得它們可以在數學上進較和計算。這種較和計算在然語處理和機器學習中經常被于各種任務,例如本分類、語義搜索、詞語相似性計算等。在中語境下,embeddings 通常被翻譯為 詞向量 或者 向量表示。這些翻譯強調了嵌向量的特點,即將詞匯轉換成向量,并表示為嵌空間中的點。搜索(結果按查詢字符串的相關性進排序)聚類(將本字符串按相似性分組)推薦(推薦具有相關本字符串的項)異常檢測(識別相關性較的異常值)多樣性測量(分析相似度分布)分類(本字符串按其最相似的標簽進分類)1.狗咬耗 2.類捕嚙動物 3.我家養了只狗openai官 embedding 使范例 https:/ X 文檔-讓 A
24、I 更智能 如何實現和存儲 embedding-向量數據庫技術介紹01官推薦使ada-002,便宜好。1.索引:向量數據庫使 PQ、LSH 或 HNSW 等算法(https:/ https:/ items WHERE id!=1 ORDER BY embedding (SELECT embedding FROM items WHERE id=1)LIMIT 5;https:/ X 文檔-讓 AI 更智能 核心流程01讀取后分塊把每塊向量化把提問向量化計算相似度,返回把問題和相似度的內容構建prompt,發給gpt把向量化后的存儲到db利微搭和openai embedding搭建個檔知識庫htt
25、ps:/ X 文檔-讓 AI 更智能 使用 langchain01https:/ X 低代碼的總結01關于提示程更多的介紹可以學習 https:/learnprompting.org/zh-Hans/在使 GPT 實現低代碼能時,仍要遵循基本 prompt 原則:指令、上下、輸輸出,其中輸出的格式記得明確。GPT 具有強的學習能,可以將低代碼的知識都灌輸給他,給他提供完善的knowledge,甚可以“教”他些他不懂的專業知識 對于搭建場景,設計個完善的 DSL 是重中之重,prompt 技巧只是補充,DSL 設計的好,使簡單的 few shot 就可以實現多數場景 可以通過向量數據庫+embe
26、dding 的式,突破 token 的限制,從實現規模本搜索的功能 langchain 是實戰利器,推薦所有想跟系統集成 gpt 能的開發者使https:/ DSL 上才會實現開發者層與機器交互。從 sql 到 gql/swagger 到 ui schema 到 logic schema 直到 chart,DSL是機交互的橋梁。DSL 的編寫才是提效的關鍵技術。https:/ 標題區域,建議30字以內01初始階段 1.明確系統可以執的操作。2.明確系統可以如何執它所能執的操作 交互階段 3.基于上下的時間服務。4.顯示上下相關信息。5.匹配相關社會規范。6.緩解社會偏。當系統出錯時 7.持效的
27、調。8.持快速忽略。9.持效更正。10.持快速降級。11.明確系統能做的。隨系統逐步發展 12.記住最近的交互。13.了解戶為。14.更新并謹慎調整。15.勵精細反饋。16.傳達戶操作的后果。17.提供全局控件。18.通知戶更改。2GPT高級使用技巧及思考Gpt work?ow 對 GPT 進行低代碼流程編排-三分鐘實現一個chatPdf01https:/ ai-based system 當系統設計不需要了怎么辦01AutoGPT 創新的靈感+待完善的代碼的盾組合,稱之為 ai-based system,可能會顛覆傳統的系統設計GPT 絕不是所不能,通過DSL和prompt的構建才能發揮價值 通過程能可以幅度提升GPT的效果,因此絕對不是“事可做”強的學習理解能 ai定是建在個好的DSL上才會更加便家與機器交互,從sql到gql/swagger到form schema到 logic schema直到chat,我們發現 DSL 是我們跟機交互的橋梁,DSL 的編寫才是提效的關鍵技術。欲善其事 善假于物也 openai/模型的核價值:低檻的ai能調GPT 的優勢01Thanks