refactor: 适配了 langchain v1 版本,但并引入新特性,仅无兼容性错误

This commit is contained in:
Wenjie Zhang 2025-10-23 01:39:01 +08:00
parent 0ee327cb97
commit d56cec5002
11 changed files with 21 additions and 21 deletions

View File

@ -5,8 +5,8 @@ description = "Add your description here"
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"arxiv>=2.2.0",
"asyncpg>=0.30.0",
"langchain==1.0",
"chromadb>=1.0.15",
"colorlog>=6.9.0",
"dashscope>=1.23.2",
@ -19,8 +19,7 @@ dependencies = [
"langchain-openai>=0.3.14",
"langchain-tavily>=0.2.3",
"langchain-text-splitters>=0.3.9",
"langchain-together>=0.3.0",
"langgraph>=0.3.34",
"langgraph==1.0.1",
"langgraph-checkpoint-sqlite>=2.0.7",
"langgraph-cli[inmem]>=0.1.54",
"langsmith>=0.3.37",

View File

@ -7,7 +7,7 @@ from pathlib import Path
from fastapi import APIRouter, Body, Depends, HTTPException
from fastapi.responses import StreamingResponse
from langchain_core.messages import AIMessageChunk, HumanMessage
from langchain.messages import AIMessageChunk, HumanMessage
from pydantic import BaseModel
from sqlalchemy.orm import Session

View File

@ -1,6 +1,6 @@
from typing import Any, cast
from langchain_core.messages import AIMessage, ToolMessage
from langchain.messages import AIMessage, ToolMessage
from langgraph.graph import END, START, StateGraph
from langgraph.prebuilt import ToolNode, tools_condition
from langgraph.runtime import Runtime

View File

@ -6,7 +6,7 @@ from collections.abc import Sequence
from dataclasses import dataclass, field
from typing import Annotated
from langchain_core.messages import AnyMessage
from langchain.messages import AnyMessage
from langgraph.graph import add_messages

View File

@ -2,7 +2,7 @@ import os
from typing import Any
import requests
from langchain_core.tools import tool
from langchain.tools import tool
from src.agents.common.toolkits.mysql import get_mysql_tools
from src.agents.common.tools import get_buildin_tools

View File

@ -1,7 +1,7 @@
import os
import traceback
from langchain_core.language_models import BaseChatModel
from langchain.chat_models import BaseChatModel
from pydantic import SecretStr
from src import config
@ -37,15 +37,15 @@ def load_chat_model(fully_specified_name: str, **kwargs) -> BaseChatModel:
stream_usage=True,
)
elif provider == "together":
from langchain_together import ChatTogether
# elif provider == "together":
# from langchain_together import ChatTogether
return ChatTogether(
model=model,
api_key=SecretStr(api_key),
base_url=base_url,
stream_usage=True,
)
# return ChatTogether(
# model=model,
# api_key=SecretStr(api_key),
# base_url=base_url,
# stream_usage=True,
# )
else:
try: # 其他模型默认使用OpenAIBase, like openai, zhipuai

View File

@ -1,6 +1,6 @@
from typing import Annotated, Any
from langchain_core.tools import tool
from langchain.tools import tool
from pydantic import BaseModel, Field
from src.utils import logger

View File

@ -2,7 +2,8 @@ import asyncio
import traceback
from typing import Annotated, Any
from langchain_core.tools import StructuredTool, tool
from langchain.tools import tool
from langchain_core.tools import StructuredTool
from langchain_tavily import TavilySearch
from pydantic import BaseModel, Field

View File

@ -1,6 +1,6 @@
from datetime import UTC, datetime
from langchain_core.messages import AIMessageChunk, ToolMessage
from langchain.messages import AIMessageChunk, ToolMessage
from langchain_core.runnables import RunnableConfig
from src.agents.common.base import BaseAgent

View File

@ -1,6 +1,6 @@
from pathlib import Path
from langchain_core.messages import AnyMessage, SystemMessage
from langchain.messages import AnyMessage, SystemMessage
from langgraph.prebuilt import create_react_agent
from langgraph.runtime import get_runtime

View File

@ -2,7 +2,7 @@ import asyncio
import os
from pathlib import Path
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.document_loaders import (
CSVLoader,
JSONLoader,