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 <[email protected]>
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(
|