nvidia-nat-langchain 1.3a20250819__py3-none-any.whl → 1.3.0a20250823__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,23 +12,23 @@
12
12
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
- # pylint: disable=unused-argument
16
15
 
17
16
  from nat.builder.builder import Builder
18
17
  from nat.builder.framework_enum import LLMFrameworkEnum
19
18
  from nat.cli.register_workflow import register_embedder_client
20
19
  from nat.data_models.retry_mixin import RetryMixin
20
+ from nat.embedder.azure_openai_embedder import AzureOpenAIEmbedderModelConfig
21
21
  from nat.embedder.nim_embedder import NIMEmbedderModelConfig
22
22
  from nat.embedder.openai_embedder import OpenAIEmbedderModelConfig
23
23
  from nat.utils.exception_handlers.automatic_retries import patch_with_retry
24
24
 
25
25
 
26
- @register_embedder_client(config_type=OpenAIEmbedderModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
27
- async def openai_langchain(embedder_config: OpenAIEmbedderModelConfig, builder: Builder):
26
+ @register_embedder_client(config_type=AzureOpenAIEmbedderModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
27
+ async def azure_openai_langchain(embedder_config: AzureOpenAIEmbedderModelConfig, builder: Builder):
28
28
 
29
- from langchain_openai import OpenAIEmbeddings
29
+ from langchain_openai import AzureOpenAIEmbeddings
30
30
 
31
- client = OpenAIEmbeddings(**embedder_config.model_dump(exclude={"type"}, by_alias=True))
31
+ client = AzureOpenAIEmbeddings(**embedder_config.model_dump(exclude={"type"}, by_alias=True))
32
32
 
33
33
  if isinstance(embedder_config, RetryMixin):
34
34
  client = patch_with_retry(client,
@@ -53,3 +53,19 @@ async def nim_langchain(embedder_config: NIMEmbedderModelConfig, builder: Builde
53
53
  retry_on_messages=embedder_config.retry_on_errors)
54
54
 
55
55
  yield client
56
+
57
+
58
+ @register_embedder_client(config_type=OpenAIEmbedderModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
59
+ async def openai_langchain(embedder_config: OpenAIEmbedderModelConfig, builder: Builder):
60
+
61
+ from langchain_openai import OpenAIEmbeddings
62
+
63
+ client = OpenAIEmbeddings(**embedder_config.model_dump(exclude={"type"}, by_alias=True))
64
+
65
+ if isinstance(embedder_config, RetryMixin):
66
+ client = patch_with_retry(client,
67
+ retries=embedder_config.num_retries,
68
+ retry_codes=embedder_config.retry_on_status_codes,
69
+ retry_on_messages=embedder_config.retry_on_errors)
70
+
71
+ yield client
@@ -18,17 +18,18 @@ from nat.builder.framework_enum import LLMFrameworkEnum
18
18
  from nat.cli.register_workflow import register_llm_client
19
19
  from nat.data_models.retry_mixin import RetryMixin
20
20
  from nat.llm.aws_bedrock_llm import AWSBedrockModelConfig
21
+ from nat.llm.azure_openai_llm import AzureOpenAIModelConfig
21
22
  from nat.llm.nim_llm import NIMModelConfig
22
23
  from nat.llm.openai_llm import OpenAIModelConfig
23
24
  from nat.utils.exception_handlers.automatic_retries import patch_with_retry
24
25
 
25
26
 
26
- @register_llm_client(config_type=NIMModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
27
- async def nim_langchain(llm_config: NIMModelConfig, builder: Builder):
27
+ @register_llm_client(config_type=AWSBedrockModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
28
+ async def aws_bedrock_langchain(llm_config: AWSBedrockModelConfig, _builder: Builder):
28
29
 
29
- from langchain_nvidia_ai_endpoints import ChatNVIDIA
30
+ from langchain_aws import ChatBedrockConverse
30
31
 
31
- client = ChatNVIDIA(**llm_config.model_dump(exclude={"type"}, by_alias=True))
32
+ client = ChatBedrockConverse(**llm_config.model_dump(exclude={"type", "context_size"}, by_alias=True))
32
33
 
33
34
  if isinstance(llm_config, RetryMixin):
34
35
  client = patch_with_retry(client,
@@ -39,18 +40,28 @@ async def nim_langchain(llm_config: NIMModelConfig, builder: Builder):
39
40
  yield client
40
41
 
41
42
 
42
- @register_llm_client(config_type=OpenAIModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
43
- async def openai_langchain(llm_config: OpenAIModelConfig, builder: Builder):
43
+ @register_llm_client(config_type=AzureOpenAIModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
44
+ async def azure_openai_langchain(llm_config: AzureOpenAIModelConfig, _builder: Builder):
44
45
 
45
- from langchain_openai import ChatOpenAI
46
+ from langchain_openai import AzureChatOpenAI
46
47
 
47
- # Default kwargs for OpenAI to include usage metadata in the response. If the user has set stream_usage to False, we
48
- # will not include this.
49
- default_kwargs = {"stream_usage": True}
48
+ client = AzureChatOpenAI(**llm_config.model_dump(exclude={"type"}, by_alias=True))
50
49
 
51
- kwargs = {**default_kwargs, **llm_config.model_dump(exclude={"type"}, by_alias=True)}
50
+ if isinstance(llm_config, RetryMixin):
51
+ client = patch_with_retry(client,
52
+ retries=llm_config.num_retries,
53
+ retry_codes=llm_config.retry_on_status_codes,
54
+ retry_on_messages=llm_config.retry_on_errors)
52
55
 
53
- client = ChatOpenAI(**kwargs)
56
+ yield client
57
+
58
+
59
+ @register_llm_client(config_type=NIMModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
60
+ async def nim_langchain(llm_config: NIMModelConfig, _builder: Builder):
61
+
62
+ from langchain_nvidia_ai_endpoints import ChatNVIDIA
63
+
64
+ client = ChatNVIDIA(**llm_config.model_dump(exclude={"type"}, by_alias=True))
54
65
 
55
66
  if isinstance(llm_config, RetryMixin):
56
67
  client = patch_with_retry(client,
@@ -61,12 +72,18 @@ async def openai_langchain(llm_config: OpenAIModelConfig, builder: Builder):
61
72
  yield client
62
73
 
63
74
 
64
- @register_llm_client(config_type=AWSBedrockModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
65
- async def aws_bedrock_langchain(llm_config: AWSBedrockModelConfig, builder: Builder):
75
+ @register_llm_client(config_type=OpenAIModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
76
+ async def openai_langchain(llm_config: OpenAIModelConfig, _builder: Builder):
66
77
 
67
- from langchain_aws import ChatBedrockConverse
78
+ from langchain_openai import ChatOpenAI
68
79
 
69
- client = ChatBedrockConverse(**llm_config.model_dump(exclude={"type", "context_size"}, by_alias=True))
80
+ # Default kwargs for OpenAI to include usage metadata in the response. If the user has set stream_usage to False, we
81
+ # will not include this.
82
+ default_kwargs = {"stream_usage": True}
83
+
84
+ kwargs = {**default_kwargs, **llm_config.model_dump(exclude={"type"}, by_alias=True)}
85
+
86
+ client = ChatOpenAI(**kwargs)
70
87
 
71
88
  if isinstance(llm_config, RetryMixin):
72
89
  client = patch_with_retry(client,
@@ -13,7 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- # pylint: disable=unused-import
17
16
  # flake8: noqa
18
17
  # isort:skip_file
19
18
 
@@ -24,7 +24,7 @@ logger = logging.getLogger(__name__)
24
24
 
25
25
 
26
26
  @register_tool_wrapper(wrapper_type=LLMFrameworkEnum.LANGCHAIN)
27
- def langchain_tool_wrapper(name: str, fn: Function, builder: Builder): # pylint: disable=unused-argument
27
+ def langchain_tool_wrapper(name: str, fn: Function, builder: Builder):
28
28
 
29
29
  import asyncio
30
30
 
@@ -13,7 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- # pylint: disable=unused-import
17
16
  # flake8: noqa
18
17
  # isort:skip_file
19
18
 
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nvidia-nat-langchain
3
- Version: 1.3a20250819
3
+ Version: 1.3.0a20250823
4
4
  Summary: Subpackage for LangChain and LangGraph integration in NeMo Agent toolkit
5
5
  Keywords: ai,rag,agents
6
6
  Classifier: Programming Language :: Python
7
7
  Requires-Python: <3.13,>=3.11
8
8
  Description-Content-Type: text/markdown
9
- Requires-Dist: nvidia-nat==v1.3a20250819
9
+ Requires-Dist: nvidia-nat==v1.3.0a20250823
10
10
  Requires-Dist: langchain-aws~=0.2.1
11
11
  Requires-Dist: langchain-core~=0.3.7
12
12
  Requires-Dist: langchain-nvidia-ai-endpoints~=0.3.5
@@ -0,0 +1,17 @@
1
+ nat/meta/pypi.md,sha256=-RewrXPwhrT6398iluvXb5lefn18PybmvRFhmZF7KVI,1124
2
+ nat/plugins/langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ nat/plugins/langchain/embedder.py,sha256=7bHXRcLwCeqG6ZQZQ35UAb46k5bN3UUL02OtG7RdL4Y,3282
4
+ nat/plugins/langchain/llm.py,sha256=HJZsk0i72ZN0QTb1hZSUV4IsLmE0Ab0JOYYnvtqJfno,4013
5
+ nat/plugins/langchain/register.py,sha256=jgq6wSJoGQIZFJhS8RbUs25cLgNJjCkFu4M6qaWJS_4,906
6
+ nat/plugins/langchain/retriever.py,sha256=SWbXXOezEUuPACnmSSU497NAmEVEMj2SrFJGodkRg34,2644
7
+ nat/plugins/langchain/tool_wrapper.py,sha256=Zgb2_XB4bEhjPPeqS-ZH_OJT_pcQmteX7u03N_qCLfc,2121
8
+ nat/plugins/langchain/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ nat/plugins/langchain/tools/code_generation_tool.py,sha256=qL3HBiOQzVPLw4EiUOWeswckuVX8ynG2UQXYBLxR_gI,2724
10
+ nat/plugins/langchain/tools/register.py,sha256=uemxqLxcNk1bGX4crV52oMphLTZWonStzkXwTZeG2Rw,889
11
+ nat/plugins/langchain/tools/tavily_internet_search.py,sha256=AnnLRY1xSU4DOzxbB8nFZRjHngXpqatPVOJ7yWV7jVw,2612
12
+ nat/plugins/langchain/tools/wikipedia_search.py,sha256=431YwLsjoC_mdvMZ_gY0Q37Uqaue2ASnAHpwr4jWCaU,2197
13
+ nvidia_nat_langchain-1.3.0a20250823.dist-info/METADATA,sha256=bTAstne4m5cQa3woZDXX7Qteo1G4VNwn0-GoEGPysgg,1735
14
+ nvidia_nat_langchain-1.3.0a20250823.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
+ nvidia_nat_langchain-1.3.0a20250823.dist-info/entry_points.txt,sha256=4deXsMn97I012HhDw0UjoqcZ8eEoZ7BnqaRx5QmzebY,123
16
+ nvidia_nat_langchain-1.3.0a20250823.dist-info/top_level.txt,sha256=8-CJ2cP6-f0ZReXe5Hzqp-5pvzzHz-5Ds5H2bGqh1-U,4
17
+ nvidia_nat_langchain-1.3.0a20250823.dist-info/RECORD,,
@@ -1,17 +0,0 @@
1
- nat/meta/pypi.md,sha256=-RewrXPwhrT6398iluvXb5lefn18PybmvRFhmZF7KVI,1124
2
- nat/plugins/langchain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- nat/plugins/langchain/embedder.py,sha256=UcDB4GYY0vW3pUiFqqKhNMgAmEZdRSUJUazjThkPHuQ,2519
4
- nat/plugins/langchain/llm.py,sha256=i_DffRmQ9PEELuXFYR2ouU0LRkPKAjwZi1z65xGrxws,3293
5
- nat/plugins/langchain/register.py,sha256=UwxFY-HsZ5n32XPpqDtLvBamiw1Pdavtf2oYSK_XGtY,938
6
- nat/plugins/langchain/retriever.py,sha256=SWbXXOezEUuPACnmSSU497NAmEVEMj2SrFJGodkRg34,2644
7
- nat/plugins/langchain/tool_wrapper.py,sha256=dLK09a8lrmytNkIuhTaSByuLdW23aVmIcr3REyuJTMA,2156
8
- nat/plugins/langchain/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- nat/plugins/langchain/tools/code_generation_tool.py,sha256=qL3HBiOQzVPLw4EiUOWeswckuVX8ynG2UQXYBLxR_gI,2724
10
- nat/plugins/langchain/tools/register.py,sha256=3cf4RH2tQ_qOtZviwXQUqK5dKiVUJQYach4djxGpcOU,921
11
- nat/plugins/langchain/tools/tavily_internet_search.py,sha256=AnnLRY1xSU4DOzxbB8nFZRjHngXpqatPVOJ7yWV7jVw,2612
12
- nat/plugins/langchain/tools/wikipedia_search.py,sha256=431YwLsjoC_mdvMZ_gY0Q37Uqaue2ASnAHpwr4jWCaU,2197
13
- nvidia_nat_langchain-1.3a20250819.dist-info/METADATA,sha256=rCRoHydw9h8r9c297HJTEjtZx3yh8xHNsi5RCtQAJLc,1731
14
- nvidia_nat_langchain-1.3a20250819.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
- nvidia_nat_langchain-1.3a20250819.dist-info/entry_points.txt,sha256=4deXsMn97I012HhDw0UjoqcZ8eEoZ7BnqaRx5QmzebY,123
16
- nvidia_nat_langchain-1.3a20250819.dist-info/top_level.txt,sha256=8-CJ2cP6-f0ZReXe5Hzqp-5pvzzHz-5Ds5H2bGqh1-U,4
17
- nvidia_nat_langchain-1.3a20250819.dist-info/RECORD,,