版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大模型與智能體開發(fā)content目錄01對接云端大模型接口02本地部署大模型03AI智能體開發(fā)技術(shù)對接云端大模型接口01準(zhǔn)備PyCharm開發(fā)環(huán)境安裝MinicondaPython運行環(huán)境的安裝和配置通常有兩種方式第一種方式是使用原生的Python安裝包直接在本地安裝Python,并利用pip命令安裝其他依賴庫;第二種方式是先配置Conda虛擬環(huán)境,再在Conda虛擬環(huán)境中安裝和配置Python環(huán)境。在Anaconda官方網(wǎng)站下載Miniconda安裝包,正常安裝即可。安裝完成后,需要創(chuàng)建一個Python運行環(huán)境,配置環(huán)境變量,打開或創(chuàng)建文件C:\Users\<用戶>\.condarc,添加一個envs_dirs變量,用于指定Python虛擬環(huán)境的默認(rèn)安裝目錄,文件內(nèi)容大致如下。準(zhǔn)備PyCharm開發(fā)環(huán)境對GPU提供支持打開命令提示符窗口,先利用condaactivate命令激活Python環(huán)境,再運行以下命令安裝PyTorch的GPU版本。condainstallpytorchtorchvisiontorchaudiopytorch-cuda-cpytorch-cnvidia此次安裝要下載約1.3GB大小的文件,安裝過程較為漫長。如果安裝過程并未報錯,則說明GPU版本安裝成功。如果安裝不成功,則可以考慮下載Python的擴(kuò)展名為.whl的離線安裝文件,并運行“pipinstalltorch-2.3.1+cu121-xxxx.whl”命令進(jìn)行安裝。安裝完成后,如果在運行Python代碼時出現(xiàn)以下錯誤,則需要配置操作系統(tǒng)環(huán)境變量KMP_DUPLICATE_LIB_OK=True或通過Python代碼進(jìn)行臨時處理。準(zhǔn)備PyCharm開發(fā)環(huán)境配置pip源為了使使用pip安裝第三方依賴庫時速度更快,建議將pip的源配置為國內(nèi)鏡像源。在用戶主目錄(即C:\Users\<用戶名>)下創(chuàng)建pip文件夾,并在該文件夾中創(chuàng)建文件pip.conf,內(nèi)容設(shè)置如下。準(zhǔn)備PyCharm開發(fā)環(huán)境創(chuàng)建PyCharm項目PyCharm有專業(yè)版和社區(qū)版兩個版本,專業(yè)版提供對超文本標(biāo)記語言(HypertextMarkupLanguage,HTML)界面的智能提示的支持,所以本書所有實驗和項目均在PyCharm專業(yè)版環(huán)境下開發(fā)調(diào)試。讀者可前往PyCharm官網(wǎng)下載其較新版本并完成安裝。對接通義千問申請通義千問的APIKey先訪問阿里云官網(wǎng),注冊一個賬號并進(jìn)行實名認(rèn)證,再選擇“大模型服務(wù)平臺百煉”選項,如圖1-2所示。對接通義千問在阿里云百煉界面中,創(chuàng)建APIKey,用于在Python調(diào)用其接口時進(jìn)行鑒權(quán),如圖1-3所示。對接通義千問創(chuàng)建完APIKey后,可以進(jìn)入API參考界面,查看各種AI模型的調(diào)用方法。阿里云文檔中心的功能非常完善,并且提供了針對各種編程語言的示例代碼供用戶參考,如圖1-4所示。對接通義千問使用OpenAI進(jìn)行調(diào)用OpenAI公司是最早提供大模型API對接的廠商之一,因此,后續(xù)的一些AI廠商提供了兼容OpenAI軟件開發(fā)工具包(SoftwareDevelopmentKit,SDK)接口的對接方案。在Python中需要利用pipinstallopenai命令安裝SDK,并通過以下代碼完成對接。對接通義千問注意:APIKey不建議直接寫在代碼中,通常的做法是將其保存到項目的環(huán)境變量文件中,并通過dotenv庫進(jìn)行調(diào)用,以便于統(tǒng)一維護(hù)。其操作步驟如下。(1)利用pip命令安裝第三方庫dotenv,具體命令為pipinstalldotenv。(2)在當(dāng)前項目的根目錄下創(chuàng)建一個文件.env(注意,文件名以.開頭),內(nèi)容如下。Dashscope_API_Key='sk-30a2d87612584e2697867a796b3d4f01'#如果有其他APIKey或系統(tǒng)級變量,則以同樣的方式進(jìn)行定義即可在代碼中,直接通過dotenv庫的load_dotenv()函數(shù)將其內(nèi)容加載為環(huán)境變量,并進(jìn)行讀取。對接DeepSeek使用Dashscope進(jìn)行調(diào)用通義千問模型除能采用OpenAI兼容接口調(diào)用外,還因為阿里云本身也提供了SDK進(jìn)行調(diào)用,所以只需在Python中利用pipinstalldashscope命令進(jìn)行安裝即可直接使用。對接通義千問使用requests庫進(jìn)行調(diào)用幾乎所有的AI模型廠商均提供了標(biāo)準(zhǔn)的HTTP接口,即使沒有提供SDK,也不影響使用Python或其他編程語言與AI模型進(jìn)行交互。以下代碼展示了如何利用Python的requests庫通過發(fā)送原始HTTP請求的方式與AI模型進(jìn)行通信。對接DeepSeek訪問DeepSeek的API開放平臺,并注冊賬號,創(chuàng)建DeepSeek的APIKey,如圖1-5所示。對接DeepSeek創(chuàng)建成功后,務(wù)必將明文的APIKey復(fù)制并保存。否則,下一次使用DeepSeek時需要重新創(chuàng)建APIKey。成功創(chuàng)建APIKey后,便可以在Python中進(jìn)行調(diào)用了。DeepSeek同樣支持基于OpenAI的兼容模式調(diào)用,或直接使用HTTP進(jìn)行調(diào)用,基礎(chǔ)的調(diào)用代碼如下。對接DeepSeek其調(diào)用過程與通義千問的調(diào)用過程基本一致,此處不做過多解釋。此外,通過Python的requests庫也可以正常調(diào)用DeepSeek,代碼如下。對接OpenRouter平臺登錄OpenRouter訪問OpenRouter官網(wǎng),單擊右上角的“Signin”按鈕進(jìn)行登錄,目前支持3種登錄方式:Google、MetaMask及本站登錄。OpenRouter登錄界面如圖1-6所示。登錄成功后,可以查看OpenRouter支持的所有模型,其中包括DeepSeek、QWen、Claude、OpenAIO3等模型。對接OpenRouter平臺單擊登錄后的用戶頭像,選擇“Keys”選項,進(jìn)入APIKey的管理界面創(chuàng)建APIKey即可。創(chuàng)建OpenRouter的APIKey如圖1-7所示。創(chuàng)建APIKey對接OpenRouter平臺如果確定需要長期使用OpenRouter,則需要綁定信用卡。目前,OpenRouter支持各類信用卡,國內(nèi)主要支持Visa信用卡。如果讀者沒有Visa信用卡,則無法綁定。新增支付界面如圖1-8所示。信用卡支付對接OpenRouter平臺OpenRouter平臺上的模型有很多,幾乎包含國內(nèi)外所有的主流大模型。下述代碼演示了如何調(diào)用Claude3.7,讀者如果感興趣,也可以在Cline、Continue或Copilot等AI編程助手中對接該模型輔助編程。因為本書的主題是智能體開發(fā),所以不單獨講解該部分內(nèi)容。對接OpenRouter本地部署大模型02安裝與配置Ollama01安裝與配置OllamaOllama是一個開源框架,專為在本地部署和管理大模型提供便利,支持在Windows、macOS和Linux上進(jìn)行安裝,也可以通過Docker簡化部署。Ollama支持多種大模型,如CodeLlama、Qwen、DeepSeek、Gemma等,通過將模型權(quán)重、配置和數(shù)據(jù)捆綁到一個包中,有助于優(yōu)化設(shè)置和配置細(xì)節(jié),使整個安裝和配置過程變得非常簡單。安裝與配置Ollama01安裝與配置Ollama拉取并測試大模型當(dāng)完成上述安裝與配置后,即可訪問Ollama官網(wǎng)搜索各類大模型并進(jìn)行拉取操作。此處以新發(fā)布的Qwen3大模型為例進(jìn)行講解。在Ollama中搜索Qwen,找到并拉取Qwen3模型,如圖1-12所示。CherryStudio對接Ollama01安裝與配置1.CherryStudio是目前主流的一個AI對話應(yīng)用程序客戶端,非常適用于日常對話和進(jìn)行各種大模型與智能體的調(diào)試。訪問其官網(wǎng)并下載對應(yīng)操作系統(tǒng)版本的安裝文件后正常安裝即可。為了方便后續(xù)調(diào)試模型上下文協(xié)議服務(wù)器,安裝CherryStudio后,建議讀者同步完成Node.js及相關(guān)組件的安裝。訪問Node.js官網(wǎng)下載并安裝Node.js,安裝完成后運行“node-v”命令,如果顯示正常的版本號,則說明安裝成功,如下所示。CherryStudio對接Ollama02對接OllamaCherryStudio是目前主流的一個AI對話應(yīng)用程序客戶端,非常適用于日常對話和進(jìn)行各種大模型與智能體的調(diào)試。訪問其官網(wǎng)并下載對應(yīng)操作系統(tǒng)版本的安裝文件后正常安裝即可。為了方便后續(xù)調(diào)試模型上下文協(xié)議服務(wù)器,安裝CherryStudio后,建議讀者同步完成Node.js及相關(guān)組件的安裝。訪問Node.js官網(wǎng)下載并安裝Node.js,安裝完成后運行“node-v”命令,如果顯示正常的版本號,則說明安裝成功,如下所示。安裝與配置Ollama03CherryStudio對接Ollama2.對接OllamaCherryStudio提供了對接各類大模型的功能,不僅限于DeepSeek、Qwen、硅基流動、OpenAI、OpenRouter等,還支持對接本地的Ollama模型。當(dāng)啟動Ollama服務(wù)后,Ollama默認(rèn)會開啟一個端口為11434的HTTP服務(wù),用于各類應(yīng)用程序或編程語言的調(diào)用。在CherryStudio中設(shè)置對接Ollama的Qwen3模型,如圖1-15所示。安裝與配置Ollama03CherryStudio對接Ollama完成模型的對接后,便可在CherryStudio的聊天窗口中進(jìn)行模型測試。如果成功,則可以看到圖1-16所示的對話效果。調(diào)用OllamaAPI基于Ollama的SDK進(jìn)行調(diào)用要使用Ollama的SDK調(diào)用大模型,需要先安裝Ollama的Python庫,利用pip命令進(jìn)行安裝即可。調(diào)用OllamaAPI基于Ollama的SDK進(jìn)行調(diào)用運行上述代碼即可調(diào)用Ollama的Qwen3模型并進(jìn)行輸出。但是上述代碼的輸出過程通常會等待很久,因為未使用流式響應(yīng)進(jìn)行處理。以下代碼采用改進(jìn)的流式響應(yīng)模式進(jìn)行輸出,輸出過程大大縮短了。調(diào)用OllamaAPI基于HTTP接口進(jìn)行調(diào)用HTTP接口是Ollama另一種方式的接口調(diào)用,可以使用Python或其他編程語言進(jìn)行調(diào)用,其通用性更強(qiáng),可以訪問/ollama/ollama/blob/main/docs/api.md查看各類接口的請求規(guī)范。調(diào)用OllamaAPI在Ollama中實現(xiàn)多輪對話Ollama提供的接口/api/generate只能實現(xiàn)單次對話,即不帶記憶功能。為了實現(xiàn)常規(guī)AI對話中的帶記憶功能的多輪對話,可以調(diào)用/api/chat接口,此接口發(fā)送的消息主體為一個列表,可以保存前面的對話內(nèi)容進(jìn)而實現(xiàn)記憶功能。調(diào)用OllamaAPI在Ollama中實現(xiàn)多輪對話(1)為了解決多輪對話的問題,此處使用了死循環(huán)來模擬用戶的多輪對話,當(dāng)然,在調(diào)試代碼時可以隨時停止代碼運行。(2)增加了系統(tǒng)提示詞,即"role":"system",這是AI模型標(biāo)準(zhǔn)角色設(shè)定。該系統(tǒng)提示詞指示模型不需要進(jìn)行思考,直接回答問題,以節(jié)省調(diào)試時間,簡化模型輸出。是否省略思考過程,完全由開發(fā)者自行決定,并無好壞之分。通常來說,對于一些復(fù)雜的推理過程,可以對其思考過程進(jìn)行展示,但是一般的常規(guī)問答可以不展示。除此之外,在AI模型中,通常有兩種標(biāo)準(zhǔn)角色:user和assistant。其中,user一般指用戶提問的內(nèi)容,而assistant指AI模型的回答,這類角色名稱適用于目前的絕大部分AI模型。(3)為了保存對話歷史,通常要設(shè)置一個模塊級全局變量來進(jìn)行操作(如上述代碼中定義的messages),以記錄每一輪對話。同時,每一輪對話完畢必須將用戶的提問內(nèi)容和AI的回答均添加到消息體中,每開啟一輪新的對話,均需要將前面輪次的對話發(fā)送給大模型以便實現(xiàn)記憶功能。AI智能體開發(fā)技術(shù)03FunctionCalling技術(shù)目前,AI智能體開發(fā)和應(yīng)用是展現(xiàn)AI實力的一種非常好的方式,大量的企業(yè)有AI智能體開發(fā)的需求,且各個行業(yè)和研究人員都在進(jìn)行各種形式的探索,以實現(xiàn)AI能力的最大化,幫助企業(yè)和組織降低成本,提升效率。AI大模型本身的能力在于理解用戶的輸入,并給予用戶正確的響應(yīng)內(nèi)容,而響應(yīng)的內(nèi)容通常是文本或圖像等數(shù)據(jù),AI大模型本身并不具備函數(shù)調(diào)用能力。例如,對于提示詞“明天去北京出差適合穿什么衣服?”,Ollama的回答如圖1-17所示。FunctionCalling技術(shù)一般情況下,有兩種方案可以讓AI給出穿衣建議,具體如下。(1)第一種方案是聯(lián)網(wǎng)搜索與北京天氣有關(guān)的數(shù)據(jù),并將搜索結(jié)果的網(wǎng)頁作為提示詞的一部分提交給大模型進(jìn)行分析,進(jìn)而得出正確的穿衣建議;但是此類基于搜索的結(jié)果通常并不完全準(zhǔn)確,存在一定數(shù)據(jù)錯誤的情況,這取決于搜索引擎對數(shù)據(jù)爬取的通用性與準(zhǔn)確性。(2)第二種方案是開發(fā)一個天氣預(yù)報函數(shù)并準(zhǔn)確描述該函數(shù)的功能,交由大模型對用戶提問進(jìn)行分析,并返回JSON數(shù)據(jù),告訴智能體應(yīng)該調(diào)用哪個函數(shù)、傳遞什么參數(shù),智能體會根據(jù)模型的輸出進(jìn)行解析和調(diào)用,進(jìn)而獲取天氣預(yù)報的實時數(shù)據(jù),再交由大模型進(jìn)行分析并給出正確的穿衣建議。這種方案的基本過程需要配合AI的FunctionCalling技術(shù)來實現(xiàn)。FunctionCalling技術(shù)MCP技術(shù)1.通過AI提示詞操作本地文件系統(tǒng)打開CherryStudio,在設(shè)置界面中選擇“MCP服務(wù)器”選項,并手動添加一個MCP服務(wù),按照圖1-19所示的參數(shù)進(jìn)行設(shè)置,并單擊右上方的開關(guān)來開啟該MCP服務(wù)。MCP技術(shù)1.通過AI提示詞操作本地文件系統(tǒng)完成上述設(shè)置后,進(jìn)入CherryStudio的常規(guī)提問框,嘗試使用圖1-20所示的提示詞來使用MCP服務(wù)進(jìn)行文件寫入操作。MCP技術(shù)2.通過AI提示詞獲取穿衣建議除了使用本地MCP服務(wù),還可以使用遠(yuǎn)程的公共MCP服務(wù),如使用高德地圖MCP服務(wù)獲取地理位置信息、查詢酒店或地址、獲取實時天氣情況等。高德地圖MCP服務(wù)提供了免費的調(diào)用額度,足夠開發(fā)者調(diào)試所用。首先,訪問高德官網(wǎng),注冊賬號并進(jìn)行實名認(rèn)證;其次,創(chuàng)建應(yīng)用并添加Key,如圖1-
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 庭院下水施工方案(3篇)
- 塔吊照明施工方案(3篇)
- 如何優(yōu)化志愿服務(wù)管理制度(3篇)
- 樓房夾層施工方案(3篇)
- 景區(qū)門票預(yù)訂系統(tǒng)管理制度
- 食品衛(wèi)生管理系列制度
- 2025云南臨滄市臨翔區(qū)委員會政策研究室城鎮(zhèn)公益性崗位人員招聘1人備考題庫及答案詳解(考點梳理)
- 罕見腫瘤的個體化治療藥物相互作用管理策略與優(yōu)化
- 2026江西九江市湖口縣第一批單位選調(diào)事業(yè)編制工作人員備考題庫及完整答案詳解一套
- 2025下半年四川內(nèi)江市威遠(yuǎn)縣緊密型縣域醫(yī)共體管理委員會招聘成員單位編外人員20人備考題庫及答案詳解一套
- 2026年秦皇島煙草機(jī)械有限責(zé)任公司招聘(21人)考試參考試題及答案解析
- 職場關(guān)鍵能力課件 4 時間管理
- 2026年甘肅平?jīng)龀缧趴h機(jī)關(guān)事業(yè)單位選調(diào)30人筆試備考題庫及答案解析
- 2026及未來5年中國電腦顯卡行業(yè)市場運行態(tài)勢及發(fā)展前景研判報告
- 少數(shù)民族語言怒語數(shù)字化傳播與年輕一代傳承意愿激發(fā)研究畢業(yè)論文答辯
- 2025年交管12123駕照學(xué)法減分考試題庫(附含答案)
- 總務(wù)主任(后勤主任)年終述職課件
- 換電柜維修培訓(xùn)課件
- DB65∕T 4858-2024 草原資源分類
- 2021-2025年高考物理試題分類匯編磁場(解析版)
- 鋰電倉庫安全培訓(xùn)內(nèi)容課件
評論
0/150
提交評論