Fix secret_from_env import error for langchain v0.2
Browse files- Remove deprecated secret_from_env import from langchain_core.utils.utils
- Simplify ChatOpenRouter class to use direct os.environ.get()
- Remove unused Pydantic Field and SecretStr imports
- Fix ImportError with langchain-core 0.2.x compatibility
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
app.py
CHANGED
@@ -17,26 +17,21 @@ from langchain.text_splitter import RecursiveCharacterTextSplitter
|
|
17 |
from langchain.schema import Document
|
18 |
from langchain_openai import ChatOpenAI
|
19 |
from langchain_core.prompts import PromptTemplate
|
20 |
-
from langchain_core.utils.utils import secret_from_env
|
21 |
from langchain.chains import LLMChain
|
22 |
|
23 |
# Load environment variables
|
24 |
load_dotenv()
|
25 |
|
26 |
class ChatOpenRouter(ChatOpenAI):
|
27 |
-
openai_api_key: Optional[SecretStr] = Field(
|
28 |
-
alias="api_key", default_factory=lambda: secret_from_env("OPENROUTER_API_KEY", default=None)
|
29 |
-
)
|
30 |
-
|
31 |
-
@property
|
32 |
-
def lc_secrets(self) -> dict[str, str]:
|
33 |
-
return {"openai_api_key": "OPENROUTER_API_KEY"}
|
34 |
-
|
35 |
def __init__(self,
|
36 |
openai_api_key: Optional[str] = None,
|
37 |
**kwargs):
|
38 |
openai_api_key = openai_api_key or os.environ.get("OPENROUTER_API_KEY")
|
39 |
-
super().__init__(
|
|
|
|
|
|
|
|
|
40 |
|
41 |
# Initialize OpenRouter model
|
42 |
openrouter_model = ChatOpenRouter(
|
|
|
17 |
from langchain.schema import Document
|
18 |
from langchain_openai import ChatOpenAI
|
19 |
from langchain_core.prompts import PromptTemplate
|
|
|
20 |
from langchain.chains import LLMChain
|
21 |
|
22 |
# Load environment variables
|
23 |
load_dotenv()
|
24 |
|
25 |
class ChatOpenRouter(ChatOpenAI):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
def __init__(self,
|
27 |
openai_api_key: Optional[str] = None,
|
28 |
**kwargs):
|
29 |
openai_api_key = openai_api_key or os.environ.get("OPENROUTER_API_KEY")
|
30 |
+
super().__init__(
|
31 |
+
base_url="https://openrouter.ai/api/v1",
|
32 |
+
openai_api_key=openai_api_key,
|
33 |
+
**kwargs
|
34 |
+
)
|
35 |
|
36 |
# Initialize OpenRouter model
|
37 |
openrouter_model = ChatOpenRouter(
|