Skip to content

Commit 0d273af

Browse files
committed
refactor(langchain): migrate imports to canonical langchain-core paths
Migrate all imports from deprecated proxy paths to canonical langchain-core paths to ensure compatibility with LangChain 1.x. Changes include: - Use `from langchain_core.language_models import BaseLLM, BaseChatModel` - Remove proxy imports from `langchain.chat_models.base` - Standardize submodule imports to top-level langchain_core.language_models This ensures forward compatibility with LangChain 1.x where proxy imports from the main langchain package will be removed.
1 parent d80ef5e commit 0d273af

File tree

27 files changed

+84
-65
lines changed

27 files changed

+84
-65
lines changed

nemoguardrails/actions/llm/generation.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@
2828

2929
from jinja2 import meta
3030
from jinja2.sandbox import SandboxedEnvironment
31-
from langchain_core.language_models import BaseChatModel
32-
from langchain_core.language_models.llms import BaseLLM
31+
from langchain_core.language_models import BaseChatModel, BaseLLM
3332

3433
from nemoguardrails.actions.actions import ActionResult, action
3534
from nemoguardrails.actions.llm.utils import (

nemoguardrails/actions/v2_x/generation.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@
2121
from ast import literal_eval
2222
from typing import Any, Dict, List, Optional, Tuple, Union, cast
2323

24-
from langchain_core.language_models import BaseChatModel
25-
from langchain_core.language_models.llms import BaseLLM
24+
from langchain_core.language_models import BaseChatModel, BaseLLM
2625
from rich.text import Text
2726

2827
from nemoguardrails.actions.actions import action

nemoguardrails/library/content_safety/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import logging
1717
from typing import Dict, Optional
1818

19-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
2020

2121
from nemoguardrails.actions.actions import action
2222
from nemoguardrails.actions.llm.utils import llm_call

nemoguardrails/library/factchecking/align_score/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import logging
1717
from typing import Optional
1818

19-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
2020

2121
from nemoguardrails import RailsConfig
2222
from nemoguardrails.actions import action

nemoguardrails/library/hallucination/actions.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,8 @@
1616
import logging
1717
from typing import Optional
1818

19-
from langchain.chains import LLMChain
20-
from langchain.prompts import PromptTemplate
21-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
20+
from langchain_core.prompts import PromptTemplate
2221

2322
from nemoguardrails import RailsConfig
2423
from nemoguardrails.actions import action
@@ -72,7 +71,7 @@ async def self_check_hallucination(
7271
f"Current LLM engine is {type(llm).__name__}, which may not support all features."
7372
)
7473

75-
if "n" not in llm.__fields__:
74+
if "n" not in llm.model_fields:
7675
log.warning(
7776
f"LLM engine {type(llm).__name__} does not support the 'n' parameter for generating multiple completion choices. "
7877
f"Please use an OpenAI LLM engine or a model that supports the 'n' parameter for optimal performance."
@@ -81,16 +80,16 @@ async def self_check_hallucination(
8180

8281
# Use the "generate" call from langchain to get all completions in the same response.
8382
last_bot_prompt = PromptTemplate(template="{text}", input_variables=["text"])
84-
chain = LLMChain(prompt=last_bot_prompt, llm=llm)
83+
84+
# Format the prompt manually
85+
formatted_prompt = last_bot_prompt.format(text=last_bot_prompt_string)
8586

8687
# Generate multiple responses with temperature 1.
87-
# Use chain.with_config for runtime parameters
88-
configured_chain = chain.with_config(
89-
configurable={"temperature": 1.0, "n": num_responses}
90-
)
91-
extra_llm_response = await configured_chain.agenerate(
92-
[{"text": last_bot_prompt_string}],
93-
run_manager=logging_callback_manager_for_chain,
88+
# Bind the config parameters to the LLM for this call
89+
llm_with_config = llm.bind(temperature=1.0, n=num_responses)
90+
extra_llm_response = await llm_with_config.agenerate(
91+
[formatted_prompt],
92+
callbacks=[logging_callback_manager_for_chain],
9493
)
9594

9695
extra_llm_completions = []

nemoguardrails/library/llama_guard/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import logging
1717
from typing import List, Optional, Tuple
1818

19-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
2020

2121
from nemoguardrails.actions import action
2222
from nemoguardrails.actions.llm.utils import llm_call

nemoguardrails/library/patronusai/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from typing import List, Literal, Optional, Tuple, Union
2020

2121
import aiohttp
22-
from langchain_core.language_models.llms import BaseLLM
22+
from langchain_core.language_models import BaseLLM
2323

2424
from nemoguardrails.actions import action
2525
from nemoguardrails.actions.llm.utils import llm_call

nemoguardrails/library/self_check/facts/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import logging
1717
from typing import Optional
1818

19-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
2020

2121
from nemoguardrails import RailsConfig
2222
from nemoguardrails.actions import action

nemoguardrails/library/self_check/input_check/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import logging
1717
from typing import Optional
1818

19-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
2020

2121
from nemoguardrails import RailsConfig
2222
from nemoguardrails.actions.actions import ActionResult, action

nemoguardrails/library/self_check/output_check/actions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
import logging
1717
from typing import Optional
1818

19-
from langchain_core.language_models.llms import BaseLLM
19+
from langchain_core.language_models import BaseLLM
2020

2121
from nemoguardrails import RailsConfig
2222
from nemoguardrails.actions import action

0 commit comments

Comments
 (0)