2024基于ChatGPT?模型開發(fā)應(yīng)?指南_第1頁
2024基于ChatGPT?模型開發(fā)應(yīng)?指南_第2頁
2024基于ChatGPT?模型開發(fā)應(yīng)?指南_第3頁
2024基于ChatGPT?模型開發(fā)應(yīng)?指南_第4頁
2024基于ChatGPT?模型開發(fā)應(yīng)?指南_第5頁
已閱讀5頁,還剩167頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于ChatGPT?模型開發(fā)應(yīng)?指南第1 初識GPT-4和探索語?NLP的理解Transformer架構(gòu)及其LLM中的作解密GPT模型的標(biāo)記化和預(yù)測GPT-3.5、CodexLLM?例和?例產(chǎn)BeMy摩根可汗學(xué)多InworldAI幻覺:限制與考使?插件和微調(diào)優(yōu)化GPT? 基本概OpenAIAPI提供的可?OpenAI訪問權(quán)API密ChatCompletion端點(diǎn)的輸?選ChatCompletion端點(diǎn)的輸出從?本補(bǔ)使?其他?本補(bǔ)全Completion端點(diǎn)的輸?選Completion端點(diǎn)的輸出考定價(jià)和標(biāo)記限安全嵌內(nèi)容審?結(jié)(含速查清單第3 使?GPT-4和ChatGPT構(gòu)建應(yīng)?程應(yīng)?程序開發(fā)API密數(shù)據(jù)安全和數(shù)軟件架構(gòu)設(shè)計(jì)LLM驅(qū)動型應(yīng)?程序的分析輸?和輸?法避免提?詞注?例項(xiàng)?1:構(gòu)建新聞稿?項(xiàng)?2:YouTube視頻摘項(xiàng)?3:打造《塞爾達(dá)傳說:曠野之息》4:語?控? 提??設(shè)計(jì)有效的提?逐步思實(shí)現(xiàn)少樣改善提?效微開始?成和微調(diào)電?郵件營銷活動的合成數(shù)微調(diào)的成?第5 使?LangChain框架和插件增強(qiáng)LLM的功動態(tài)提?智能體記嵌概插件清描?總術(shù)語GPT-4OpenAI努?構(gòu)建的世界,它通過其GPT模型讓設(shè)備擁有與?類對話的?。作為(artificialintelligence,AI)領(lǐng)域的最新成果,GPT-4其他GPT模型是基于?量數(shù)據(jù)訓(xùn)練?成

model,LLM),它們能夠以?常?的準(zhǔn)確性識別和?成?類可讀的?本1“?語?模型”簡稱“?模型”。在本書中,兩者的意思相同。——編者這些AI模型的意義遠(yuǎn)超簡單的語?助?。多虧了OpenAI的模型,開發(fā)?的學(xué)習(xí)?格的個(gè)性化教學(xué)?具,GPT-4ChatGPT打開了?扇門,讓?們GPT-4ChatGPT究竟是什么?本章的?標(biāo)是深?探討這些AI模型的基LLM本節(jié)介GPT-4ChatGPT發(fā)展歷程的基礎(chǔ)模塊。我們旨在幫助你NLP器學(xué)習(xí)和??智能的?個(gè)?領(lǐng)域。在深?GPT-4ChatGPT之前,必要了解NLP及其相關(guān)領(lǐng)域AI有不同的定義,但其中?個(gè)定義或多或少已成為共識,即AI是?機(jī)系統(tǒng),它能夠執(zhí)?通常需要?類智能才能完成的任務(wù)。根據(jù)這個(gè)定義,許多算法可以被歸為AI算法,?如導(dǎo)航應(yīng)?程序所?的交通預(yù)測算法或策略類視頻游戲所?的基于規(guī)則的系統(tǒng)。從表?上看,在這些?例中,計(jì)算機(jī)似乎需要智能才能完成相關(guān)任務(wù)。試圖直接實(shí)AI系統(tǒng)使?的決策規(guī)則。相反,我們試圖開發(fā)算法,使系統(tǒng)能夠通過?例??學(xué)習(xí)。?從20世50年代開始進(jìn)?ML研究以來,?們已經(jīng)在科學(xué)?獻(xiàn)中提出了許ML算法在這些ML算法中,(deeplearning,DL)算法已經(jīng)引起了?泛關(guān)注。DL是ML的?個(gè)分?,專注于受?腦結(jié)構(gòu)啟發(fā)的算法。這些算法被稱GPT-4ChatGPT基于?種特定的神經(jīng)?絡(luò)架構(gòu),即Transformerransformer就像閱讀機(jī)?樣,它關(guān)注句?或段落的不同部分,以理解其上下?并產(chǎn)?連貫的回答。此外,它還可以理解句?中的單詞順序和上下?意思。這使ransformer在語?翻譯、問題回答和?本?成等效。圖1-1展?了以上術(shù)語之間的關(guān)系。1-1AITransformerNLP是AI的?個(gè)?領(lǐng)域,專注于使計(jì)算機(jī)能夠處理、解釋和?成?類??,F(xiàn)代NLP解決?案基于ML算法。NLP的?標(biāo)是讓計(jì)算機(jī)能夠處理??本分將輸??本歸為預(yù)定義的類別。這類任務(wù)包括情感分析和主題分類?如,某公司使?情感分析來了解客戶對其服務(wù)的意?。電?郵件過濾?動翻括將代碼從?種程序設(shè)計(jì)語?翻譯成另?種程序設(shè)計(jì)語?,?如從Python翻C++。問題根據(jù)給定的?本回答問題。?如,在線客服門戶?站可以使?NLP模型回答關(guān)于產(chǎn)品的常?問題;教學(xué)軟件可以使?NLP模型回答學(xué)?關(guān)于所?本?根據(jù)給定的輸??本(稱為提?詞2)?成連貫且相關(guān)的輸出?本對于prompt?詞,本書統(tǒng)?采?“提?詞”這個(gè)譯法,以符合業(yè)內(nèi)慣例。不過,prompt既可以是?個(gè)詞,也可以是?個(gè)或多個(gè)句?。對于promptengineering,本書采?“提??程”這個(gè)譯法?!咦⑷缜八觯琇LM是試圖完成?本?成任務(wù)的?類ML模型。LLM使計(jì)算能夠處理、解釋和?成?類語?,從?提??機(jī)交互效率。為了做到這?點(diǎn),LLM會分析?量?本數(shù)據(jù)或基于這些數(shù)據(jù)進(jìn)?訓(xùn)練,從?學(xué)習(xí)句?中各詞之間的模式和關(guān)系。這個(gè)學(xué)習(xí)過程可以使?各種數(shù)據(jù)源,包括維基百科、Reddit、成千上萬本書,甚?互聯(lián)?本?。在給定輸??本的情況下,這個(gè)學(xué)習(xí)過程使得LLM能夠預(yù)測最有可能出現(xiàn)的后續(xù)單詞,從??成對輸??本有意義的回應(yīng)。于2023年發(fā)布的?些現(xiàn)代語?模型?常龐?,并且已經(jīng)在?量?本上進(jìn)?了訓(xùn)練,因此它們可以直接執(zhí)??多數(shù)NLP任務(wù),務(wù)上表現(xiàn)LLM。LLM的發(fā)展可以追溯到?年前。它始于簡單的語?模型,如n-gram模型n-gram模型通過使?來根據(jù)前?的詞預(yù)測句?中的下?個(gè)詞,其預(yù)測結(jié)果是在訓(xùn)練?本中緊隨前?的詞出現(xiàn)的頻率最?的詞。雖然這種?法提供了不錯(cuò)的著?點(diǎn),但是n-gram模型在理解上下?和語法??仍需改進(jìn),因?yàn)樗袝r(shí)會?成不連貫的?本。為了提n-gram模型的性能,?們引?了更先進(jìn)的學(xué)習(xí)算法,(recurrentneuralnetwork,RNN)和(longshort-termmemory,LSTM)?絡(luò)。與n-gram模型相?,這些模型能夠?qū)W習(xí)更?的序 TransformerLLMTransformer架構(gòu)徹底改變了NLP領(lǐng)域,這主要是因?yàn)樗軌蛴行У亟鉀Q之前的NLP模型(如RNN)存在的?個(gè)關(guān)鍵問題:很難處理??本序列并記住其上下?。換句話說,RNN在處理??本序列時(shí)容易忘記上下?(也就是臭名昭著的“災(zāi)難性遺忘問題”),Transformer則具備?效處理和編碼上這場?命的核??柱是,這是?個(gè)簡單??強(qiáng)?的機(jī)制。模型不再將?本序列中的所有詞視為同等重要,?是在任務(wù)的每個(gè)步驟中關(guān)注最相關(guān)的詞。和是基于注意?機(jī)制的兩個(gè)架構(gòu)模塊,它們經(jīng)常出現(xiàn)在LLM中。ransformer架構(gòu)?泛使?了交叉注意?模塊和注意?模塊。享受布魯塞爾陽光明媚的天?)。如果?標(biāo)語?是法語,那么輸出?本應(yīng)該是:AliceaprofitédutempsensoleilléàBruxelles。在這個(gè)例?中,讓我專注于?成法語單詞ensoleillé,它對應(yīng)原句中的sunny。對于這個(gè)預(yù)測任務(wù),交叉注意?模塊會更關(guān)注英語單詞sunny和weather,因?yàn)樗鼈兌寂censoleillé相關(guān)。通過關(guān)注這兩個(gè)單詞,交叉注意?模塊有助于模型為句?2?注意?機(jī)制是指模型能夠關(guān)注其輸??本的不同部分。具體到NLP領(lǐng)colleagues(Alice受到同事的贊揚(yáng))。假設(shè)模型試圖理解her這個(gè)單詞的意colleagues這兩個(gè)單詞。如前所述,?注意?機(jī)制幫助模型根據(jù)這些單詞構(gòu)建新概念。在本例中,可能出現(xiàn)的?個(gè)新概念是Alice'scolleagues,如1-3所?。1-3Alice'scolleagues與RNN不同,Transformer架構(gòu)具有易于并?化的優(yōu)勢。這意味Transformer架構(gòu)可以同時(shí)處理輸??本的多個(gè)部分,??須順序處理。這??須等待前?步驟完成?;赥ransformer架構(gòu)的模型所具備的并?處理能?與(graphicsprocessingunit,GPU)的架構(gòu)完美契合,后GPU?常適合?于訓(xùn)練和運(yùn)?基于Transformer架構(gòu)的模型。硬件上的這?進(jìn)展使數(shù)據(jù)科學(xué)家能夠在?型數(shù)據(jù)集上訓(xùn)練模型,從?為開發(fā)LLM鋪平了Transformer架構(gòu)由來??歌公司的AshishVaswani等?2017年的?“AttentionIsAllouNeed”中提出,最初?于序列到序列的任務(wù),如機(jī)器翻譯任務(wù)。標(biāo)準(zhǔn)的ransformer架構(gòu)有兩個(gè)主要組件:編碼器和解碼器,者都?分依賴注意?機(jī)制。編碼器的任務(wù)是處理輸??本,識別有價(jià)值的特征,并?成有意義的?本表?,稱為(embedding)。解碼器使?個(gè)嵌?來?成?個(gè)輸出,?如翻譯結(jié)果或摘要?本。這個(gè)輸出有效地解釋了編碼信息。?類基于ransformer架構(gòu)的模型,專門利?原始架構(gòu)中的解碼器部分。在GPT中,不存在編碼器,因此?須通過交叉注意?機(jī)制來整合編碼器產(chǎn)?的嵌?。也就是說,GPT僅依賴解碼器內(nèi)部的?注意?機(jī)制來?成上下?感知的表?和預(yù)測結(jié)果。請注意,BET等其他?些眾所周知的模型基于碼器部分,但本書不涉及這類模型。圖1-4展?了NLP技術(shù)的演變歷程。1-4NLPn-gramLLM GPTGPT模型接收?段提?詞作為輸?,然后?成?段?本作為輸出。這個(gè)過decidedto(今天天?很好,所以我決定),模型的輸出則可能是goforawalk(去散步)。你可GPT模型是如何根據(jù)輸?的提?詞構(gòu)建輸當(dāng)GPT模型收到?段提?詞之后,它?先將輸?拆分成(token)。些標(biāo)記代表單詞、單詞的?部分、空格或標(biāo)點(diǎn)符號。?如,在前?的例?中,提?詞可以被拆分成[The,wea,the,is,nice,toda,,,so,I,de,ci,ded,to]。3現(xiàn)在,OpenAI已在其?站上提供了GPT-4的分詞器。——譯者理解標(biāo)記與詞?的?條經(jīng)驗(yàn)法則是,對于英語?本,100個(gè)?約等于75個(gè)單詞因?yàn)橛辛俗⒁?機(jī)制和ransformer架構(gòu),LLM能夠輕松處理標(biāo)記們之間的關(guān)系及提?詞的整體含義。ransformer架構(gòu)使模型能夠?效地識別?本中的關(guān)鍵信息和上下?。為了?成新的句?,LLM根據(jù)提?詞的上下?預(yù)測最有可能出現(xiàn)的下?個(gè)標(biāo)記。OpenAI開發(fā)了兩個(gè)版本的GPT-4,上下?窗???分別為8192個(gè)標(biāo)32768個(gè)4。與之前的循環(huán)模型不同,帶有注意?機(jī)制的ransformer架構(gòu)使得LLM能夠?qū)⑸舷?作為?個(gè)整體來考慮?;谶@下?,模型為每個(gè)潛在的后續(xù)標(biāo)記分配?個(gè)概率分?jǐn)?shù),然后選擇概率最?的標(biāo)記作為序列中的下?個(gè)標(biāo)記。在前?的例?中,“今天天?很好,所以我決定”之后,下?個(gè)最佳標(biāo)記可能是“去”。4請注意,本書中的譯者注的添加時(shí)間為2023年11?19?~2023年12?2?,在此統(tǒng)?說明,后preview、gpt-4-vision-preview、gpt-4、gpt-4-32k、gpt-4-0613、gpt-4-32k-0613,其中g(shù)pt-4-1106-preview的上下?窗?已增加?16385個(gè)標(biāo)記?!g者接下來重復(fù)此過程,但現(xiàn)在上下?變?yōu)椤敖裉焯?很好,所以我決定去”,之前預(yù)測的標(biāo)記“去”被添加到原始提?詞中。這個(gè)過程會?直重復(fù),直到形成?個(gè)完整的句?:“今天天?很好,所以我決定去散步。”這個(gè)過程依賴于LLM學(xué)習(xí)從?量?本數(shù)據(jù)中預(yù)測下?個(gè)最有可能出現(xiàn)的單詞的能?圖1-5展?了這個(gè)過程。5GPTGPT-1GPT-本節(jié)將回顧OpenAI的GPT模型從GPT-1到GPT-4的演變歷程2018年年中,就Transformer架構(gòu)誕??年后,OpenAI發(fā)表了?篇GPT-1出現(xiàn)之前,構(gòu)建?NLP神經(jīng)?絡(luò)的常??法是利?監(jiān)督學(xué)策略是收集數(shù)千個(gè)?動標(biāo)記的?本?例來構(gòu)建有效的分類模型。然?在論?中,GP-1的作者提出了?種新的學(xué)習(xí)過程,其中引訓(xùn)練步驟。這個(gè)預(yù)訓(xùn)練步驟不需要標(biāo)記數(shù)據(jù)。相反,他們訓(xùn)練模型來預(yù)測下?個(gè)標(biāo)記。由于采?了可以并?化的ransformer架構(gòu),預(yù)訓(xùn)練步驟是在?量數(shù)據(jù)上進(jìn)?的。對于預(yù)訓(xùn)練,GPT-1模型使?了BookCorpus數(shù)據(jù)集。Zhu等?2015年的論?“AligningBooksandMovies:TowardsStory-like?們發(fā)現(xiàn),GP-1在各種基本的?本補(bǔ)全任務(wù)中是有效的。在?監(jiān)督學(xué)習(xí)段,該模型學(xué)習(xí)BookCorpus數(shù)據(jù)集并預(yù)測?本中的下?個(gè)詞。然?,GP-1是?模型,它?法在不經(jīng)過微調(diào)的情況下執(zhí)?復(fù)雜任務(wù)。因此,?們將微調(diào)作為第?個(gè)監(jiān)督學(xué)習(xí)步驟,讓模型在??部分?動標(biāo)記的數(shù)據(jù)上進(jìn)?微調(diào),從?適應(yīng)特定的?標(biāo)任務(wù)。?如,在情感分析等分類任務(wù)中,可能需要在??部分?動標(biāo)記的?本?例上重新訓(xùn)練模型,以使其達(dá)到不錯(cuò)的準(zhǔn)確度。這個(gè)過程使模型在初始的預(yù)訓(xùn)練階段習(xí)得的參數(shù)得到修改,從?更好地適應(yīng)具體的任務(wù)。盡管規(guī)模相對較?,但GPT-1在僅?少量?動標(biāo)記的數(shù)據(jù)進(jìn)?微調(diào)后,能Transformer架構(gòu)中的解碼器類似),具有1.17億個(gè)參數(shù)。作為?個(gè)GPT模型,它為更強(qiáng)?的模型鋪平了道路。后續(xù)的GPT模型使?更?的數(shù)據(jù)集和 GPT-2是公開可?的,可以從HuggingFaceGitHub下載GP-2表明,使?更?的數(shù)據(jù)集訓(xùn)練更?的語?模型可以提?語?模型務(wù)處理能?,并使其在許多任務(wù)中超越已有模型。它還表明,更?的語?模型能夠更好地處理?然語?。2020年6?,OpenAI發(fā)布了GP-3。GP-2和GP-3之間的主要區(qū)別在于模型的??和?于訓(xùn)練的數(shù)據(jù)量。GP-3?GP-2?得多,它有1750億個(gè)參數(shù),這使其能夠捕捉更復(fù)雜的模式。此外,GP-3是在更?泛的數(shù)據(jù)集進(jìn)?訓(xùn)練的。這包括CommonCrawl(它就像互聯(lián)?檔案館,其中包含來?數(shù)?億個(gè)??的?本)和維基百科。這個(gè)訓(xùn)練數(shù)據(jù)集包括來??站、書籍和?章的內(nèi)容,使得GP-3能夠更深?地理解語?和上下?。因此,GP-3在各種語?相關(guān)任務(wù)中都展?出更強(qiáng)的性能。此外,它在?本?成??還展?出更強(qiáng)的連貫性和創(chuàng)造?。它甚?能夠編寫代碼?段,如SQL查詢,并執(zhí)?其他智能任務(wù)。此外,GP-3取消了微調(diào)步驟,?這在之前的GPT模型中是必需的。然?,GPT-3存在?個(gè)問題,即最終?戶提供的任務(wù)與模型在訓(xùn)練過程中圖或指令。GPT-3這樣的模型是在互聯(lián)?數(shù)據(jù)上進(jìn)?訓(xùn)練的。盡管數(shù)據(jù)話,甚?說出有害的話。2021年,OpenAI發(fā)布了GPT-3模型的新版本,并強(qiáng)化學(xué)習(xí)和?類反饋進(jìn)?優(yōu)化。這意味著InstructGPT模型利?反饋來學(xué)習(xí)標(biāo)準(zhǔn)的GPT-3模型給出的回答是:“解釋什么是空間復(fù)雜度。解釋什么O記法?!盜nstructGPT模型給出的回答是:“時(shí)間復(fù)雜度?于衡量算法運(yùn)?和完任務(wù)所需的時(shí)間,通常采??O記法表?。它以操作次數(shù)來衡量算法的復(fù)雜度。算法的時(shí)間復(fù)雜度?關(guān)重要,因?yàn)樗鼪Q定了算法的效率和對更?輸?的擴(kuò)展能??!贝鹕?很奇怪),?第?個(gè)模型可以回答問題。當(dāng)然,使?標(biāo)準(zhǔn)的GPT-3GPT-3InstructGPTFeedback”的論?中,OpenAI的歐陽?等?解釋了InstructGPT是如何構(gòu)建從GPT-3模型到InstructGPT模型的訓(xùn)練過程主要有兩個(gè)階段:前?階段的結(jié)果進(jìn)?微調(diào)。也就是說,SFT階段接收GPT-3模型并返回?OpenAI的論?,我們重新繪制了?張流程圖,如1-6所?。SFT階段中,原始GPT-3模型通過監(jiān)督學(xué)習(xí)進(jìn)?微調(diào)(1-6中的步驟1)。OpenAI擁有?系列由最終?戶創(chuàng)建的提?詞。?先,從可?的理想回答組成的監(jiān)督訓(xùn)練數(shù)據(jù)集。最后,使?該數(shù)據(jù)集微調(diào)GPT-3模型,以針對?戶的提問提供更?致的回答。此時(shí)得到的模型稱為SFT模型。1-6InstructGPTRLHF階段分為兩個(gè)?步驟:?先訓(xùn)練獎勵模型(1-6中的步驟2),然該很低。為了訓(xùn)練獎勵模型,OpenAI?先隨機(jī)選擇?個(gè)問題,并使?SFT(temperature)的參數(shù),可以針對同?輸??成許多回答。然后,要求員根據(jù)與提?詞的匹配程度和有害程度等標(biāo)準(zhǔn)給這些回答排序。在多次重復(fù)此過程后,使?數(shù)據(jù)集微調(diào)SFT模型以進(jìn)?評分。這個(gè)獎勵模型將?于構(gòu)建最終的InstructGPT模型。InstructGPT模型的最后?步是強(qiáng)化學(xué)習(xí),這是?個(gè)迭代的過程。?個(gè)初始的?成式模型開始,?如SFT模型。然后隨機(jī)選擇?個(gè)提?詞,與基礎(chǔ)的GPT-3模型相?,InstructGPT模型能夠針對?戶的提問?成更準(zhǔn)GPT-3.5Codex2022年3?,OpenAI發(fā)布了GPT-3的新版本。新模型可以編輯?本或向?OpenAI還提出了Codex模型,這是?個(gè)在數(shù)?億?代碼上進(jìn)GPT-3模型。正是它GitHubCopilot這款?動化編程?具賦予了強(qiáng)?的時(shí),GitHub發(fā)布了基于GPT-4的CopilotX版本,其功能?之前的版本多得 OpenAI對Codex模型的棄?提醒我們,使?應(yīng)?程序接?存在模型。該模型經(jīng)過了微調(diào),采?1-6所?的類似技術(shù),在交互式對話中表 說明中將ChatGPT稱為“模型”。在本書中,除?操作代碼,否則我們將ChatGPT?作通?術(shù)語,既指應(yīng)?程序?指模型。在特指模型時(shí),我們使?gpt-3.5-turbo。2023年3?,OpenAI發(fā)布了GPT-4。關(guān)于這個(gè)新模型的架構(gòu),我們知之甚少,因?yàn)镺penAI提供的信息很少。這是OpenAI迄今為?最先進(jìn)的系統(tǒng),應(yīng)該能夠針對?戶的提問?成更安全、更有?的回答。OpenAI聲稱,GPT-與OpenAIGPT家族中的其他模型不同,GPT-4是第?個(gè)能夠同時(shí)接收?本和圖像的多模態(tài)模型。這意味著GPT-4在?成輸出句?時(shí)會考慮圖像和?統(tǒng)?律師資格考試中,ChatGPT的得分位于第10百分位,?GPT-4的得分位于第90百分位。國際?物學(xué)奧林匹克競賽的結(jié)果也類似,ChatGPT分位于第31百分位,GPT-4的得分則位于第99百分位。這個(gè)進(jìn)展令?印象1-1總結(jié)了GPT模型的演變歷程1-1GPT第?個(gè)GPT模型誕?,參數(shù)量為1.17GPT-2模型發(fā)布,參數(shù)量為15GPT-3模型發(fā)布,參數(shù)量為1750GPT-3.5(ChatGPT)模型發(fā)布,參數(shù)量為1750GPT-4模型發(fā)布,但具體的參數(shù)量未公 你可能聽說過這個(gè)術(shù)語。雖然像GPT這樣的LLM被各種任務(wù)進(jìn)?微調(diào),包括但不限于NLP任務(wù)。所有的LLM都是基礎(chǔ)LLMOpenAI在其?站上展?了許多激勵??的客戶故事,本節(jié)探討應(yīng)?、?例和?例產(chǎn)品。我們將了解這些模型如何改變我們的社會并為商業(yè)和創(chuàng)造?開辟新機(jī)遇。正如你將看到的,許多企業(yè)已經(jīng)開始使?這些新技術(shù),但還有更多創(chuàng)意空間等待你去探索。BeMy?2012年起,BeMyEyes已通過技術(shù)為數(shù)百萬視障??提供了幫助。它的GPT-4的多模態(tài)能?使得它能夠處理?本和圖像。BeMyEyes開始基GPT-4開發(fā)新的虛擬志愿者。這個(gè)虛擬志愿者旨在達(dá)到與?類志愿者相當(dāng)?shù)腂eMyEyes的?席執(zhí)?官M(fèi)ichaelBuckley表?:“全球可達(dá)性的影響深在我們撰寫本書之時(shí),虛擬志愿者仍處于測試階段5。要獲得訪問權(quán)限,你?常不錯(cuò)個(gè)內(nèi)部?站上,其?件格式主要是PDF。這意味著顧問必須搜索?量?檔摩根?丹利評估了如何利?其知識資本與GPT的研究能?。由公司內(nèi)部開發(fā)的模型將驅(qū)動?個(gè)聊天機(jī)器?,對財(cái)富管理內(nèi)容進(jìn)?全?搜索,并?效地解鎖摩根?丹利積累的知識。通過這種?式,GP-4提供了?種更易使的格式來分析所有相關(guān)信息??珊箤W(xué)院是?家總部位于美國的?營利教育組織,由SalKhan于2008情,?如引導(dǎo)和?勵他們,提問并幫助他們準(zhǔn)備考試。Khanmigo旨在成為案,?會引導(dǎo)學(xué)?進(jìn)?學(xué)習(xí)。除了幫助學(xué)?,Khanmigo還可以幫助教師準(zhǔn)可汗學(xué)院的?席學(xué)習(xí)官KristenDiCerbo說道:“我們認(rèn)為GP-4正在教育域開辟新的前沿。它是很多??期以來夢寐以求的技術(shù)。它具有變?性,我們計(jì)劃負(fù)責(zé)任地對它進(jìn)?測試,以探索它能否有效地?于學(xué)習(xí)和教學(xué)?!痹谖覀冏珜懕緯畷r(shí),Khanmigo試點(diǎn)計(jì)劃僅?向特定?員開放。要參與該多鄰國(Duolingo)是?家總部位于美國的教育科技公司,成?于2011解語法規(guī)則以學(xué)習(xí)?門語?的基礎(chǔ)知識。他們需要進(jìn)?對話,多鄰國已經(jīng)使?GPT-4為其產(chǎn)品添加了兩個(gè)新功能:“??扮演”和“解釋我的答案”。這兩個(gè)功能在名為DuolingoMax的新訂閱級別中可?。借助這兩個(gè)功能,多鄰國填補(bǔ)了理論知識和語?應(yīng)?之間的鴻溝。多虧了LLM,多“??扮演”功能模擬與?語??的對話,讓?戶能夠在各種場景中練多鄰國的?席產(chǎn)EdwinBodge說道:“我們希望AI技術(shù)能夠深度GPT-4與DuolingoMax的集成,不僅增強(qiáng)了整體學(xué)習(xí)體驗(yàn),還為更有效的Yabble是?家市場研究公司,它利?AI技術(shù)分析消費(fèi)者數(shù)據(jù),為企業(yè)提供可?的?解。Yabble的平臺將原始的?結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為可視化形式,使將先進(jìn)的AI技術(shù)(如GPT)整合到Y(jié)abble的平臺中,這樣做增強(qiáng)了其消Yabble的產(chǎn)品負(fù)責(zé)?BenRoe說道:“我們知道,如果要擴(kuò)?現(xiàn)有的服務(wù)規(guī)模,我們需要AI來完成?部分的繁重?作,這樣我們就可以把時(shí)間和創(chuàng)??在其他地?。OpenAI完全符合我們的要求。Waymark提供了?個(gè)創(chuàng)作視頻?告的平臺。該平臺利?AI技術(shù)幫助企業(yè)輕aymark已將GPT集成到其平臺中,這顯著地改進(jìn)了平臺?戶的腳本編過程。這種由GPT驅(qū)動的增強(qiáng)功能使得平臺能夠在?秒內(nèi)為?戶?成定制腳本。這樣?來,?戶能夠更專注于他們的主要?標(biāo),因?yàn)樗麄?須花費(fèi)太多時(shí)間編輯腳本,從?有更多的時(shí)間來創(chuàng)作視頻?告。因此,將GPT集成到aymark平臺中提供了效率更?、個(gè)性化更強(qiáng)的視頻創(chuàng)作體驗(yàn)。Waymark創(chuàng)始?NathanLabenz說道:“在過去的五年中,我使?了各AIInworldInworldAI為開發(fā)?員提供了?個(gè)平臺,?于創(chuàng)建具有獨(dú)特個(gè)性、多模態(tài)表InworldAI平臺的主要應(yīng)?領(lǐng)域之?是視頻游戲。將GPT作為Inworld??引擎的基礎(chǔ),可以實(shí)現(xiàn)?效、快速的視頻游戲??開發(fā)。通過將GPT與其他ML模型結(jié)合,該平臺可以為AI???成獨(dú)特的個(gè)性、情感、記和?為。這個(gè)過程使游戲開發(fā)?員能夠?qū)W⒂跀⑹潞推渌黝},??須花費(fèi)?量時(shí)間從頭開始創(chuàng)建語?模型。InworldAI的?席產(chǎn)品官兼聯(lián)合創(chuàng)始?KylanGibbs表?:“有了GPT-3,我?。AI正如你所?,LLM根據(jù)給定的輸?提?詞逐個(gè)預(yù)測下?個(gè)詞(也就是標(biāo)記),從??成回答。在?多數(shù)情況下,模型的輸出是與提問相關(guān)的,并且完全可?,但是在使?語?模型時(shí)需要??,因?yàn)樗鼈兘o出的回答可能不準(zhǔn)確。這種回答通常被稱為AI,即AI?信地給出?個(gè)回答,但是這個(gè)回答是錯(cuò)誤的,或者涉及虛構(gòu)的信息。對于依賴GPT的?戶來說,AI幻覺可能帶來危險(xiǎn)。你需要仔細(xì)核對并批判性地審視模型的回答。考慮以下例?。?先,我們讓模型計(jì)算?個(gè)簡單的式?:2+2。不出所料,它給出的答案是4。?常好!然后,我們讓它計(jì)算?個(gè)復(fù)雜的式?個(gè)錯(cuò)誤的答案,如1-7所?。當(dāng)我們要求它進(jìn)?檢查并重新計(jì)算時(shí),它仍1-7ChatGPTChatGPT2023422盡管我們可以使?插件系統(tǒng)向GPT添加新功能,但GPT默認(rèn)不包含計(jì)算器。為了回答我們的問題,即2+2等于多少,GPT逐個(gè)?成每個(gè)標(biāo)記。它之所以能正確回答,是因?yàn)樗赡芙?jīng)常在訓(xùn)練?本中遇到2+2等于4。這 GPT很可能沒有在其訓(xùn)練?本中?過太多次3695×123548。就是它犯錯(cuò)的原因。你可以看到,即使犯了錯(cuò),它對??的錯(cuò)誤輸出也相當(dāng)?信。因此,在應(yīng)?程序中使?GPT時(shí)要特別??。如果GPT犯錯(cuò),那么你的應(yīng)?程序可能會得到不?致的結(jié)果。請注意,在剛才的例?中,ChatGPT給出的結(jié)果接近正確答案,?不是完ChatGPT僅通過語??法就能給出近似的估計(jì)結(jié)果 看到的那樣,這些?具讓我們能夠向LLM添加額外的功能。計(jì)算器就在前?的例?中,ChatGPT犯了?個(gè)錯(cuò)誤。但在某些情況下,它甚?會故意欺騙,如1-8所?。1-8ChatGPTChatGPT202345ChatGPT聲稱???法訪問互聯(lián)?。然?,如果我們堅(jiān)持,就會發(fā)?有趣的事情,如1-9所?。1-9ChatGPTChatGPT的意思是,它已經(jīng)訪問了鏈接。然?,這在?前絕對不可能ChatGPT明顯讓?戶誤以為它具備其實(shí)并不具備的能?。順便說?下,正1-10ChatGPT ChatGPTGPT-4在設(shè)計(jì)上并不可靠:它們可能會提供錯(cuò)誤信總之,我們強(qiáng)烈推薦在創(chuàng)意型應(yīng)?程序中使?GPT解決?案,?不是在GPT除了簡單的?本補(bǔ)全功能,還可以使?更?級的技術(shù)來進(jìn)?步利?GPT模解釋器、知識庫上傳等功能,豐富了GPT模型構(gòu)建應(yīng)?程序的能?。同時(shí),OpenAI上線了GPTs微調(diào)GPT模型有?定的局限性,例如其計(jì)算能?有限。正如你所?,GPT模型可以正確回答簡單的數(shù)學(xué)問題,如2+2等于多少,但在?對更復(fù)雜的計(jì)算時(shí)可能會遇到困難,如3695×123548。此外,它沒有直接訪問互聯(lián)?的權(quán)限,這意味著GPT模型?法獲取新信息,其知識僅限于訓(xùn)練數(shù)據(jù)。對于互。這個(gè)過程可以極?地增GPT模型的能?,因?yàn)樗鼈兛梢酝ㄟ^各種操插件為開發(fā)?員帶來許多新的機(jī)會。想象?下,將來每家公司都可能希望擁有??的LLM插件。就像我們今天在智能?機(jī)應(yīng)?商店中看到的可能會有?系列的插件集合。通過插件可以添加的應(yīng)?程序數(shù)量可能是巨?的在其?站上,OpenAI表?可以通過插件ChatGPT執(zhí)?以下檢索實(shí)時(shí)信息,如體育賽事?分、股票價(jià)格、最新資訊等;代表?戶執(zhí)?操作,如預(yù)訂航班、訂購?品等;準(zhǔn)確地執(zhí)?數(shù)學(xué)運(yùn)算。以上只是?些例?,還有更多的新?例等著你去發(fā)現(xiàn)GPT模型。新模型專為特定任務(wù)?設(shè)計(jì),這個(gè)額外的訓(xùn)練過程讓模型能夠LLM已經(jīng)取得了??的進(jìn)步。LLM是可以處理和?成?類語?的計(jì)算機(jī)程序,它利?ML技術(shù)來分析?量的?本數(shù)據(jù)。通過使??注意?機(jī)制和交本書探討如何使?GPT-4ChatGPT,它們具備理解和?成上下?的?級能?。利?它們構(gòu)建應(yīng)?程序超越了傳統(tǒng)的BERTLSTM模型的范疇,它們?yōu)榇龠M(jìn)各?各業(yè)的AI應(yīng)?程序快速發(fā)展做出了貢獻(xiàn)。從BeMyEyes這樣的應(yīng)?程序到Waymark這樣的平臺,不同的?業(yè)案例證明,GPT模不過,在使?LLM時(shí),要牢記可能存在?險(xiǎn)。使?OpenAIAPI的應(yīng)?程序開發(fā)?員應(yīng)確保?戶了解錯(cuò)誤帶來的?險(xiǎn),并能夠驗(yàn)證由AI?成的信第2章將介紹?些?具和信息,幫助你將GPT模型作為?種服務(wù),并讓你4ChatGPT法,以便有效地將它們集成到Python應(yīng)?程序中。學(xué)完本章后,你將能夠熟練地使?這些API,并在??的開發(fā)項(xiàng)?中充分利?它們的強(qiáng)?功能。?先,我們了解OpenAIPlayground。這將使你在編寫代碼之前更好地了解模型。接著,我們學(xué)習(xí)OpenAIPython庫。這部分內(nèi)容包括登錄信息和簡單的Helloorld?例。然后,我們學(xué)習(xí)創(chuàng)建和發(fā)送API請求的過程,并了解如何處理API響應(yīng)。這將確保你知道如何解釋這些API返回的數(shù)據(jù)。最后,本章還會介紹諸如安全最佳實(shí)踐和成本管理等考慮因素。隨著學(xué)習(xí)的深?,你將獲得實(shí)?的知識,這對使?GPT-4ChatGPT進(jìn)?Python開發(fā)?常有幫助。你可以在隨書?件包1中找到本章涉及的所有Python代碼。1請?jiān)L問圖靈社區(qū),免費(fèi)下載隨書?件包:\h/book/3344。——編者 在繼續(xù)閱讀之前,請查看OpenAI的使?規(guī)則。如果還沒有戶,請OpenAI主?上創(chuàng)建?個(gè)。你也可以查看TermsandPolicies?上的內(nèi)容。第1章介紹的概念對于使?OpenAIAPI及其相關(guān)庫是必OpenAI提供了多個(gè)專為不同任務(wù)設(shè)計(jì)的模型,每個(gè)模型都有??的定價(jià)接下來,我們將詳細(xì)地對?這些模型并討論如何根據(jù)需求選擇模型。需要注意的是,模型的設(shè)計(jì)?的——?論是?于補(bǔ)全?本、聊天還是編輯——會影響你如何使?其API。?如,GPT-4ChatGPT背后的模型基于聊?的,并使?聊天端點(diǎn)第1章介紹了“提?詞”這個(gè)概念。提?詞不僅適?于OpenAIAPI,?且是所有LLM的??點(diǎn)。簡單地說,提?詞就是?戶發(fā)送給模型的輸??本?于指導(dǎo)模型執(zhí)?特定任務(wù)。對于GPT-4ChatGPT背后的模型,提?詞除了提?詞,第1章還介紹了標(biāo)記。標(biāo)記是詞或詞的?部分。據(jù)粗略估計(jì),100個(gè)標(biāo)記?約相當(dāng)于75個(gè)英語單詞。對OpenAI模型的請求是根據(jù)所使?的標(biāo)記數(shù)量來定價(jià)的,也就是說,調(diào)?API的成本取決于輸??本2-1總結(jié)了OpenAIAPI的基本概念2-1OpenAIAPI了解基本概念之后,讓我們深?探討模型的細(xì)節(jié)OpenAIAPIOpenAIAPI,你可以使?OpenAI開發(fā)的多個(gè)模型。這些模型可通過API作為服務(wù)使?(通過直接的HTTP調(diào)?或提供的庫),這意味著OpenAI在遠(yuǎn)程服務(wù)器上運(yùn)?模型,開發(fā)?員只需向其發(fā)送查詢請求即可每個(gè)模型都有??的功能和定價(jià)。本節(jié)將介OpenAI通過其API提供的LLM。需要注意的是,這些模型是專有的,你不能根據(jù)??的需求直改模型的代碼。但是正如后?所述,你可以O(shè)penAIAPI在特定數(shù)據(jù)上 ?些較舊的OpenAI模型(包括GPT-2模型)并不是專有的。你可以直接從HuggingFaceGitHub下GPT-2模型,但?API由于OpenAI提供的許多模型會不斷更新,因此本書很難給出完整的列表。要了解最新的模型列表,請查看OpenAI的在線?檔。本章將重點(diǎn)介紹?個(gè)最為重要的模型這個(gè)模型系列可以處理許多單輪?本補(bǔ)全任務(wù)。text-ada-001模型只能處理簡單的?本補(bǔ)全任務(wù),但它也是GPT-3系列中速度最快、價(jià)格最便宜昂貴。text-davinci-003模型可以出?地執(zhí)?所有?本補(bǔ)全任務(wù),但它也是GPT-3系2中最昂貴的。2截?2023年11?下旬的消息,InstructGPT系列將2024年1?4?統(tǒng)?替換為最新gpt-3.5-turbo-instruct模型。——譯者注ChatGPT背后的模型是gpt-3.5-turbo。作為?個(gè)聊天模型,它可以將?系列消息作為輸?,并?成相應(yīng)的消息作為輸出。雖然gpt-3.5-turbo的聊格式旨在進(jìn)?多輪對話,但它也可?于沒有對話的單輪任務(wù)。在單輪任務(wù)中,gpt-3.5-turbo的性能與text-davinci-003相當(dāng)。由于gpt-3.5-turbo的價(jià)格只有text-davinci-003的?分之?3,?且兩者性能相當(dāng),因此建議默認(rèn)使?它來進(jìn)?單輪任務(wù)。gpt-3.5-turbo模型的上下?窗???約為4000個(gè)標(biāo)記,這意味著它可以接收約4000個(gè)標(biāo)記作為輸?。OpenAI還提供了另?這是迄今為?OpenAI發(fā)布的最?的模型。由于在?泛的?本和圖像多模態(tài)語料庫上進(jìn)?了訓(xùn)練,因此它精通許多領(lǐng)域。GP-4能夠準(zhǔn)確地遵雜的?然語?指令并解決難題。它可?于聊天任務(wù)和單輪任務(wù),并具有相當(dāng)?的準(zhǔn)確性。OpenAI提供了兩個(gè)GP-4模型4:gpt-4的上下?窗???為8192個(gè)標(biāo)記,gpt-4-32k的上下?窗???為32768個(gè)標(biāo)記。32768個(gè)標(biāo)記?約相當(dāng)于24576個(gè)英語單詞,即?約40?的上下?。gpt-3.5-turbo-16k、gpt-4和gpt-4-32k時(shí),我們指的是這些模型5開發(fā)?員通常希望LLM版本具有良好的穩(wěn)定性和可?性,以便在應(yīng)?程中使?它。對于開發(fā)?員來說,如果模型的版本在?夜之間發(fā)?變化,并且針對相同的輸?給出截然不同的回答,那么這樣的模型使?起來很困時(shí),上述模型最新的靜態(tài)快照版本分別是gpt-3.5-turbo-0613、gpt-3.5-turbo-16k-0613、gpt-4-0613gpt-4-32k-0613。使?時(shí)要謹(jǐn)慎。然?,由于這些模型是僅有的?個(gè)可以針對你的數(shù)據(jù)進(jìn)微調(diào)的模型,因此它們?nèi)匀豢?。截?本書英?版出版之時(shí),OpenAI已宣6截?2023年11?下旬,GPT-3.5微調(diào)功能已完全開放,GPT-4微調(diào)功能可通過申請權(quán)限開放——譯者 第1章介紹的SFTSFT階段后獲得,該模型沒有經(jīng)RLHF階段,也可以API以davinci-instruct-beta的名稱使?OpenAIPlaygroundGPTOpenAIPlayground是?個(gè)基于Web的平臺。你可以使?它直可以編寫提?詞,選擇模型,并輕松查看模型?成的輸出。要測試OpenAI徑以下是訪問OpenAIPlayground的步驟如果你已經(jīng)擁有?個(gè)賬戶但未登錄,請單擊屏幕右上?的Login。如OpenAI的?部分功能。請注意,由于PlaygroundAPI是收費(fèi)的,因登錄后,你將在??的頂部看到加?Playground的鏈接。單擊該鏈 2-2OpenAIPlayground7?與圖2-2中的界?存在差異,請以最新版本為準(zhǔn)?!g者界?中的主要空?處?于輸?消息。編寫完消息后,單擊Submit按鈕以?therefore”(正如笛卡?所說,我思故),然后單擊Submit按鈕。模型?“I每次單擊Submit按鈕時(shí),OpenAI都會收取相應(yīng)的費(fèi)?。本章稍后會提供有關(guān)費(fèi)?的更多信息。就本例??,成本約為0.0002美界?的底部和右側(cè)有許多選項(xiàng)。我們從底部開始。Submit按鈕右側(cè)的是撤銷按鈕(在圖中標(biāo)記為A),?于刪除最后?成的?本。在本例中,它將刪除“Iam”。接下來是重新?成按鈕(在圖中標(biāo)記為B),?于重新?成剛剛刪除的?本。再往后是歷史按鈕(在圖中標(biāo)記為C),它會給出過去30天內(nèi)的所有請求。請注意,?旦進(jìn)?歷史菜單,你就可以出于隱私原因式列表(在圖中標(biāo)記為D)。在我們撰寫本書之時(shí),可?的模式有聊天(默認(rèn)選項(xiàng))、補(bǔ)全和編輯 補(bǔ)全模式和編輯模式已被標(biāo)記為遺留模式,可能會2024?消失如前所?,語?模型在Playground的補(bǔ)全模式下努?補(bǔ)全?戶的輸?。圖2-3展?了在聊天模式下使?Playground的?例。界?左側(cè)是系統(tǒng)(在圖中標(biāo)記為E)。在這?,你可以描述聊天系統(tǒng)的?為?式。?如2-3中,我們要求它成為?個(gè)喜歡貓的有?助?。我們還要求它只談?wù)撊绻肜^續(xù)與系統(tǒng)對話,你可以單擊Addmessage(在圖中標(biāo)記為F),?消息,然后單擊Submit按鈕(在圖中標(biāo)記為G)。還可以在右側(cè)定義模型(在圖中標(biāo)記為H),這?使?GPT-4。請注意,并?所有模型在所有模截?2023年1?下旬,OpenAIPlayground聊天模式可?的模型包括gpt-3.5-turbo、gpt-3.5-0301、gpt-3.5-turbo-0613、gpt-3.5-turbo-106、gpt-3.5-turbo-16k、gpt-3.5-turbo-16k-0613。——譯注2-3OpenAIPlaygroundPlayground還提供了編輯模式。如2-4所?,在這種模式下,你提供?本(在圖中標(biāo)記為I)和指令(在圖中標(biāo)記為J),模型將嘗試修本。2-4所?的例?中,我們給出了?段描述?個(gè)年輕2-4OpenAIPlayground在Playground界?的右側(cè)、模式下拉列表下?的是模型下拉列表(在圖中標(biāo)記為L)。正如你已經(jīng)看到的,這是你選擇LLM的地?。該下拉列表中(在圖中標(biāo)記為M),它定義模型的?為。我們不會在此詳細(xì)討論這些參界?頂部有?個(gè)加載預(yù)設(shè)項(xiàng)的下拉列表(在圖中標(biāo)記為N)和4個(gè)按鈕。2-2中,我們使?LLM來補(bǔ)全句?,但是通過使?適當(dāng)?shù)奶?詞,我們也可以讓模型執(zhí)?特定的任務(wù)。2-5顯?了模型可以執(zhí)?的常?任務(wù)5選擇“GrammaticalStandardEnglish”(語法標(biāo)準(zhǔn)的英語),那么你將在主?中看到2-6所?的提?詞2-6GrammaticalStandardEnglish如果單擊Submit按鈕,那么你將得到以下結(jié)果:“Shedidnotgotomarket”(她沒有去市場)。雖然可以從下拉列表中的提?詞??,但是你應(yīng)該修改它們以使其適合你的問題。OpenAI為不同的任務(wù)提供例列表,詳?OpenAI?站的Examples??。參數(shù),并且希望以后Playground中輕松復(fù)?它們。Save按鈕的功能是把Playground的當(dāng)前狀態(tài)保存為?個(gè)預(yù)設(shè)狀態(tài)。你可以為預(yù)設(shè)狀態(tài)命名并添加中cURL代碼,以Linux終端中直接與OpenAI遠(yuǎn)程服務(wù)器交互。如果?importimportopenai.api_key=os.getenv("OPENAI_API_KEY")response=openai.Completion.create(prompt="AsDescartessaid,Ithinktherefore",現(xiàn)在你應(yīng)該了解了如何在沒有編碼的情況下使?Playground來OpenAIOpenAIPython本節(jié)重點(diǎn)介紹如何在?個(gè)?Python腳本中使?API密鑰,并展?如?OpenAIAPI進(jìn)?第?次測試OpenAI將GPT-4ChatGPT作為服務(wù)提供。這意味著?戶?法直接訪問模型代碼,也?法在??的服務(wù)器上運(yùn)?這些模型。OpenAI負(fù)責(zé)部署和運(yùn)?在執(zhí)?以下步驟之前,請確保你已登OpenAI賬戶OpenAIAPIOpenAI要求你必須擁有API密鑰才能使?其服務(wù)。此密鑰有兩個(gè)?它賦予你調(diào)?API?法的權(quán)利;它將你的API調(diào)?與你的賬戶關(guān)聯(lián),?于計(jì)費(fèi)。你必須擁有此密鑰才能在應(yīng)?程序中調(diào)?OpenAI服務(wù)要獲取密鑰,請?jiān)L問OpenAI的平臺??。單擊??右上?的賬戶名,然后2-7OpenAIAPI進(jìn)?API密鑰??后,請單擊“Createnewsecretkey”(創(chuàng)建新密鑰)并復(fù)制對于LinuxexportOPENAI_API_KEY=sk-(...)#檢查是否設(shè)置了環(huán)境變echosetOPENAI_API_KEY=sk-(...)#檢查是否設(shè)置了環(huán)境變echo以上代碼?段將設(shè)置?個(gè)環(huán)境變量,并使密鑰對從同?shell會話啟動的其將允許在所有的shell會話中訪問該環(huán)境變量。當(dāng)然,請勿在要推送到公共要Windows11中永久添加或更改環(huán)境變量,請同時(shí)按下Windows鍵,以打開運(yùn)?窗?。在此窗?中,鍵?sysdm.cpl以打開“系統(tǒng)屬性”板。單擊“?級”選項(xiàng)卡,接著單擊“環(huán)境變量”按鈕。在出現(xiàn)的窗?中,你以使?OpenAI密鑰添加?個(gè)新的環(huán)境變量。 OpenAI提供了關(guān)于API密鑰安全的詳細(xì)??,詳?其?站上的“BestPracticesforAPIKeySafety”。現(xiàn)在你已經(jīng)有了密鑰,是時(shí)候?OpenAIAPI編寫第?個(gè)HelloWorld?例Hello本節(jié)展?如何使?OpenAIPython庫開始編寫代碼。我們從經(jīng)典的Hello使?pip安Python庫pippipinstallopenai9使?這?代碼安裝的是OpenAI最新版的Python庫(1.6.1),這與本書寫作時(shí)的版本(0.28.1)已經(jīng)不同。如果想安裝本書寫作時(shí)的版本請使?代pipinstallopenai==0.28.;但不建議你這樣做,因?yàn)檫@個(gè)領(lǐng)域變化很快,我們有必要緊跟最新官??檔?!幷咦⒔酉聛鞵ython中訪問OpenAIimportimport調(diào)?OpenAIChatCompletionresponse=messages=[{"role":"user","content":"Hello你將看到以下輸出HelloHellothere!HowmayIassistyou恭喜!你剛剛使?OpenAIPython庫編寫了第?個(gè)程序。 OpenAIPython庫還提供了?個(gè)命令?實(shí)?程序。在終端中運(yùn)?以下代碼的效果與執(zhí)?之前的HelloWorld?例程序相同:openaiopenaiapichat_completions.create-mgpt-3.5-turbo-guser"Hello你可能已經(jīng)注意到,以上代碼?段并沒有明確提到OpenAIAPI密鑰。這是或者,你可以使?以下代碼將openai模塊指向包含密鑰的?件:openai.api_key_path=你還可以使?以下?法在代碼中?動設(shè)API密加API密openai.api_key=我們建議遵循環(huán)境變量使?慣例:將密鑰存儲在?個(gè).env?件中,并.gitignore?件中將其從源代碼控制中移除。Python中,你可以運(yùn)load_dotenv函數(shù)來加載環(huán)境變量并導(dǎo)?openai庫fromfromdotenvimportload_dotenvimport在加.env?件后聲明導(dǎo)?openai庫,這樣做很重要,不然?法正確應(yīng)?OpenAI的設(shè)置。我們已經(jīng)了解了GPT-4ChatGPT的基本概念,接下來進(jìn)?步討論它們的GPT-4ChatGPT本節(jié)討論如何使?GPT-4ChatGPT背后的模型,以及OpenAI庫在我們撰寫本書之時(shí),GPT-3.5Turbo是最便宜且功能最多的模型。因此,它也是?多數(shù)?例的最佳選擇10。以下是使??例:?是GPT-3.5Turbo30倍以上,并下調(diào)了整體價(jià)格,后者新增了圖像理解能?。請根據(jù)具體?例importimport對GPT-3.5Turbo來說,端點(diǎn)是ChatCompletion對GPT-3.5Turbo來說,模型是gpt-3.5-turbo#消息列表形式的對{"role":"system","content":"Youareahelpful"role":"content":"Arethereothermeasuresthantime\complexityforanalgorithm?","role":"content":"Yes,thereareothermeasuresbesidestime\complexityforanalgorithm,suchasspace{"role":"user","content":"Whatis在前?的例?中,我們使?了最少數(shù)量的參數(shù),即?于預(yù)測的LLM和輸消息。正如你所?,輸?消息中的對話格式允許模型進(jìn)?多輪對話。請注意,API不會在其上下?中存儲先前的消息。問題“Whatisit?”問的是先前的回答,這只有在模型知道答案的情況下才有意義。每次模擬聊天會話時(shí),都必須發(fā)送整段對話。我們將在下?節(jié)中進(jìn)?步討論這個(gè)問題GP-3.5urbo模型和GP-4模型針對聊天會話進(jìn)?了優(yōu)化,但這并?強(qiáng)要求。這兩個(gè)模型可?于多輪對話和單輪任務(wù)。如果你在提?詞中請求模型補(bǔ)全?本,那么它們也可以很好地完成傳統(tǒng)的?本補(bǔ)全任務(wù)。以通過更改ID來GPT-3.5TurboGPT-4之間切換,??須修他代碼ChatCompletion讓我們更詳細(xì)地看?下如何使?ChatCompletion端點(diǎn)及其create? create?法讓?戶能夠調(diào)?OpenAI的模型。當(dāng)然,還?法可?,但它們對與模型的交互沒有幫助。你可以O(shè)penAI庫的GitHub代碼倉庫中查看代碼01.ChatCompletion端點(diǎn)及其create?法有多個(gè)輸?參數(shù),但只有兩系統(tǒng)消息幫助設(shè)置助?的?為?戶消息相當(dāng)于是?ChatGPT??界?中鍵?的問題或句?。它2-111ID。?前可?的有g(shù)pt-4、gpt-4-0613、gpt-4-32k、gpt-4-32k-0613、gpt-3.5-turbo、gpt-3.5-turbo-0613、gpt-3.5-turbo-16kgpt-表?對話的消息對象數(shù)組。消息對象有兩個(gè)屬性:role(可能的值02.標(biāo)記總數(shù)必須?于模型的上限。你可以2.7節(jié)中找到關(guān)于標(biāo)記數(shù)正如你所?,有必要??控制對話的?度。你可以通過管理消息的?度來控制輸?標(biāo)記的數(shù)量,并通過max_tokens參數(shù)來控制輸出的數(shù)量。 OpenAI提供了?個(gè)名為tiktoken的庫,讓開發(fā)?員能夠03.OpenAI提供了其他?個(gè)選項(xiàng)來微調(diào)?戶與庫的交互?式。這?不會詳2-212數(shù)由可?函數(shù)組成的數(shù)組,詳?2.5.3或?qū)刂颇P偷捻憫?yīng)?none表?模型必須以標(biāo)準(zhǔn)?式響應(yīng)?auto表?模型可以在以標(biāo)準(zhǔn)?式響應(yīng)?functions數(shù)數(shù)2之間的值溫度為0意味著對于給定的輸?,對模型的調(diào)?很可能會LLM通過預(yù)測?系列標(biāo)記來?成回答。根據(jù)輸?上下?,LLM為每個(gè)潛在的標(biāo)記分配概率。當(dāng)溫度被設(shè)置為0時(shí),LLM將始終選擇概率最?的標(biāo)記。較?的溫度可以產(chǎn)?更整通過設(shè)置這個(gè)參數(shù),可以為給定的輸?消息?成多個(gè)回答。不過,如果將溫度設(shè)為0,那么雖然可以得到多個(gè)答,但它們將完全相同或?常相似布爾整OpenAI忽略:輸?和?成的標(biāo)記總數(shù)不能超過模型的上你可以O(shè)penAI的?檔中找到更多詳細(xì)信息OpenAI?檔為準(zhǔn)。——譯者注ChatCompletion以下是HelloWorld?例程序的完整響應(yīng)"choices":"finish_reason":"stop","index":0,"message":"content":"Hellothere!HowmayIassistyoutoday?","role":"assistant","created":"id":"chatcmpl-73mC3tbOlMNHGci3gyy9nAxIP2vsU","model":"gpt-3.5-turbo","object":"usage":{"completion_tokens":10,"prompt_tokens":"total_tokens":2-3列出了?成的輸出。13截?2023年11?下旬,ChatCompletion輸出參數(shù)已更新,新增了3中,n是,這意味著我們從模型中得到了完整的響應(yīng)。如果在輸出?成過程中出現(xiàn)錯(cuò)誤,那么將體現(xiàn)在該字段中index(整型):從choices數(shù)組中選擇對message(對象):包含role和contentfunction_call。role的值始終是assistant,content包括模型?成的?本。我們通常希望獲得這?成時(shí)的時(shí)間戳。HelloWorld?例程序中,這個(gè)時(shí)間戳轉(zhuǎn)換為2023年?10?星期?下OpenAI內(nèi)部使?的技術(shù)所?的模型。這與作為輸?設(shè)置的模型使?的是ChatCompletion端點(diǎn)提供有關(guān)在此查詢中使?的標(biāo)記數(shù)的信息,從?為你提供費(fèi)?信息數(shù)。你可能已經(jīng)猜到了,total_tokens=prompt_tokens+如果將參數(shù)n設(shè)置為?于1,那么你會發(fā)prompt_tokens的值不會改變,但completion_tokens的值將?致變?yōu)樵瓉淼膎倍OpenAI使其模型可以輸出?個(gè)包含函數(shù)調(diào)?參數(shù)的JSON對象。模型OpenAIAPI調(diào)?結(jié)果需要由代碼的其余部分處理時(shí),這個(gè)功能?:你可以使?函數(shù)定義將?然語?轉(zhuǎn)換為API調(diào)?或數(shù)據(jù)庫查詢,從?函數(shù)定義需要作為函數(shù)對象數(shù)組傳遞。2-4列出了函數(shù)對象的144字符函數(shù)對deffind_product(sql_query):#執(zhí)?查詢r(jià)esults={"name":"pen","color":"blue","price":{"name":"pen","color":"red","price":return接下來定義函數(shù)的規(guī)functions="name":"description":"Getalistofproductsfromasqlquery","parameters":{"type":"object","properties":{"sql_query":{"type":"string","description":"ASQL"required":我們可以創(chuàng)建?個(gè)對話,并調(diào)?ChatCompletion端user_question="Ineedthetop2productswherethepriceisthanmessages[{"role":"user","content":user_question}]使?函數(shù)定義調(diào)?ChatCompletion端點(diǎn)response=model="gpt-3.5-turbo-0613",messages=messages,response_message=response["choices"][0]["message"]我們使?該模型創(chuàng)建了?個(gè)查詢。如果打印function_call對象,會得"function_call":"function_call":"name":"arguments":'{\n"sql_query":"SELECT*FROMproducts\WHEREprice<2.00ORDERBYpriceASCLIMIT2"\n}',接下來,我們執(zhí)?該函數(shù)并繼續(xù)對function_args=productsfind_product(function_args.get("sql_query"))"role":"function","name":function_name,"content":#將函數(shù)的響應(yīng)格式化為?然語response=最后,提取最終的響應(yīng)并得到以下內(nèi)容TheThetop2productswherethepriceislessthan$2.00Pen(Blue)-Price:Pen(Red)-Price:模型所?的端點(diǎn)與GPT-4和ChatGPT所?的不同。盡管?論是在價(jià)格??還是在性能??,GPT-3.5Turbo模型通常都是最佳選擇,但是不妨了解如何使??本補(bǔ)全模型,特別是在微調(diào)等?例中,GPT-3?本補(bǔ)全模型是唯?的選擇15。15截?2023年11?下旬,GPT-3.5微調(diào)功能已完全開放,GPT-4微調(diào)功能可通過申請權(quán)限開放——譯者 OpenAI已經(jīng)發(fā)布了?本補(bǔ)全端點(diǎn)的棄?計(jì)劃。我們之所以在此介紹這個(gè)端點(diǎn),只是因?yàn)榛谘a(bǔ)全的模型是唯?可以進(jìn)?微調(diào)的模型16。OpenAI計(jì)劃在2024年1?之前為基于聊天的模型提供案。由于?前尚不可?,我們?法在此提供有關(guān)它的描述信息。16截?2023年11?下旬,GPT-3.5微調(diào)功能已完全開放,GPT-4微調(diào)功能可通過申請權(quán)限開放——譯者補(bǔ)全更適?于對話。從如下代碼?段可以看出,與ChatCompletion端點(diǎn)相?,Completion端點(diǎn)的主要區(qū)別在于提?詞的格式?;诹奶斓哪mportimport調(diào)?Completionresponse=model="text-davinci-003",prompt="Hello以上代碼?段將輸出類似于以下內(nèi)容的"\n\nIt's"\n\nIt'sapleasuretomeetyou.I'mnewtothe接下來詳細(xì)介Completion端點(diǎn)的輸?選項(xiàng)CompletionCompletion端點(diǎn)的輸?選項(xiàng)集與我們之前在ChatCompletion端點(diǎn)中01.表2-5列出了我們認(rèn)為最有?的必需參數(shù)和?些可選參數(shù)2-5Completion字符串(必填?的必需字符串或數(shù)(默認(rèn)值?成補(bǔ)全內(nèi)容的提?詞。它體現(xiàn)了Completion端點(diǎn)與ChatCompletion端點(diǎn)的主要區(qū)別。Completion.create應(yīng)編碼為字符串、字符串?dāng)?shù)組、標(biāo)記數(shù)組或標(biāo)記數(shù)的數(shù)組。如果沒有提供該參數(shù),那么模型將從新?的開頭?成?本整是null)02.與聊天模型?樣,?本補(bǔ)全模型的費(fèi)?也取決于輸?和輸出。對于?,必須仔prompt參數(shù)的?度;如果使?suffix參數(shù),還需要管理它的?度。對于輸出,請使?max_tokens參數(shù)。它可以幫03.同樣,與ChatCompletion端點(diǎn)?樣,可以使?可選參數(shù)來進(jìn)?步調(diào)整模型的?為。由于這些參數(shù)的?法與ChatCompletion端點(diǎn)中的相同,因此這?不再贅述。請記住,可以使?temperature或n來控制輸出,使?max_tokens來控制成本,并使?stream在本補(bǔ)全場景中提供更好的?戶體驗(yàn)。Completion天模型的結(jié)果?常相似。以下是HelloWorld?例程序使?davinci模型后"choices":"finish_reason":"stop","index":0,"logprobs":"text":"<br/>\n\nHithere!It'sgreattosee"created":"id":"cmpl-76uutuZiSxOyzaFboxBnaatGINMLT","model":"text-davinci-003","object":"usage":{"completion_tokens":15,"prompt_tokens":"total_tokens": choices對象:不再有屬contentrole,?有?個(gè)包含模型?成?本的屬text。在?泛使?API之前,應(yīng)該考慮兩個(gè)重要因素:成本和數(shù)據(jù)隱私 OpenAIPricing??上列出了模型的定價(jià)。請注意,OpenAI不?定及時(shí)在我們撰寫本書之時(shí),常?OpenAI模型的定價(jià)和最?標(biāo)記數(shù)如2-6?2-6OpenAI1717截?2023年11?下旬,OpenAI模型的定價(jià)已整體下調(diào),具體定價(jià)請以O(shè)penAI?站為準(zhǔn)。譯者聊輸?:每千個(gè)0.03美元輸出:每千個(gè)0.06聊輸?:每千個(gè)0.06美元輸出:每千個(gè)0.1232聊輸?:每千個(gè)0.0015美元輸出:每千個(gè)0.0020聊輸?:每千個(gè)0.003美元輸出:每千個(gè)0.00416?本補(bǔ)每千個(gè)0.022-6中,有?點(diǎn)需要注意turbo模型也可?于單輪?本補(bǔ)全任務(wù),并且對于這類任務(wù),兩個(gè)模型的準(zhǔn)確性相當(dāng),因此我們建議使?gpt-3.5-turbo模型(除?你需要插?、后綴等gpt-3.5-turbo模型?gpt-4模型便宜。對于許多基本任務(wù)來說,?者的?同?異。然?,在復(fù)雜的推理場景中,gpt-4模型遠(yuǎn)優(yōu)于任何先前的模與text-davinci-003模型不同,聊天系列的模型對于輸?和輸出有不同的定gpt-4模型的上下?窗????約是gpt-3.5-turbo模型的兩倍,gpt-4-32k模型甚?達(dá)到32768個(gè)標(biāo)記,這?概相當(dāng)于25000個(gè)英語單詞18。gpt-4可以實(shí)現(xiàn)?篇內(nèi)容創(chuàng)作、?級對話,以及?檔搜索和分析,但?戶需要相應(yīng)地付出更?的成本。 在我們撰寫本書之時(shí),OpenAI聲稱不會將作為模型輸?的數(shù)據(jù)?于重新訓(xùn)練,除??戶選擇這樣做。然?,?戶的輸?將被保留30天,?于監(jiān)控和使?合規(guī)檢查?的。這意味著OpenAI員?和專門的第三?承包商可能會訪問你的API數(shù)據(jù)。 請勿通過OpenAI的端點(diǎn)發(fā)送個(gè)?信息或密碼等敏感數(shù)據(jù)。我建議你查閱OpenAI的數(shù)據(jù)使?規(guī)則以獲取最新信息,因?yàn)槭?規(guī)則可能會有所變動。如果你是國際?戶,請注意,你的個(gè)?信息和輸?的數(shù)據(jù)可能會從你的所在地傳輸?shù)絆penAI在美國的服務(wù)器上。這可能在法律??對你的應(yīng)?程序創(chuàng)建產(chǎn)?影響。3章會進(jìn)?步詳述如何在考慮安全問題和隱私問題的情況下構(gòu)建基于LLM的應(yīng)?程序。OpenAIAPI除了?本補(bǔ)全功能,OpenAI?戶還可以使?其他?些功能。本節(jié)會帶你探索?個(gè)功能,但如果你想深?了解所有API,那么請查看OpenAI的API 機(jī)能夠更?效地處理它們之間的關(guān)系。在某些情況下,嵌?能?可能?。OpenAI提供了?個(gè)可以將?本轉(zhuǎn)換為數(shù)值向量的模型。嵌?端點(diǎn)讓開發(fā)?員能夠獲取輸??本的向量表?,然后將該向量表??作其他ML模NLP算法的輸?。截?本書英?版出版之時(shí),OpenAI建議?乎所有的?例都使?其最新text-embedding-ada-002。該模型使?起來?常簡單,如下所?resultresult=model="text-embedding-ada-002",input="your通過以下?式訪問嵌?結(jié)果嵌?是?個(gè)向量,即?個(gè)浮點(diǎn)數(shù)數(shù)組 請OpenAI的APIreference??上查看嵌?的完整?檔搜按查詢字符串的相關(guān)性給結(jié)果排序推找到?個(gè)與其他字符串?關(guān)的?本字符串ML在ML領(lǐng)域,特別是在處理語?模型時(shí),我們會遇到這?重要概數(shù)值格式,具體??是實(shí)數(shù)向量。這種轉(zhuǎn)換是必要的,因?yàn)镸L模型換為ML模型能夠輕松理解的數(shù)值語?。嵌?的?個(gè)突出特點(diǎn)是,它LLM?泛使?嵌?。通常,這些模型處理約512維的嵌?,從?語?數(shù)據(jù)的?維數(shù)值表?。這些維度很深,使得模型能夠區(qū)分各種復(fù)雜的模式。因此,它們在各種語?任務(wù)上表現(xiàn)出?,包括翻譯、摘要和?成與?類對話相似的?本回應(yīng)。嵌?具有這樣的屬性:如果兩段?本具有相似的含義,那么它們的向量?也是相似的。舉例來說,圖2-8顯?了三個(gè)句?。盡管“貓?jiān)诜?周圍追著??跑”和“在房?周圍,??被貓追著跑”具有不同的語法結(jié)構(gòu),但它們的?體意思相同,因此具有相似的嵌?表?。?句?“航天員在軌修理宙?船”與前?的句?(關(guān)于貓和??的句?)?關(guān),并且討論的主題(航天員和宇宙?船),因此它的嵌?表?明顯不同。請注意,為清晰起?,本例將嵌?顯?為具有兩個(gè)維度,但實(shí)際上,嵌?通常具有更?的維度,?如512維8后續(xù)各章將多次提及嵌?API,因?yàn)榍?是使?AI模型處理?然語?的重如前所述,在使?OpenAI模型時(shí),必須遵守OpenAI使?規(guī)則。為了幫助你遵守這些規(guī)則,OpenAI提供了?個(gè)模型來檢查內(nèi)容是否符合使?規(guī)則。19截?2023年11?下旬,審核內(nèi)容新增了harassment類別,內(nèi)容涉及表達(dá)、煽動或推?對任?標(biāo)的騷擾?論。——譯者內(nèi)容涉及對種族、性別、?族、宗教、國籍、殘疾或種姓的仇恨內(nèi)容涉及對特定群體的暴??為或嚴(yán)重傷害內(nèi)容涉及?殘?為內(nèi)容涉及性?為(性教育和與健康相關(guān)的內(nèi)容除外)內(nèi)容同上,但涉18歲以下的未成年?內(nèi)容涉及崇尚暴?或者給他?造成痛苦或羞辱 內(nèi)容審核模型的端點(diǎn)是openai.Moderation.create,參數(shù)model和inpu。有兩個(gè)內(nèi)容審核模型可供選擇,默認(rèn)模型是text-moderation-latest,它會隨時(shí)間?動更新,以確保你始終使?最準(zhǔn)確的模知你 latest模型。以下是使?text-moderation-latest模型的?importimport??response=input="Iwanttokillmyneighbor.",以下是內(nèi)容審"id":"modr-7AftIJg7L5jqGIsbc7NutObH4j0Ig","model":"text-moderation-004","results":"categories":{"hate":false,"hate/threatening":false,"self-harm":false,"sexual":false,"sexual/minors":false,"violence":true,"violence/graphic":false,"category_scores":"category_scores":"hate":"hate/threatening":3.671687863970874e-06,"self-harm":1.3143378509994363e-06,"sexual":5.508050548996835e-07,"sexual/minors":1.1862029225540027e-07,"violence":0.9461417198181152,"flagged":2-7解釋了輸出中的各個(gè)字段2-7Moderation如果模型將內(nèi)容識別為違反了OpenAI的使?規(guī)則,那么該值true,否則為print(type(response['results'[0['categories'])訪問該字典數(shù)范圍是0?1,分?jǐn)?shù)越?表?信?越?。這些分?jǐn)?shù)不應(yīng)被視為概率??梢詐rint(type(response['results'][0]['category_scores'])訪問該字典 OpenAI會定期改進(jìn)內(nèi)容審核系統(tǒng)。因此可能會有所變化,?于確定類別的閾值也可能會改變WhisperDALL·可以輕松地與GPT模型結(jié)合使?。我們在此不介紹它們,因?yàn)樗鼈儾皇潜緯闹攸c(diǎn)。但是不?擔(dān)?,它們的API使??法與LLM的API使??法相Whisper是?于語?識別的多功能模型。它是在?型?頻數(shù)據(jù)集上訓(xùn)練的,OpenAIWhisper項(xiàng)?的GitHub??提供了?個(gè)開源版本創(chuàng)造逼真圖像和藝術(shù)作品的AI系統(tǒng)。DALL·E2在技術(shù)上進(jìn)?步提升了分辨率和輸??本理解能?,并添加了新功能。這兩個(gè)版本的DALL·E是通過對圖像及其?本描述進(jìn)?訓(xùn)練的Transformer模型創(chuàng)建的。你可以通過APIOpenAILabs界?試DALL·E220。如前所述,OpenAIAPI將其模型作為?項(xiàng)服務(wù)提供給?戶。在本書中,我們選擇使?OpenAI提供的Python庫,它是對API的簡單封裝。借助這個(gè)庫,我們可以與GPT-4ChatGPT進(jìn)?交互:這是構(gòu)LLM型應(yīng)?程序的第?步。然?,使?這些模型涉及?個(gè)考慮因素:API密鑰管開始使?LLM之前,我們建議查閱OpenAI的使?規(guī)則,并通過Playground來熟悉不同的模型,??須編寫代碼。請記住,GPT-3.5TurboTurbo30倍以上,后者新增了圖像理解能?。請根據(jù)具體?例需求選擇合適的模型?!g者注以下是向GPT-3.5Turbo發(fā)送輸?消息時(shí)可參考的速查清單安openai依賴項(xiàng)pippipinstall將API密鑰設(shè)置為環(huán)境變量exportexportOPENAI_API_KEY=sk-Python中,導(dǎo)?openaiimportimportresponseresponse=openai.ChatCompletion.create(messages=[{"role":"user","content":"YourInput獲取答案 別忘了查看定價(jià)??,并使?tiktoken庫估算使?成本請注意,不應(yīng)OpenAI的端點(diǎn)發(fā)送敏感數(shù)據(jù),例如個(gè)?信息或密碼OpenAI還提供了其他?個(gè)模型和?具。你將在后續(xù)章節(jié)中發(fā)現(xiàn),嵌?端?常有?,它可以幫助你在應(yīng)?程序中集成NLP功能現(xiàn)在你已經(jīng)知道如何使?OpenAI的服務(wù),是時(shí)候深?了解為何應(yīng)該使?它們。在第3章中,你將看到各種?例和?例,從?學(xué)習(xí)如何充分利?GPT-4ChatGPT。GPT-4GPT-4ChatGPT的API服務(wù)為開發(fā)?員賦予了新的能?。?須深?了解AI技術(shù),開發(fā)?員就可以構(gòu)建能夠理解和回應(yīng)?然語?的智能應(yīng)?程序。從聊天機(jī)器?和虛擬助?到內(nèi)容創(chuàng)作和語?翻譯,LLM被?于驅(qū)動各?各本章詳細(xì)介LLM驅(qū)動型應(yīng)?程序的構(gòu)建過程。你將了解到在將這些模型要開發(fā)基于L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論