久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    用LangGraph、 Ollama,構建個人的 AI Agent

     jacklopy 2025-04-17 發布于河北

    如果你還記得今年的 Google I/O大會,你肯定注意到了他們今年發布的 Astra,一個人工智能體(AI Agent)。事實上,目前最新的 GPT-4o 也是個 AI Agent。

    現在各大科技公司正在投入巨額資金來創建人工智能體(AI Agent),他們的研究工作可能會帶給我們幾十年以來一直追尋的那種實用且可以自由互動的人工智能。包括Sam Altman在內的許多專家都表示,AI Agent 已成為下一個大熱門方向。

    接下來,我們聊聊什么是 AI Agent,以及如何創建一個基本的人工智能體。我們將會用到LangGraph和Ollama這兩個可以簡化本地人工智能體構建的強大工具。聽我們講完,你將全面了解如何利用這些技術創建適合你特定需求的高效人工智能體。

    什么是人工智能體(AI Agent)?

    事實上,AI Agent 的研究還處于早期階段,該領域還沒有明確的定義。但是 Astra 和 GPT-4o 已經可以成為一個很好的早期示例了。NVIDIA 高級研究員、AI Agent 項目負責人 Jim Fan 表示我們距離出現一個有實體的 AI Agent 或者說以 ChatGPT 作為內核的機器人,還有大約 3 年的時間。如果用他話來解釋什么是 AI Agent,簡單來說,AI Agent 就是能夠在動態世界中自主決策的 AI 模型和算法。

    嚴格意義上講,人工智能體是感知環境并采取行動以實現特定目標或目的的軟件或系統。這些AI Agent可以是簡單的算法,也可以是能夠進行復雜操作的復雜系統。以下是人工智能體的一些特點:

    1. 感知:人工智能體使用傳感器或輸入機制來感知環境。這可能涉及從攝像頭、麥克風或其他傳感器等各種來源收集數據。
    2. 推理:人工智能體接收信息并使用算法和模型來處理和解釋數據。這一步包括理解模式、做出預測或產生反應。
    3. 決策:人工智能體會根據自己的感知和推理來決定行動或產出。這些決策旨在實現其程序或學習過程中確定的特定目標或目的。此外,人工智能體將更多地充當助手,而不是取代人類。
    4. 行動:人工智能體根據自己的決定執行行動。這可能涉及現實世界中的物理行動(如移動機械臂)或數字環境中的虛擬行動(如在應用程序中進行推薦)。

    醫療保健系統是人工智能體落地應用的一個很合適的領域,它可以分析來自不同病人的不同數據,如醫療記錄、測試結果和實時監控設備。然后,這些人工智能體利用這些數據可以幫助做出判斷和決策,例如預測病人患上某種特定疾病的可能性,或根據病人的病史和當前健康狀況推薦個性化的治療方案。例如,醫療保健領域的人工智能體可以通過分析醫學影像數據中的細微信息幫助醫生提早診斷疾病,或根據實時生理數據,建議調整藥物劑量。

    人工智能體不僅提高了醫療診斷的準確性,還能提供個性化的治療方案,提高整體醫療質量。除了醫療系統以外,還有很多人工智能體適合的場景和行業,比如游戲。

    Fan 所在的團隊在熱門游戲 Minecraft 中開發了一個名為MineDojo的 AI Agent。利用從互聯網收集的大量數據,Fan 的 AI Agent 能夠學習新技能和新任務,從而自由探索游戲世界,并完成一些復雜的任務,例如用柵欄圍住動物或將熔巖倒入桶里。開放世界游戲可能是 AI Agent 步入現實世界的前一站,因為它給了 AI Agent 了解物理、推理和常識的訓練場。

    一篇普林斯頓大學的論文表示,人工智能代理往往具有三種不同的特征。如果人工智能系統能夠在復雜環境中無需指令就能實現比較復雜的目標,那么它們就可以被視為具有“Agent”潛質的。第二個特征是,如果它們能夠用自然語言接受指令,并在無人監督的情況下自主行動。最后,“Agent”一詞還適用于能夠使用工具(比如搜索或編程)或具有規劃能力的系統。

    人工智能體 AI Agent 還存在哪些局限?

    事實上,我們距離擁有一個可以完全自主完成瑣事的AI Agent 還差得很遠,因為目前的系統總會出現一些偏差,不會總嚴格地遵循指令行事。例如,負責編碼的 AI Agent 可以生成代碼,但有時會出錯,而且它不知道如何測試它正在創建的代碼。所以,如果你去使用這樣的 Agent,你仍然需要積極參與編碼的過程,而且這還要求你必須具備編碼的能力和知識,即你對 AI Agent 的要求一定要在你的“認知”范圍內。

    另一個問題就是,AI Agent 在處理一個事項一段時間后,會忘記自己正在處理什么。這是因為它的系統受到其上下文窗口的限制,即它們在給定時間可以處理的數據量。 例如,你可以讓 ChatGPT 進行編寫代碼,但它卻不能很好地處理長篇的信息,它不能像一個普通工程師一樣輕松地瀏覽一個代碼庫里數百行的代碼。所以在年初的時候,Google 提高了 Gemini 模型處理數據的能力,讓用戶可以與模型進行更長時間的互動,并記住更多已經發生的對話內容。Google 也表示,未來努力使其上下文窗口接近無限。

    人工智能體與 RAG 的區別

    RAG(檢索-增強生成)和人工智能體有時候會被人搞混,但他們是兩個不同的概念。

    RAG 通過結合信息檢索方法來提高 LLM 模型的性能或輸出。檢索系統根據輸入查詢從大型語料庫中搜索相關文檔或信息。然后,生成模型(例如基于轉換器的語言模型)利用這些檢索到的信息生成更準確和與上下文相關的回復。由于整合了檢索信息,這有助于提高生成內容的準確性。此外,這種技術還免去了在新數據上微調或訓練 LLM 的需要。

    另一方面,人工智能體是軟件或系統,它能執行特定或一系列任務。它們根據預定義的規則、機器學習模型或兩者進行操作。最大區別是,它們能與用戶或其他系統進行互動,以收集輸入、提供響應或執行操作。一些人工智能體的性能會隨著時間的推移而提高,因為它們可以根據新的數據和經驗進行學習和適應。人工智能體可以同時處理多項任務,為企業提供可擴展性。

    總之,RAG 應用程序專門設計用于通過納入檢索機制來增強生成模型的能力;而人工智能體則是更廣泛的實體,可以自主執行各種任務。

    好了,說了那么多,我們接下來說說看,怎么用一些現有的技術,來構建一個 AI Agent。步驟很簡單,不過在那之前,我們先要介紹兩個工具,一個是 LangGraph,另一個是 Ollama。如果你知道它們,那么你可以跳過后面兩段介紹的內容。

    LangGraph 是什么?

    LangGraph 是一個功能強大的庫,用于使用大型語言模型(LLM)構建AI Agent應用程序。它可幫助創建涉及單個或多個AI Agent的復雜工作流,并提供循環、可控性和持久性等關鍵能力。

    主要優勢

    1. 循環和分支:與其他使用簡單有向無環圖(DAG)的框架不同,LangGraph 支持循環和條件,這對創建復雜的AI Agent行為至關重要。
    2. 細粒度控制:作為底層框架,LangGraph 可對應用程序的流程和狀態進行詳細控制,非常適合開發可靠的AI Agent。
    3. 持久性:它包括內置的持久性,允許在每一步后保存狀態、暫停和恢復執行,并支持錯誤恢復和人在環工作流等高級功能。

    特點

    • 循環和分支:在應用程序中實施循環和條件。
    • 持久性:每一步后自動保存狀態,支持錯誤恢復。
    • 人在回路中:中斷執行以獲得人工批準或編輯。
    • 支持流式輸出:在每個節點產生輸出時進行流式輸出。
    • 與 LangChain 集成:與 LangChain 和 LangSmith 無縫集成,但也可獨立使用。

    LangGraph 受到 Pregel 和 Apache Beam 等技術的啟發,擁有類似 NetworkX 的用戶友好界面。它由 LangChain 公司開發,為構建可靠、先進的人工智能驅動應用程序提供了強大的工具。

    Ollama 是什么?

    Ollama 是一個開源項目,使在本地機器上運行 LLM 變得簡單易用。它提供了一個用戶友好型平臺,簡化了 LLM 技術的復雜性,使那些希望利用人工智能強大功能的用戶可以輕松訪問和定制 LLM,而不需要大量專業技術知識。

    Ollama 易于安裝,并提供多種型號和一整套旨在提升用戶體驗的特性和功能。

    主要功能

    1. 本地部署:直接在本地計算機上運行復雜的 LLM,確保數據隱私并減少對外部服務器的依賴。
    2. 用戶友好界面:設計直觀、易于使用,使不同技術知識水平的用戶都能使用。
    3. 可定制性:對人工智能模型進行微調,以滿足您的特定需求,無論是用于研究、開發還是個人項目。
    4. 開源:作為開放源代碼,Ollama 鼓勵社區貢獻和持續改進,促進創新與合作。
    5. 輕松安裝:Ollama 以其用戶友好的安裝過程脫穎而出,為 Windows、macOS 和 Linux 用戶提供了直觀、省心的安裝方法。我們以前內容中講過關于下載和使用 Ollama 的內容
    6. Ollama 社區:Ollama 有一個活躍的、以項目為驅動、促進合作與創新的社區。

    使用 LangGraph 和 Ollama 創建人工智能體

    我們將使用 Mistral 模型創建一個簡單的AI Agent示例。該AI Agent可以使用 Tavily Search API 搜索網絡并生成響應。我們將從安裝 LangGraph 開始,這是一個專為使用 LLM 構建有狀態多角色應用程序而設計的庫,是創建AI Agent和多AI Agent工作流的理想選擇。該庫受 Pregel、Apache Beam 和 NetworkX 的啟發,由 LangChain 公司開發,可獨立于 LangChain 使用。

    ollama
    啟動并運行 Llama 2、Mistral、Gemma 和其他大型語言模型。
    項目地址:https:///gh_mirrors/oll/ollama

    我們將使用 Mistral 作為我們的 LLM 模型,該模型將與 Ollama 和 Tavily 的搜索 API 集成。Tavily 的 API 針對 LLM 進行了優化,可提供真實、高效、持久的搜索體驗。

    在之前一篇文章中,我們學習了如何使用 Ollama 來使用 Qwen2。請跟隨文章安裝 Ollama 以及如何使用 Ollama 運行 LLM

    在開始安裝之前,讓我們先檢查一下 GPU。在本教程中,我們將使用 Paperspace 提供的 A100 GPU。NVIDIA A100 GPU 是專為人工智能、數據分析和高性能計算而設計的處理器。它基于NVIDIA Ampere 架構,主要功能包括多實例 GPU (MIG) 技術,以實現最佳資源利用、用于人工智能和機器學習工作負載的 Tensor 核心以及對大規模部署的支持。 Paperspace是 DigitalOcean 旗下的 GPU 云服務,提供包括 H100、A100、A5000 等一系列 GPU 云資源,同時它也是 NVIDIA 的高級合作伙伴,在中國地區Paperspace 通過 DigitalOcean 中國區獨家戰略合作伙伴卓普云提供技術支持與售前咨詢服務

    具體如何啟動一臺 A100 的主機,可以看我們之前發的教程?,雖然教程講的是H100,但是步驟一樣。在啟動實例之后,可以?跟著下述步驟繼續進行。?

    檢查 GPU 配置

    打開終端,輸入以下代碼:

    nvidia-smi

    安裝 LangGraph 和相關庫

    pip install -U langgraph
    pip install -U langchain-nomic langchain_community tiktoken langchainhub chromadb langchain langgraph tavily-python
    pip install langchain-openai

    完成安裝后,我們將進入下一個關鍵步驟:提供 Tavily API 密鑰

    注冊 Travily 并生成 API 密鑰:

    export TAVILY_API_KEY="apikeygoeshere"

    現在,我們將運行下面的代碼來獲取模型。請嘗試使用 Llama 或任何其他版本的 Mistral。

    使用 Llama 或任何其他版本的 Mistral:

    ollama pull mistral

    導入構建AI Agent所需的庫

    from langchain import hub
    from langchain_community.tools.tavily_search import TavilySearchResults
    from langchain.prompts import PromptTemplate
    from langgraph.prebuilt import create_react_agent
    from langchain_openai import ChatOpenAI
    from langchain_core.output_parsers import JsonOutputParser
    from langchain_community.chat_models import ChatOllama

    我們將首先定義要使用的工具,并將這些工具與 LLM 綁定。在這個簡單的示例中,我們將通過 Tavily 使用內置的搜索工具。

    tools = [TavilySearchResults(max_results=3)]
    llm_with_tools = llm.bind_tools(tools)

    下面的代碼片段檢索提示模板并以可讀格式打印出來。然后可以根據應用程序的需要使用或修改該模板。

    prompt = hub.pull("wfh/react-agent-executor")
    prompt.pretty_print()

    使用 Ollama 平臺配置 Mistral

    llm = ChatOpenAI(model="mistral", api_key="ollama", base_url="http://localhost:11434/v1")

    最后,我們將使用 LLM、一組工具 和提示模板 (prompt) 創建一個AI Agent執行器。該AI Agent被配置為對輸入做出反應,利用這些工具,并根據指定的提示生成響應,從而能夠以可控和高效的方式執行任務。

    agent_executor = create_react_agent(llm, tools, messages_modifier=prompt)
    
    ================================ System Message ================================
    
    You are a helpful assistant.
    
    ============================= Messages Placeholder =============================
    
    {{messages}}

    給定的代碼片段調用AI Agent執行器來處理輸入消息。此步驟旨在向AI Agent執行器發送查詢并接收響應。AI Agent將使用其配置的語言模型(在本示例中為 Mistral)、工具和提示來處理消息并生成適當的回復。

    response = agent_executor.invoke({"messages": [("user", "explain artificial intelligence")]})
    for message in response['messages']:
        print(message.content)

    AI Agent將生成以下響應。

    小結

    LangGraph 以及 AI Agents 和 Ollama 等工具代表著在開發和部署本地化人工智能解決方案方面向前邁出的重要一步。通過利用 LangGraph 簡化各種人工智能組件的能力及其模塊化架構,開發人員可以創建多用途、可擴展的人工智能解決方案,既高效又能高度適應不斷變化的需求。

    人工智能體為任務自動化和提高生產力提供了一種靈活的方法。這些AI Agent可以定制來處理各種功能,從簡單的任務自動化到復雜的決策過程,使其成為現代企業不可或缺的工具。

    作為該生態系統的一部分,Ollama 通過提供專門的工具和服務來補充 LangGraph 的能力,從而提供額外的支持。總之,LangGraph 和 Ollama 的集成為構建高效的人工智能體提供了一個強大的框架。對于希望利用這些技術的潛力推動創新并在不斷發展的人工智能領域實現目標的任何人來說,希望本篇教程能給大家一些參考。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 特级毛片A级毛片免费播放 | 在线看片无码永久免费视频| 国产精品毛片无码| 虎白女粉嫩尤物福利视频| 少妇高潮水多太爽了动态图| 国内精品久久久久影院蜜芽| 一本一道av中文字幕无码| 99RE6热在线精品视频观看| 一本一道VS无码中文字幕| 潮喷失禁大喷水无码| 亚洲AV区无码字幕中文色 | 国产午夜福利免费入口| 国产又黄又湿又刺激网站| 国产成人精品午夜福利| 欧美成人一卡二卡三卡四卡 | 人妻中文字幕不卡精品| 丰满少妇人妻HD高清大乳| 欧美成人家庭影院| 国产97视频人人做人人爱| 亚洲精品爆乳一区二区H| 亚洲欧美中文字幕日韩一区二区 | 大香区一二三四区2021| 人妻丝袜AV中文系列先锋影音| 久久一区二区中文字幕| 狠狠色噜噜狠狠狠狠7777米奇| 性饥渴少妇AV无码毛片| 国产国拍亚洲精品永久软件| 52熟女露脸国语对白视频| 午夜免费无码福利视频麻豆| 97久久天天综合色天天综合色HD | 欧美白妞大战非洲大炮| 国产精品久久久尹人香蕉| 亚洲av成人无码精品电影在线| 怡红院一区二区三区在线| 国产V亚洲V天堂无码久久久 | 无码A级毛片免费视频下载| 四虎国产精品永久在线| 亚洲色欲色欲WWW成人网| GV无码免费无禁网站男男| 国产一区在线播放av| 久久久久亚洲AV成人网人人软件|