成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于Langchain框架的Agent智能體實(shí)現(xiàn)之工具集成 原創(chuàng)

發(fā)布于 2025-6-3 08:42
瀏覽
0收藏

“ 工具調(diào)用是大模型智能體的核心理念,沒(méi)有工具就沒(méi)有智能體的存在。”

智能體開(kāi)發(fā)是大模型應(yīng)用中一個(gè)重要的概念,也是大模型應(yīng)用的未來(lái);而關(guān)于智能體的開(kāi)發(fā)有各種各樣的概念,但核心無(wú)非有兩個(gè)一個(gè)是函數(shù)調(diào)用,另一個(gè)就是工具的實(shí)現(xiàn)。

關(guān)于函數(shù)調(diào)用有兩種方式,其一是之前的function call,其二是現(xiàn)在比較火的MCP協(xié)議;不管是fc還是MCP目的都是讓大模型能夠調(diào)用外部的工具來(lái)實(shí)現(xiàn)具體的功能。而今天我們主要介紹的就是基于Langchain框架來(lái)實(shí)現(xiàn)各種工具。

基于Langchain框架的Agent智能體實(shí)現(xiàn)之工具集成-AI.x社區(qū)

基于Langchain的工具開(kāi)發(fā)

在智能體開(kāi)發(fā)中,工具是一個(gè)很重要的概念,操作數(shù)據(jù)庫(kù)需要數(shù)據(jù)庫(kù)工具,訪問(wèn)搜索引擎需要搜索工具等等;可以說(shuō)在智能體中所有的外部調(diào)用都是以工具的形式來(lái)體現(xiàn)的。

而在實(shí)際的開(kāi)發(fā)過(guò)程中,工具主要是以函數(shù)和服務(wù)的形式出現(xiàn);比如說(shuō)定義一個(gè)訪問(wèn)搜索引擎的工具,只需要封裝一個(gè)函數(shù);讓大模型自己去生成函數(shù)需要的參數(shù),最后再交給python引擎執(zhí)行,然后獲取結(jié)果。

而在Langchain中提供了大量的封裝好的工具給我們使用,如下圖所示:


基于Langchain框架的Agent智能體實(shí)現(xiàn)之工具集成-AI.x社區(qū)

Langchain中集成和封裝了大量的工具供大家使用,可以滿足不同的業(yè)務(wù)場(chǎng)景,比如說(shuō)有搜索,代碼解釋器,數(shù)據(jù)庫(kù)訪問(wèn)等多種類型。

下面以基于pandas的智能數(shù)據(jù)分析為例,演示怎么實(shí)現(xiàn)一個(gè)簡(jiǎn)單的excel數(shù)據(jù)分析。

首先需要安裝langchain相關(guān)的包

# 安裝包
pip install --upgrade langchain_openai pip install --upgrade langchain

langchain提供的操作pandas的函數(shù)主要是

create_pandas_dataframe_agent實(shí)例化pandas Agent

agent = create_pandas_dataframe_agent(self.llm, df_list, allow_dangerous_code=True, verbose=True)

完整代碼如下,當(dāng)然用戶也可以直接查看官方文檔自己手動(dòng)實(shí)現(xiàn)


文檔地址如下:


??https://python.langchain.ac.cn/docs/integrations/tools/pandas/??

import os
import logging
import pandas as pd
from langchain_experimental.agents.agent_toolkits import create_pandas_dataframe_agent
from langchain_openai import ChatOpenAI,OpenAI


# 需要換成你自己的參數(shù)
openai_api_key = "api_key"
openai_api_base = "openai_url"
model = "model"
# Adjust logging levels for specific libraries to reduce noise
logging.getLogger("openai").setLevel(logging.DEBUG)
logging.getLogger("langchain").setLevel(logging.DEBUG)
logging.getLogger("httpx").setLevel(logging.DEBUG)
logging.getLogger("httpcore").setLevel(logging.DEBUG)
logger = logging.getLogger(__name__)
logging.basicConfig(    
    level=logging.INFO,  # 設(shè)置日志級(jí)別為DEBUG    
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',  # 定義日志格式    
    datefmt='%Y-%m-%d %H:%M:%S'  # 定義時(shí)間格式
  )
  
  class LangChainPandas:    
      def __init__(self, model, temperature=0.8):        
        os.environ['OPENAI_API_KEY'] = openai_api_key        
        os.environ['OPENAI_API_BASE'] = openai_api_base        
        # self.llm = ChatOpenAI(model_name=model, verbose=True, temperature=temperature)        
        self.llm = OpenAI(model_name=model, openai_api_base=openai_api_base, openai_api_key=openai_api_key, temperature=temperature)    
        
      def create_agent(self, path_list):        
        df_list = [pd.read_excel(path) for path in path_list]        
        agent = create_pandas_dataframe_agent(self.llm, df_list, allow_dangerous_code=True, verbose=True)        
        # agent = create_pandas_dataframe_agent(        
            #     self.llm,        
            #     df,        
            #     verbose=True,        
            #     allow_dangerous_code=True,        
            #     agent_type=AgentType.OPENAI_FUNCTIONS,        
            # )        
        return agent    
        
        
      def chat(self, query, path_list):        
        agent = self.create_agent(path_list)        
        result = agent.invoke(query)        
        return result.get('output', "")


if __name__ == "__main__":    
  agent = LangChainPandas(model)    
  # excel文件路徑    
  path_list = ["path1", "path2"]    
  while True:        
    query = input("請(qǐng)輸入您的問(wèn)題: ")        
    result = agent.chat(query, path_list)        
    print(f"result: {result}")


?

本文轉(zhuǎn)載自??AI探索時(shí)代??? 作者:DFires


?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
主站蜘蛛池模板: 免费成人av | 亚洲网站免费看 | 女同久久另类99精品国产 | 亚洲一区视频在线 | 亚洲一区二区免费 | 97av视频在线观看 | 国产高清免费 | 九九亚洲 | 一级毛片成人免费看a | 99精品国产一区二区青青牛奶 | 91xh98hx 在线 国产 | 午夜影视在线观看 | 欧美激情一区二区 | 午夜爽爽爽男女免费观看 | 91社区视频 | 草久在线 | 精品国产一级片 | 国产一在线观看 | 2020国产在线 | 免费看91 | 国产精品一区二区三区久久 | 亚洲色图第一页 | 99精品视频一区二区三区 | 日日夜夜天天 | 美女视频网站久久 | 在线亚洲免费 | 国产精品视频一区二区三区四区国 | 国产精品毛片 | 欧美亚洲国产一区 | 91精品久久久久久久久99蜜臂 | 日韩字幕 | 九九久久免费视频 | 国产一区二区欧美 | 在线视频 欧美日韩 | 久久久久久久久综合 | 亚洲午夜视频 | 国产精品国产成人国产三级 | 99re在线观看 | 欧美小视频在线观看 | 欧美精品片 | 国产精品久久久久久久久久久免费看 |