使用 GPT-4o 輕鬆建立自主型 AI 代理

在這篇部落格文章中,了解如何使用 Fi-data 框架輕鬆建立強大的自主 AI 代理。學習創建具有長期記憶、情境知識和通過函數調用採取行動能力的先進代理。優化您的 AI 系統以提高效率和生產力。

2025年2月14日

party-gif

探索使用 GPT-4o 構建自主 AI 代理的力量! 這篇部落格文章將引導您輕鬆創建能夠處理各種任務的智能助手,從網路搜索到財務分析和數據探索。解鎖尖端語言模型的潛力,為您的專案開啟新的可能性。

如何使用 GPT-4 建立自主型人工智慧代理

在本節中,我們將探討如何建立複雜的自主人工智慧系統,擁有長期記憶、情境知識和從函數呼叫中採取行動的能力。我們將使用Fi-data框架,它提供了一種強大的方式來創建具有函數呼叫功能的自主人工智慧助手。

首先,我們將創建一個沒有任何工具的基本助手。這個助手將使用GPT-4模型,這是目前市場上最好的模型之一。然後,我們可以為助手添加其他功能,例如使用Duco工具搜索網絡。

接下來,我們將建立一個金融助手,可以訪問各種工具,如雅虎財經,以獲取股票價格、推薦、公司信息和新聞。然後,我們將演示如何使用Hacker News API構建自己的自定義工具。

最後,我們將探索更複雜的助手,例如一個數據分析助手,可以使用DuckDB分析CSV和Parquet文件中的數據,以及一個研究助手,可以使用Exa搜索網絡並生成指定格式的報告。

在整個過程中,我們將強調簡潔和集中的重要性,確保內容易於理解和實施。這些示例的代碼可以在Fi-data存儲庫中找到,設置環境的步驟在README中提供。

建立基本助理

要構建一個基本的助手,我們首先需要從fidata庫中導入必要的組件。我們將使用LLMAssistant類來創建我們的助手。

from fidata.assistants.llm_assistant import LLMAssistant
from fidata.llms.openai import OpenAIChat

接下來,我們將創建一個LLMAssistant類的實例,將OpenAI GPT-4語言模型作為llm參數傳入。

assistant = LLMAssistant(llm=OpenAIChat(model_name="gpt-4"))

現在,我們可以定義助手的描述和說明。這些將用於設置語言模型的系統提示。

description = "你是一個有用的助手,任務是提供一個簡單的早餐食譜。"
instructions = "提供一個簡單的早餐食譜。"

最後,我們可以調用assistant對象的run方法,傳入描述和說明。這將執行助手並返回響應。

response = assistant.run(description=description, instructions=instructions)
print(response)

這將輸出由GPT-4語言模型生成的簡單早餐食譜。

添加網路搜尋功能

要為我們的人工智慧助手添加網絡搜索功能,我們將從f_tools模塊導入Duco工具。這個工具允許助手搜索網絡並檢索相關信息。

首先,我們將Duco工具添加到我們的助手中:

from f_tools.duco import Duco
assistant.add_tool(Duco())

接下來,我們將show_tool_calls參數設置為True,這樣我們就可以看到幕後發生的工具調用。

然後,我們給助手一個任務,搜索法國的新聞並寫一首簡短的詩歌:

assistant.run_task("搜索法國的新聞,並寫一首簡短的詩歌。")

如您所見,助手使用Duco工具檢索了法國的新聞,然後根據收集的信息生成了一首簡短的詩歌。這演示了助手如何利用網絡搜索功能來收集信息並使用它來完成任務。

創建金融助理

要創建一個金融助手,我們將使用F-tools庫中的雅虎財經工具。這個工具提供了對各種金融數據和功能的訪問,如獲取股票價格、公司信息、推薦和新聞。

首先,我們將導入必要的工具:

from f_tools.yahoo_finance import YahooFinance

接下來,我們將創建金融助手並將所需的工具添加到其中:

finance_assistant = Assistant(model=gpt4, name="Finance Assistant")
finance_assistant.add_tool(YahooFinance(
    get_stock_price=True,
    get_recommendations=True,
    get_company_info=True,
    get_company_news=True
))

在這個例子中,我們啟用了從雅虎財經工具獲取股票價格、推薦、公司信息和公司新聞的功能。

現在,我們可以給助手一些任務,比如獲取一家公司的股票價格,並撰寫兩家公司的比較:

finance_assistant.run_task("Nvidia的股票價格是多少?")
finance_assistant.run_task("使用所有可用的工具,比較Nvidia和AMD。")

助手將使用提供的工具收集必要的信息,並以Markdown格式生成一個全面的響應,以便更好地閱讀。

這個金融助手可以通過添加更多工具、調整工具配置或修改任務說明來進一步定制,以滿足您的特定需求。

建立自訂工具

Fi data框架的一個關鍵特性是能夠構建自定義工具,並將其集成到您的人工智慧代理中。這允許您擴展代理的功能,超越默認提供的工具,並根據您的具體需求定制它們。

在視頻中,創建者演示了如何構建一個自定義工具來訪問Hacker News API。以下是具體步驟:

  1. 描述將用於與API交互的函數,包括參數和返回值。
  2. 將該函數添加到Fi data助手,提供描述並指定輸入/輸出參數。
  3. 像使用默認工具一樣在助手的任務中使用自定義工具。

視頻還展示了如何啟用調試模式,它提供了助手內部過程的詳細日誌。這在排除故障或理解自定義工具的使用方式時非常有幫助。

總的來說,構建自定義工具是Fi data框架的一個強大功能,允許您創建高度專業化和自主的人工智慧代理,以滿足您的特定需求。

使用 DuckDB 分析數據

本節展示了助手如何利用DuckDB工具分析CSV和Parquet文件中的數據。助手展示了以下功能:

  1. 當表不存在時,自動將數據加載到表中。
  2. 運行SQL查詢來獲取電影平均評分,並生成評分直方圖。
  3. 根據數據選擇合適的直方圖桶大小。
  4. 以清晰簡潔的方式顯示SQL查詢和結果可視化。

助手能夠無縫集成DuckDB並以清晰的方式呈現分析結果,這證明了所演示框架的強大功能。本節突出了助手如何被賦予數據分析能力,以應對各種任務。

生成研究報告

助手被要求撰寫一份關於OpenGPT-4的研究報告。它遵循以下步驟:

  1. 使用Exa工具搜索網絡,找到10個最相關的OpenGPT-4鏈接。
  2. 仔細閱讀搜索結果。
  3. 按要求的結構準備一份格式良好的文章:
    • 大致大綱
    • 詳細報告,涵蓋OpenGPT-4的關鍵要點
  4. 將最終報告保存為名為"news_article.md"的Markdown文件。

助手展示了以下能力:

  • 進行網絡研究,收集相關信息
  • 將發現整合成結構化、優質的報告
  • 以Markdown格式編寫報告,提高可讀性
  • 按要求將輸出保存到文件

這展示了助手的研究能力、自然語言處理技能,以及按要求生成高質量成果的能力。

常問問題