diff --git a/server/agent/tools_factory/arxiv.py b/server/agent/tools_factory/arxiv.py index 5e91d35b..c8ee5ffc 100644 --- a/server/agent/tools_factory/arxiv.py +++ b/server/agent/tools_factory/arxiv.py @@ -1,9 +1,9 @@ # LangChain 的 ArxivQueryRun 工具 -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field from langchain.tools.arxiv.tool import ArxivQueryRun def arxiv(query: str): tool = ArxivQueryRun() return tool.run(tool_input=query) class ArxivInput(BaseModel): - query: str = Field(description="The search query title") \ No newline at end of file + query: str = Field(description="The search query title") diff --git a/server/agent/tools_factory/audio_factory/aqa.py b/server/agent/tools_factory/audio_factory/aqa.py index cb1c42d8..795690c6 100644 --- a/server/agent/tools_factory/audio_factory/aqa.py +++ b/server/agent/tools_factory/audio_factory/aqa.py @@ -1,6 +1,6 @@ import base64 import os -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field def save_base64_audio(base64_audio, file_path): audio_data = base64.b64decode(base64_audio) diff --git a/server/agent/tools_factory/calculate.py b/server/agent/tools_factory/calculate.py index 476784b5..a308cb43 100644 --- a/server/agent/tools_factory/calculate.py +++ b/server/agent/tools_factory/calculate.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field def calculate(a: float, b: float, operator: str) -> float: if operator == "+": diff --git a/server/agent/tools_factory/search_internet.py b/server/agent/tools_factory/search_internet.py index fb36ecf3..46ef28c3 100644 --- a/server/agent/tools_factory/search_internet.py +++ b/server/agent/tools_factory/search_internet.py @@ -1,4 +1,4 @@ -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field from langchain.utilities.bing_search import BingSearchAPIWrapper from langchain.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper from configs import TOOL_CONFIG diff --git a/server/agent/tools_factory/search_local_knowledgebase.py b/server/agent/tools_factory/search_local_knowledgebase.py index 68061815..c57a1cf4 100644 --- a/server/agent/tools_factory/search_local_knowledgebase.py +++ b/server/agent/tools_factory/search_local_knowledgebase.py @@ -1,5 +1,5 @@ from urllib.parse import urlencode -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field from server.knowledge_base.kb_doc_api import search_docs from configs import TOOL_CONFIG @@ -36,4 +36,4 @@ class SearchKnowledgeInput(BaseModel): def search_local_knowledgebase(database: str, query: str): tool_config = TOOL_CONFIG["search_local_knowledgebase"] - return search_knowledgebase(query=query, database=database, config=tool_config) \ No newline at end of file + return search_knowledgebase(query=query, database=database, config=tool_config) diff --git a/server/agent/tools_factory/search_youtube.py b/server/agent/tools_factory/search_youtube.py index 28b436b6..34a735ec 100644 --- a/server/agent/tools_factory/search_youtube.py +++ b/server/agent/tools_factory/search_youtube.py @@ -1,8 +1,8 @@ from langchain_community.tools import YouTubeSearchTool -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field def search_youtube(query: str): tool = YouTubeSearchTool() return tool.run(tool_input=query) class YoutubeInput(BaseModel): - query: str = Field(description="Query for Videos search") \ No newline at end of file + query: str = Field(description="Query for Videos search") diff --git a/server/agent/tools_factory/shell.py b/server/agent/tools_factory/shell.py index 7cf0ad2e..e7c41a4a 100644 --- a/server/agent/tools_factory/shell.py +++ b/server/agent/tools_factory/shell.py @@ -1,9 +1,9 @@ # LangChain 的 Shell 工具 -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field from langchain_community.tools import ShellTool def shell(query: str): tool = ShellTool() return tool.run(tool_input=query) class ShellInput(BaseModel): - query: str = Field(description="The command to execute") \ No newline at end of file + query: str = Field(description="The command to execute") diff --git a/server/agent/tools_factory/text2image.py b/server/agent/tools_factory/text2image.py index c6983666..99d9e2a5 100644 --- a/server/agent/tools_factory/text2image.py +++ b/server/agent/tools_factory/text2image.py @@ -6,7 +6,7 @@ from typing import List import uuid from langchain.agents import tool -from langchain.pydantic_v1 import Field +from pydantic.v1 import BaseModel, Field import openai from pydantic.fields import FieldInfo diff --git a/server/agent/tools_factory/vision_factory/vqa.py b/server/agent/tools_factory/vision_factory/vqa.py index af6691b1..d1c6a632 100644 --- a/server/agent/tools_factory/vision_factory/vqa.py +++ b/server/agent/tools_factory/vision_factory/vqa.py @@ -5,7 +5,7 @@ import base64 from io import BytesIO import torch from PIL import Image, ImageDraw -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field from configs import TOOL_CONFIG import re from server.agent.container import container diff --git a/server/agent/tools_factory/weather_check.py b/server/agent/tools_factory/weather_check.py index 954d74ee..c88d2786 100644 --- a/server/agent/tools_factory/weather_check.py +++ b/server/agent/tools_factory/weather_check.py @@ -1,7 +1,7 @@ """ 简单的单参数输入工具实现,用于查询现在天气的情况 """ -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field import requests def weather(location: str, api_key: str): diff --git a/server/agent/tools_factory/wolfram.py b/server/agent/tools_factory/wolfram.py index 6bdbe10e..784cfee4 100644 --- a/server/agent/tools_factory/wolfram.py +++ b/server/agent/tools_factory/wolfram.py @@ -1,6 +1,6 @@ # Langchain 自带的 Wolfram Alpha API 封装 from langchain.utilities.wolfram_alpha import WolframAlphaAPIWrapper -from pydantic import BaseModel, Field +from pydantic.v1 import BaseModel, Field wolfram_alpha_appid = "your key" def wolfram(query: str): wolfram = WolframAlphaAPIWrapper(wolfram_alpha_appid=wolfram_alpha_appid) @@ -8,4 +8,4 @@ def wolfram(query: str): return ans class WolframInput(BaseModel): - formula: str = Field(description="The formula to be calculated") \ No newline at end of file + formula: str = Field(description="The formula to be calculated")