update to pydantic v2 (#3486)

This commit is contained in:
liunux4odoo 2024-03-22 20:39:25 +08:00 committed by GitHub
parent d63bf0bda5
commit 51691ee008
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 22 additions and 23 deletions

View File

@ -28,7 +28,7 @@ tqdm>=4.66.1
websockets>=12.0
numpy>=1.26.3
pandas~=2.1.4
pydantic==1.10.14
pydantic==2.6.4
httpx[brotli,http2,socks]>=0.25.2
python-multipart==0.0.9

View File

@ -16,7 +16,7 @@ from langchain.output_parsers import OutputFixingParser
from langchain.schema import AgentAction, AgentFinish, OutputParserException
from langchain.schema.language_model import BaseLanguageModel
from langchain.tools.base import BaseTool
from server.pydantic_types import Field, typing, model_schema
from server.pydantic_v1 import Field, typing, model_schema
logger = logging.getLogger(__name__)

View File

@ -1,5 +1,5 @@
# LangChain 的 ArxivQueryRun 工具
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
from langchain.tools.arxiv.tool import ArxivQueryRun

View File

@ -1,6 +1,6 @@
import base64
import os
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
def save_base64_audio(base64_audio, file_path):
audio_data = base64.b64decode(base64_audio)

View File

@ -1,4 +1,4 @@
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
from langchain.utilities.bing_search import BingSearchAPIWrapper
from langchain.utilities.duckduckgo_search import DuckDuckGoSearchAPIWrapper
from configs import TOOL_CONFIG

View File

@ -1,5 +1,5 @@
from urllib.parse import urlencode
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
from server.knowledge_base.kb_doc_api import search_docs
from configs import TOOL_CONFIG

View File

@ -1,5 +1,5 @@
from langchain_community.tools import YouTubeSearchTool
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
def search_youtube(query: str):

View File

@ -1,5 +1,5 @@
# LangChain 的 Shell 工具
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
from langchain_community.tools import ShellTool

View File

@ -6,7 +6,7 @@ from typing import List
import uuid
from langchain.agents import tool
from server.pydantic_types import Field, FieldInfo
from server.pydantic_v1 import Field, FieldInfo
import openai
from configs.basic_config import MEDIA_PATH

View File

@ -4,7 +4,7 @@ Method Use cogagent to generate response for a given image and query.
import base64
from io import BytesIO
from PIL import Image, ImageDraw
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
from configs import TOOL_CONFIG
import re
from server.agent.container import container

View File

@ -1,7 +1,7 @@
"""
简单的单参数输入工具实现用于查询现在天气的情况
"""
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
import requests
def weather(location: str, api_key: str):

View File

@ -1,6 +1,6 @@
# Langchain 自带的 Wolfram Alpha API 封装
from langchain.utilities.wolfram_alpha import WolframAlphaAPIWrapper
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
wolfram_alpha_appid = "your key"

View File

@ -4,7 +4,7 @@ import re
from typing import Dict, List, Literal, Optional, Union
from fastapi import UploadFile
from server.pydantic_types import BaseModel, Field, AnyUrl, root_validator
from server.pydantic_v2 import BaseModel, Field, AnyUrl, root_validator
from openai.types.chat import (
ChatCompletionMessageParam,
ChatCompletionToolChoiceOptionParam,

View File

@ -1,5 +1,5 @@
from functools import lru_cache
from server.pydantic_types import BaseModel, Field
from server.pydantic_v1 import BaseModel, Field
from langchain.prompts.chat import ChatMessagePromptTemplate
from configs import logger, log_verbose
from typing import List, Tuple, Dict, Union

View File

@ -1,8 +0,0 @@
from langchain_core.pydantic_v1 import *
from pydantic.fields import FieldInfo
from pydantic.schema import model_schema
from pydantic.typing import typing
# from pydantic.v1 import *
# from pydantic.v1.fields import FieldInfo
# from pydantic.v1.schema import model_schema

4
server/pydantic_v1.py Normal file
View File

@ -0,0 +1,4 @@
from langchain_core.pydantic_v1 import *
from pydantic.v1.fields import FieldInfo
from pydantic.v1.schema import model_schema
from pydantic.v1.typing import typing

3
server/pydantic_v2.py Normal file
View File

@ -0,0 +1,3 @@
from pydantic import *
from pydantic.fields import FieldInfo
from pydantic import typing

View File

@ -27,7 +27,7 @@ import logging
from configs import (logger, log_verbose, HTTPX_DEFAULT_TIMEOUT,
DEFAULT_LLM_MODEL, DEFAULT_EMBEDDING_MODEL, TEMPERATURE)
from server.pydantic_types import BaseModel, Field
from server.pydantic_v2 import BaseModel, Field
from server.minx_chat_openai import MinxChatOpenAI # TODO: still used?