《當GPT遇到低代碼低代碼平臺AIGC開發落地實戰_姜天意.pdf》由會員分享,可在線閱讀,更多相關《當GPT遇到低代碼低代碼平臺AIGC開發落地實戰_姜天意.pdf(42頁珍藏版)》請在三個皮匠報告上搜索。
1、低代碼平臺AIGC開發落地實戰騰訊前端技術專家/姜天意DArchSummitInfoQa極客傳媒#page#Aboutme2013-20202020-2023阿里:B2B,盒馬騰訊:醫療健康事業部-云產品二部前端工程鏈路ToB大數據及數字李生產品研發與前端架構數據可視化與低代碼開源低代碼平臺邏輯可視化方向PMCNode.js frameworkeggjshttps:/ Language Models,Prompt設計最佳提示以指導模型執行任務的方法就是所INPUT謂的提示工程(promptengineering)Languagepromptengineering做得好不僅可以提升回答Model
2、Generated Tex的質量,也可以限制回答的格式OUTPUT這對后續跟其他系統的集成非常重要Prompti指令BB/希望模型執行的特定任務或指令INPUT上下文BB可以包含外部信息或額外的上下文,以引導模型更好地進行響應Language輸入數據BB我們感興趣并希望找到響應的輸入或問Model題LOdinoi輸出指示符BB指示輸出的類型或格式ArchSummitInfoQ極客傳媒#page#如何使用你的openai/chatgpt做提示工程測試。temperature(溫度)BB簡言之,溫度越低,結果越具https:/ configuration = new Configuration下超
3、過個等apikey:config.apikey)const openai s new OpenAIApilconfiguration)constprompt“請告訴我世界上最師的人是誰指過3分constres=await openai.createcompletion(/對話模型prompt:prompt,max_tokens:4098,性能:9pt-3.5-turbonCi-003在性能方面有所提高,根據OpenAl的說法,90t1/4。這使得Spt-3.5-turbo成為許多應用和開發場景中更實惠的選擇。console.log(res);ArchSummniit#page#openai中r
4、ole的解釋與4096token的限制GPT家族的大語言模型會使用Token作為處理文本的標識,用來標識一段文本中的”詞”。大語言模型會理解這些Token之間的關系,并能夠預測一系列tok1agcm兒etchoices|a根據openai的建議,一個token能寫4個字母,或者0.5個漢字。因此4000個token可以寫2000字的中文。系統消息trole=system)一般用于定義GPT對話的行為,比如:你是一個SGL工程師,擅長寫SQL輸入和輸出都會計算Token。比如API調用在消息輸入中使用了10個Token,而您在消息輸出中敏到了20個gpt-3.5-turbo-0301并不會把這個
5、系統消息做很高的優先度關注。未來的模型將被訓練為更加關注系統消息。己的GPT應用,en”的功能。用戶消息(rule=user)一般是用戶自己的輸入以及開發者給GPT的一些指令。模型名稱文本題長輸入助手消息(rule=assistant)可以幫助存GPT自己的響應。4096個lckens(大約5頁)9pt-3.5-turbo8192個t0大約10頁當對話場景需要引用之前的消息就需要維護好這個message數組,這就是4-32NC約40頁)所謂GPT對話的上下文or歷史記錄https:/ anQ:Ajuggler can juggle 16bells.CA寬始提樂中器加步考asm預心少樣本思維鏈提
6、元(OutpuTChaiofhoughtPrompting882.7.1。這是對的嗎,請回答是或不是CoT(Ours)數,將它們相加,并指出結果是毒數還是俱Q:Ajuggle答案為是。奇數1573零樣本思維鏈提示Ouput8X所以,原來的說法是不正確的題頻少樣本提示不一定能獲得推理類問題的可靠答案。介紹的任務類型涉及到更多的推理步驟換句話說,如果將問題分解成多個步驟并向模型演示,可能會有所幫助ArchSummitInfoQ極客傳媒#page#提示工程進階-思維鏈高級應用一決策器最大化的讓AI一步一步的思考nttps:2023.03/07:“system”,“content”按照給定的格式圖答以
7、下問題,你可以使用下面這些工具如何送禮role:assistantcontent:-n+Question:我應該送什么禮物給小帥?n+Thought:要回答這個問題,我需要先知道小帥的性別n+Action:查詢人物性別nAction Input:小帥n!知道人的Observation:小帥是男性n!+Thought:男性可能會對某些特定的物品更感興趣,需要根據性別推薦商品nAction:根據性別推薦商品nActionInput:男性n”Observation:男性可能會對高達、手辦、相機等物品更感興趣n+Thought:綜合上述結果,我認為送小帥高達、手辦、相機等物品較為合適n+知道此性別Fi
8、na1Answer:送小帥高達、手辦、相機等物品Reasoning+Acting:ReAct每次讓LLM輸出一個當前的【思考】和【要做的動作】,這個動作并不只限于檢索信息,可以是調用任何工具,類似ChatGPTplugin。LLM通過fewshot的例子和工具自帶的描送出禮物述、還有它自己學到的常識來決定何時調用工具以及如何調用工具。這樣ReAct引入了外部工具的概念,讓LLM能夠通過這種步進式的方式逐步思考并調用外部工具,根據結果進一步思考循環。同時也可以僅僅是輸出一步思考,并繼續下去,類似CoT。ArchSummitInfoQ極客傳媒#page#提示工程進階-生成知識讓模型懂得更多Know
9、ledge 1Knowledge/KnowledgeQuestionKnowledge 2AnswerGenerationVntegration問題答案辦識生成知識集成知識點1生成知識提示是一種利用語言模型自動生成知識并整合到常識推理中的方法,這種方法利用了大語言模型的優勢,Prompt將其作為改進常識推理的、靈活的外部知識來源。通過使用通用的提示格式直接從語言模型中生成知識陳述,然后Instruction選擇與給定任務相關的知識,可以提高常識推理的準確GeneratebyKnowledge性。這種方法在語言生成、自然語言推理和問答系統等領演示實例Q.K)sampling域具有廣泛的應用前景。
10、PLMKnowledge 2EDemonstrations:Q5).K(5)通過示例生成知識點(fixedfortask)Question生成知識技術結合fewshot是很多AI+低代碼技術的基石,也是構建問答系統、知識庫等產品的重要技術依賴ArchSuhmnitInfoQ極客傳媒#page#提示工程進階-生成知識讓模型懂得更多請用某牌語法信用某種請法表raphLRA-B表示如下一個從左到右的圖GPT學會了我的技能(代替了我)造DSL再也不能稱為門檻了!ArchSummnitInfoQ極客傳媒#page#如何編寫提示工程的總結普通原則進階技巧多術字住務些樣例,引導模型按照樣例回答。格式prom
11、pting)。通過提供推理步驟,讓大語言模型具備分析能力。過程中也提到了(Zero-Shot對于希望模型執行的指令和任務要非常具體。提CoT),引導模型在回答的時候,給出推理步驟,會更容易獲得理想的結果。不要寫太多廢話,盡量精煉,不要帶前后矛盾的提示。生成知識(GeneratedKnowledgePrompting)。對于一些大模型不掌握的知識。我們可以通過提示的形式輸入進去,從而獲得更準確的答案。https:/ HO0aspkshopi)TypefompipedrveLandbot了007CRM類應用搭建買家MarteHubso數分mndi機器學習類應用搭建松uiPgAutocodecbok
12、edk企業應用搭建ADioyDupoClouQDDATACAKEISV7集成商物聯網開發iol白B0TVvituosbigm店鋪裝修工具XAZOOuBakORXFLO AUTONATIOMRoflc設計師機器學習工程師物聯網、IOT構建工具BPLOGIXosonoTAnvilYEB/MCSILEAPPLICATIONDLVELOPMENTDECONDroHoCAWeb、Mobile應用開發AdakGODR國formstack8CoriOcm3ldbubble+工作流系統ONinox ccRkupB電9 Kntonomiroockm0OPORNoton品y42MokerpadnintexSsop
13、peyueePraxiewworkatozapicWSroTRACKVIAstackbyCtravio產品經理/isv/開發產品經理/isv/開發202ArchSummitInfoQ極客傳媒#page#低代碼與GPTGPTX業務迎輯5xha8邏輯編排:構建業務邏輯U編排:構建用戶界面UsersWhatuserseesContainsApp Logic服務編排:構建接口服務&interactswithGPTX文檔FrontendGPTX數據課GPTX按口邏輯編排:構建交互行為File SystemDatabaseHTML.CSS.MySQLMariaD模型編排:構建數據模型GPTX交互邏輯Bac
14、kendWeb Application ArchitectureArchSummitInfoQ極客傳媒#page#實戰:根據低代碼不同場景構建Prompt獲取openai的分解任務構造Promopt輸出并解析ArchSummitInfoQa極客傳媒#page#GPTX數據源開發-prompt的helloworld構造!目標:希望能夠根據需求自動生成SO分解任務輸入數據B6表結構-DDLPromop我需要獲取日前的庫表信息,之后根據SQL知識構建SQL輸出指示符BB我希望輸出純正sql,不想解析一堆內容conf1g/conf1a.1s”/https:/ igurationconst msgs“r
15、ole”:systc“role”:user【“role:“user”,“content:“請按賦sex分組,按“role”:*user”“content”:輸出指示1:model:“gpt-3.5-turbo”05509s:930;console.1og在構建GPT產品時,主要的工作都在組織prompt上,因此對prompt進行設計可以有效達到目的SQL是GPT非常擅長編寫的語言利用生成知識(GeneratedKnowledgePrompting)這一技巧,讓GPT掌握了他不知道的東西ArchSummnitInfoQ極客傳媒#page#GPTX數據源開發的prompt技巧如何實現跟業務系統的集
16、成DB在實際產品中,GPT通常是一個服務人機交互由產品進行處理,同時通過代理訪問GPT系統的元數據可以“喂給”GPT當作語料通過對元數據的有效縮減可以減少Token提示ps:/ langchain.chainsimport SQLDatabaseSequentialchain構建chain需要的DB(upns/9:soueossed:asn/:bsku.,)nuoseqees=qp構建chain需要的LLNLim= OpenAI(temperature=0,verbose=True)chain = SQLDatabaseSequentialchain.from_llm(lim,db,verbo
17、se=True)構建chainchain.run(“How manyemployees are also customers7)跑起來了!Entering new SQLDatabaseSequentialchain chain.,Table names touse:Langchain的開發過程Entering new SQLDatabaseChain chain.選擇一個or多個chain貼合你的場景How many employees are also customers7初始化chain需要依賴的東西SQLQuery:SELECT COUNT(*)FROM Employee e INNE
18、R JOIN Customere.EmployeeId=話Run!C.SupportRepId;SQLResult:(59,)Answer:59 employeesare alsoFinished chain.ArchSummnitInfoQ極客傳媒#page#GPTX接口服務-傳統接口SWOS AF通過生成知識技術構建接口查詢網關分料任務通過日前系統的接口如何獲得數據3SPOCeSSO接口,獲取有效的數排型或格式CMD:GET/temsfiltersCND_RESP:ICnaCeleny.我們仍然利用萬能的“生成知識”把OUT Iteswagger的接口信息給到GPT去學習GPT的學習能力能
19、夠理解很多接口操作User接口數據仍然占據大量的Token接口的能力會限制服務能力,用戶的需求是枚舉不完的ro/ou/o燒物id22222.寵物1d33333.https:/ interface Flow s(Start/邏輯唯一標識,保證flow之間唯-id:number,門邏輯名稱TaskAname:string,TaskC/邏輯描述desc:string,TaskB/實體,所有的邏輯節點描述集合/關系標識nodes: Nodel,Task D/關系,所有的節點間關系描述集合links:Link,/表示在節點之間共享的上下文信息,包括關開Encontext?:Content/Context
20、另行定義type:LinkType;航的1行起在數據庫中可以通過JSON方式存儲完整的Flow同樣可以存儲三張表:Node,Link表與Flow表來將三個實體結構分開存儲。ArchS Docstoken不夠,把全部文檔喂給GPT需要大量Token如何判斷用戶的提問跟你的文檔內容吻合我輸入的是中文,這文檔是英文啊,如何搜索如何去管理和存儲你的文檔?ArchSummnitInfoQ極客傳媒#page#GPTX文檔-讓AI更智能如何判斷兩個字符串“類似”-萬物皆可embeddingpenai官網ombedding使用范例htps:pomdccs/guides/embeddings/use-cases
21、OpenAliEmbeddings何工作?1.狗咳耗子搜索(結果按查詢字符串的相關性進行排序)2.犬類捕食喝齒動物聚類(將文本字符串按相似性分組)1.“狗咬耗子”推薦(推薦具有相關文本字符串的項目)2.“犬類捕食曬齒動物異常檢測(識別相關性較小的異常值)3.“我家養了只狗多樣性測量(分析相似度分布)多我寨養了只狗分類(文本字符串按其最相似的標簽進行分類)玉cs在自然語言處理和機器學習領域,“embeddings”是指將單詞、短語或文本轉換成連續向量空間的過程。這個向量空間通常被稱為嵌入空間(embeddingspace),而生成的向量則稱為嵌入向量(embeddingvector)或向量嵌入(
22、vectorembedding)。嵌入向量可以捕獲單詞、短語或文本的語義信息,使得它們可以在數學上進行比較和計算。這種比較和計算在自然語言處理和機器學習中經常被用于各種任務,例如文本分類、語義搜索、詞語相似性計算等。在中文語境下,“embeddings”通常被翻譯為“詞向量”或者“向量表示”。這些翻譯強調了嵌入向量的特點,即將詞匯轉換成向量,并表示為嵌入空間中的點。ArchSummnitInfoQ極客傳媒#page#GPTX文檔-讓AI更智能如何實現和存儲embedding-向量數據庫技術介紹ContertVectorEabedhi3pplicatiing:1.索引:向量數據庫使用PQ、LSH
23、或HNSW等算法(https:/ itemsWHERE id l=1ORDER BY embedding-(SELECT embedding FROM items WHERE id=1)LIMIT5;https:/ DB witA the計算相似度,返回h10206.08.0104.07l.GetsearcAresultVectorDatabase(e9.PineconorSuitor-3.Upsertthevecterembeddings toDBPostgreswitpgvectoextension)把向量化后的存儲到db把問題和相似度高的內容構建prompt,發給gptOpenA1API
24、2.Buildthepromptwith(ptnod)Seorchres6寶五鄧doteyArchSummitInfoQ極客傳媒利用微搭和openaiembedding搭建一個文檔知識庫hittps/ model = new OpenAI temperature:(e初始化一個Chainconstchain=loadoARefineChain(modet);存儲到向量數據庫V/ Load the documents and create the vector storeconst loaders new TextLoader(path.join_dirname“./bee.txt)const
25、docs=await loader.loadAndsplit();/https:/ store=await HemoryvectorStore.fromDoc0ocs將文本轉化儲到內存查詢相關的文本constquestion=“什么蜜鋒沒有墊針,請用中文回答?!?;y/ Call the chainconst res=await chain.call(input_documents:relevantDoclangchain-ts-starter1.0.0start文本+query調用openaitsx-rdotenv/config src/index.tsnn無刺蜂和一一些蜜蜂物種的所有個體都沒有針。!https:/ system可能會顛覆傳統的系統設計ArchSummittps/