
import os from dotenv import load_dotenv from langchain.chat_models import init_chat_model from langchain.agents import create_agent from langchain_core.messages import HumanMessage from langchain.tools import tool import getpass # 加載env環(huán)境文件變量 load_dotenv() # 自動(dòng)讀取.env文件配置 from langchain_tavily import TavilySearch # 創(chuàng)建TavilySearch工具 toolTavily TavilySearch( max_results5, topicgeneral, # include_answerFalse, # include_raw_contentFalse, # include_imagesFalse, # include_image_descriptionsFalse, # search_depthbasic, # time_rangeday, # include_domainsNone, # exclude_domainsNone ) # 創(chuàng)建工具 tool def search_database(query: str, limit: int 10) - str: 內(nèi)部旅游知識(shí)庫(kù)查詢工具 當(dāng)用戶詢問旅游攻略、城市出行相關(guān)問題時(shí)請(qǐng)調(diào)用此工具檢索資料 :param keyword: 用戶要查詢的關(guān)鍵詞 :return: 知識(shí)庫(kù)查到的文本內(nèi)容 # 內(nèi)部執(zhí)行向量庫(kù)檢索邏輯... result 北京春秋兩季最適合游玩 return result model init_chat_model( model_provideropenai, modelqwen-vl-plus, base_urlos.getenv(DASHSCOPE_BASE_URL), api_key os.getenv(DASHSCOPE_API_KEY) ) # 創(chuàng)建agent 并綁定工具和模型體 agent create_agent( modelmodel, tools[toolTavily] ) message HumanMessage( content[ {type: text, text: 北京今天氣溫多少度} ] ) stream agent.invoke({messages: [message]}) for msg in stream[messages]: msg.pretty_print()