構建您的第一個LLM應用程序:初學者的教程
您是否曾經嘗試過建立自己的大型語言模型(LLM)應用程序?有沒有想過人們如何提高自己的LLM申請來提高生產率? LLM應用程序已被證明在各個方面都有用。現在,構建一個LLM應用程序已在每個人的範圍內。多虧了AI模型以及強大的框架的可用性。在本教程中,我們將以最簡單的方式構建第一個LLM應用程序。讓我們開始過程。我們將一次從想法到代碼再部署一個過程中深入研究每個過程。
目錄
- 為什麼LLM應用很重要?
- LLM應用程序的關鍵組件
- 選擇正確的工具
- 逐步實施
- 1。設置Python及其環境
- 2。安裝所需的依賴項
- 3。導入所有依賴關係
- 4。環境設置
- 5。代理設置
- 6。簡化UI
- 7.運行應用程序
- 結論
- 常見問題
為什麼LLM應用很重要?
LLM應用程序的獨特之處在於他們使用自然語言來處理用戶並以自然語言做出響應。此外,LLM應用程序了解用戶查詢的上下文並相應地回答。 LLM應用程序的常見用例是聊天機器人,內容生成和問答代理。它通過合併了當今AI景觀的驅動力來對話性AI,從而對用戶體驗產生了重大影響。
LLM應用程序的關鍵組件
創建LLM應用程序涉及我們創建LLM應用程序不同組件的步驟。最後,我們使用這些組件來構建一個成熟的應用程序。讓我們一一了解它們,以徹底了解每個組件。
- 基礎模型:這涉及選擇您將在後端應用程序中使用的基礎AI模型或LLM。將其視為應用程序的大腦。
- 及時工程:這是提供有關應用程序的LLM上下文的最重要組成部分。這包括定義LLM的語氣,個性和角色,以便可以相應地回答。
- 編排層: Langchain,LlamainDex之類的框架充當編排層,該層處理您的所有LLM呼叫和輸出。這些框架將您的應用程序用LLM綁定,以便您可以輕鬆訪問AI模型。
- 工具:工具在構建LLM應用程序時充當最重要的組件。 LLM通常使用這些工具來執行AI模型無法直接執行的任務。
選擇正確的工具
選擇正確的工具是創建LLM應用程序的最重要任務之一。人們經常跳過此過程的這一部分,並開始使用任何可用工具從頭開始構建LLM應用程序。這種方法很模糊。在進入開發階段之前,應該有效地定義工具。讓我們定義我們的工具。
- 選擇LLM: LLM充當您應用程序背後的思想。選擇合適的LLM是一個關鍵的步驟,請牢記成本和可用性參數。您可以使用OpenAI,Groq和Google的LLMS。您必須從其平台收集一個API密鑰才能使用這些LLM。
- 框架:該框架充當您的應用程序和LLM之間的集成。它可以幫助我們簡化提示到LLM的提示,從而定義了應用程序的工作流程。諸如Langchain和Llamaindex之類的框架被廣泛用於創建LLM應用程序。 Langchain被認為是最友好型,最容易使用的。
- 前端庫: Python為您的最小代碼中的應用程序構建前端提供了良好的支持。諸如簡化,Gradio和Chainlit之類的庫具有為您的LLM應用程序提供優美的前端的功能,並需要最少的代碼。
逐步實施
我們涵蓋了構建LLM應用程序的所有基本先決條件。讓我們邁向實際實現,並編寫用於從頭開始開發LLM應用程序的代碼。在本指南中,我們將創建一個LLM應用程序,該應用程序將查詢作為輸入,將查詢分為子部分,搜索Internet,然後將結果編譯為帶有所使用的引用的好看的Markdown報告。
1。設置Python及其環境
第一步是從其官方網站下載Python解釋器並將其安裝在系統上。在安裝時,不要忘記在系統選項中勾選/選擇“添加路徑變量” 。
另外,請確認您已通過在命令行中鍵入Python來安裝Python。
2。安裝所需的依賴項
此步驟將庫依賴項安裝到您的系統中。打開終端並輸入以下命令以安裝依賴項。
PIP安裝簡化dotenv langchain langchain-openai-langchain-community langchain-core
此命令將運行終端並安裝所有依賴項以運行我們的應用程序。
3。導入所有依賴關係
安裝依賴項後,請轉到IDE代碼編輯器(例如VS代碼),然後在必需的路徑中打開它。現在,創建一個python文件“ app.py”,然後粘貼以下導入語句
導入簡報為ST 導入操作系統 來自dotenv import load_dotenv 來自langchain_openai進口chatopenai 來自langchain_community.tools.tavily_search導入tavilySearchResults 來自langchain.oxent intiment agentexecutor,create_tool_calling_agent 來自langchain_core.prompts導入chatprompttemplate,MessagsPlaceHolder 來自langchain_core.messages進口Aimessage,人類
4。環境設置
我們為LLM和其他工具創建了一些環境變量。為此,使用環境變量在同一目錄中創建一個文件“ .env” ,並在其內部粘貼API鍵。例如,在我們的LLM應用程序中,我們將使用兩個API鍵:我們的LLM的OpenAI API鍵,可以從此處訪問,而Tavily API密鑰將用於實時搜索Internet,可以從此處訪問。
openai_api_key =“ your_api_key” tavily_api_key =“ your_api_key”
現在,在您的app.py中,編寫以下代碼。此代碼將將所有可用環境變量直接加載到您的工作環境中。
#---環境設置--- load_dotenv() OpenAI_API_KEY = OS.GEGENV(“ OpenAI_API_KEY”) tavily_api_key = os.getenv(“ tavily_api_key”) 如果不是Openai_api_key: St.Error(“未找到?openai api密鑰。請在.env文件(OpenAI_API_KEY ='sk -...。')中設置它 如果不是Tavily_api_key: St.Error(“找不到tavily api鍵。 如果不是openai_api_key或不tavily_api_key: St.Stop()
5。代理設置
當我們加載了所有環境變量時。讓我們創建代理工作流程,每個查詢在使用LLM應用程序時都會通過這些查詢。在這裡,我們將創建一個工具,即tavely搜索,可以搜索Internet。代理執行人將使用工具執行代理。
#---代理設置--- @st.cache_resource def get_agent_executor(): ”“” 初始化並返回Langchain代理執行人。 ”“” #1。定義LLM llm = chatopenai(型號=“ gpt-4o-mini”,溫度= 0.2,api_key = openai_api_key) #2。定義工具(簡化聲明) 工具= [ tavilySearchResults( max_results = 7, 名稱=“ web_search”, api_key = tavily_api_key, 描述=“執行Web搜索以查找當前信息” ) 這是給出的 #3。更新的提示模板(v0.3最佳實踐) 提示_template = chatprompttemplate.from_messages( [ (“系統”, ””” 您是世界一流的研究助理AI。通過降價引用提供全面,準確的答案。 過程: 1。將問題解除為子查詢 2。為每個子查詢使用`web_search` 3。綜合信息 4。使用Markdown腳註引用來源 5。包括參考列表 後續問題應使用聊天歷史上下文。 ””), MessagesPlaceholder(“ chat_history”,可選= true), (“人類”,“ {input}”), MessagesPlaceHolder(“ Agent_scratchpad”), 這是給出的 ) #4。創建代理(已更新為create_tool_calling_agent) 代理= create_tool_calling_agent(llm,工具,提示_template) #5。具有現代配置的代理商 返回代理商( 代理=代理, 工具=工具, 詳細= true, handing_parsing_errors = true, max_iterations = 10, return_intermediate_steps = true )
在這裡,我們使用的是一個指示GPT-4O-Mini LLM的提示模板,如何進行搜索部分,並用參考來編譯報告。本節負責您的LLM應用程序的所有後端工作。本節中的任何更改都將直接影響您的LLM應用程序的結果。
6。簡化UI
我們已經為LLM應用程序設置了所有後端邏輯。現在,讓我們為應用程序創建UI,這將負責我們應用程序的前端視圖。
#---簡化UI --- st.set_page_config(page_title =“ AI研究代理?”,page_icon =“?”,layout =“ wide”) St.MarkDown(“” <style> .stChatMessage { border-radius: 10px; padding: 10px; margin-bottom: 10px; } .stChatMessage.user { background-color: #E6F3FF; } .stChatMessage.assistant { background-color: #F0F0F0; } </style> “”,unsafe_allow_html = true) 聖提特(“?AI研究代理”) St.Caption(“您的高級AI助手搜索網絡,合成信息並提供引用的答案。”) 如果“ chat_history”不在st.Session_state中: st.Session_state.chat_history = [] 對於St.Session_state.Chat_History中的Message_obj: 角色=“用戶”如果isInstance(message_obj,humanMessage)else“助手” 使用St.Chat_message(角色): St.MarkDown(Message_obj.Content) user_query = st.chat_input(“問一個研究問題...”) 如果User_query: st.Session_state.chat_history.append(humanMessage(content = user_query)) 使用St.Chat_message(“用戶”): St.MarkDown(user_query) 與St.Chat_message(“助手”): 與聖斯皮納(“?思考與研究...”): 嘗試: agent_executor = get_agent_executor() 響應= agent_executor.invoke({ “輸入”:user_query, “ chat_history”:st.Session_state.chat_history [: - 1] })) 答案=響應[“輸出”] st.Session_state.chat_history.append(aimessage(content = anders)) 聖馬克郡(答案) 除例外為E: error_message = f“?歉意,發生錯誤:{str(e)}” st.error(error_message) 打印(F“代理調用期間的錯誤:{e}”)
在本節中,我們將定義應用程序的標題,標題,描述和聊天歷史記錄。 Sparlit為自定義我們的應用程序提供了許多功能。我們在此處使用了有限數量的自定義選項,以使我們的應用程序不那麼複雜。您可以自由根據需要自定義應用程序。
7.運行應用程序
我們已經為應用程序定義了所有部分,現在已經準備好啟動了。讓我們從視覺上查看我們創建的內容並分析結果。
打開您的終端和類型
簡化運行app.py
這將初始化您的應用程序,您將被重定向到默認瀏覽器。
這是您的LLM應用程序的UI:
讓我們嘗試測試我們的LLM應用程序
查詢: “最新的Langchain文檔版本是什麼?”
查詢: “ Langchain如何改變AI的遊戲?”
從輸出來看,我們可以看到我們的LLM應用程序正在顯示預期的結果。帶有參考鏈接的詳細結果。任何人都可以單擊這些參考鏈接以訪問我們LLM回答問題的上下文。因此,我們成功地創建了有史以來的第一個LLM應用程序。隨意更改此代碼並創建一些更複雜的應用程序,將此代碼作為參考。
結論
創建LLM應用程序比以往任何時候都變得容易。如果您正在閱讀本文,則意味著您有足夠的知識來創建自己的LLM應用程序。在本指南中,我們討論了設置環境,編寫了代碼,代理邏輯,定義了應用程序UI,並將其轉換為簡化應用程序。這涵蓋了開發LLM應用程序的所有主要步驟。嘗試嘗試及時的模板,LLM鍊和UI自定義,以根據您的需求進行個性化應用程序。這只是開始;富有的AI工作流正在等待您,具有代理,內存和特定領域的任務。
常見問題
Q1。我需要從頭開始訓練模型嗎?答:不,您可以從預先訓練的LLM(例如GPT或開源LLM)開始,重點介紹及時設計和應用邏輯。
Q2。為什麼要使用Langchain之類的框架?答:他們簡化了鏈接提示,處理內存和集成工具,而無需重新發明輪子。
Q3。如何添加對話記憶?答:在框架(例如,蘭班)中使用緩衝存儲器類或集成矢量數據庫以進行檢索。
Q4。什麼是抹布,為什麼使用它?答:檢索增強的生成將外部數據帶入了模型的上下文中,從而提高了特定於域特異性查詢的響應精度。
Q5。我在哪裡可以部署我的LLM應用程序?答:從使用Gradio的本地演示開始,然後使用擁抱的面部空間,簡化雲,Heroku,Docker或云平台進行擴展。
以上是構建您的第一個LLM應用程序:初學者的教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

投資蓬勃發展,但僅資本還不夠。隨著估值的上升和獨特性的衰落,以AI為中心的風險投資的投資者必須做出關鍵決定:購買,建立或合作夥伴才能獲得優勢?這是評估每個選項和PR的方法

讓我們來談談。 對創新AI突破的分析是我正在進行的AI中正在進行的福布斯列覆蓋的一部分,包括識別和解釋各種有影響力的AI複雜性(請參閱此處的鏈接)。 前往Agi和

還記得今年早些時候破壞了Genai行業的大量開源中國模型嗎?儘管DeepSeek佔據了大多數頭條新聞,但Kimi K1.5是列表中的重要名字之一。模型很酷。

讓我們來談談。 對創新AI突破的分析是我正在進行的AI中正在進行的福布斯列覆蓋的一部分,包括識別和解釋各種有影響力的AI複雜性(請參閱此處的鏈接)。對於那些讀者

到2025年中期,AI“軍備競賽”正在加熱,XAI和Anthropic都發布了他們的旗艦車型Grok 4和Claude 4。這兩種模型處於設計理念和部署平台的相反端,但他們卻在

例如,如果您向模型提出一個問題,例如:“(x)人在(x)公司做什麼?”您可能會看到一個看起來像這樣的推理鏈,假設系統知道如何檢索必要的信息:找到有關CO的詳細信息

深度學習通過允許機器在我們的數據中掌握更多深入的信息來徹底改變了AI領域。深度學習能夠通過複製我們的大腦通過神經元SYNA的邏輯來做到這一點

臨床試驗是藥物開發中的巨大瓶頸,Kim和Reddy認為他們在PI Health建立的AI-Spainite軟件可以通過擴大潛在符合條件的患者的庫來更快,更便宜。但是
