nvidia-nat-langchain 1.3.dev0__py3-none-any.whl → 1.3.0.dev2__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,25 @@
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
+
15
16
  # pylint: disable=unused-argument
16
17
 
17
18
  from nat.builder.builder import Builder
18
19
  from nat.builder.framework_enum import LLMFrameworkEnum
19
20
  from nat.cli.register_workflow import register_embedder_client
20
21
  from nat.data_models.retry_mixin import RetryMixin
22
+ from nat.embedder.azure_openai_embedder import AzureOpenAIEmbedderModelConfig
21
23
  from nat.embedder.nim_embedder import NIMEmbedderModelConfig
22
24
  from nat.embedder.openai_embedder import OpenAIEmbedderModelConfig
23
25
  from nat.utils.exception_handlers.automatic_retries import patch_with_retry
24
26
 
25
27
 
26
- @register_embedder_client(config_type=OpenAIEmbedderModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
27
- async def openai_langchain(embedder_config: OpenAIEmbedderModelConfig, builder: Builder):
28
+ @register_embedder_client(config_type=AzureOpenAIEmbedderModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
29
+ async def azure_openai_langchain(embedder_config: AzureOpenAIEmbedderModelConfig, builder: Builder):
28
30
 
29
- from langchain_openai import OpenAIEmbeddings
31
+ from langchain_openai import AzureOpenAIEmbeddings
30
32
 
31
- client = OpenAIEmbeddings(**embedder_config.model_dump(exclude={"type"}, by_alias=True))
33
+ client = AzureOpenAIEmbeddings(**embedder_config.model_dump(exclude={"type"}, by_alias=True))
32
34
 
33
35
  if isinstance(embedder_config, RetryMixin):
34
36
  client = patch_with_retry(client,
@@ -53,3 +55,19 @@ async def nim_langchain(embedder_config: NIMEmbedderModelConfig, builder: Builde
53
55
  retry_on_messages=embedder_config.retry_on_errors)
54
56
 
55
57
  yield client
58
+
59
+
60
+ @register_embedder_client(config_type=OpenAIEmbedderModelConfig, wrapper_type=LLMFrameworkEnum.LANGCHAIN)
61
+ async def openai_langchain(embedder_config: OpenAIEmbedderModelConfig, builder: Builder):
62
+
63
+ from langchain_openai import OpenAIEmbeddings
64
+
65
+ client = OpenAIEmbeddings(**embedder_config.model_dump(exclude={"type"}, by_alias=True))
66
+
67
+ if isinstance(embedder_config, RetryMixin):
68
+ client = patch_with_retry(client,
69
+ retries=embedder_config.num_retries,
70
+ retry_codes=embedder_config.retry_on_status_codes,
71
+ retry_on_messages=embedder_config.retry_on_errors)
72
+
73
+ 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,
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nvidia-nat-langchain
3
- Version: 1.3.dev0
3
+ Version: 1.3.0.dev2
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.3-dev
9
+ Requires-Dist: nvidia-nat==v1.3.0-dev2
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
@@ -1,7 +1,7 @@
1
1
  nat/meta/pypi.md,sha256=-RewrXPwhrT6398iluvXb5lefn18PybmvRFhmZF7KVI,1124
2
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
3
+ nat/plugins/langchain/embedder.py,sha256=uFC1M9nF4nJ1GpgUO2vz-iy3T8zGDVJXpnSqQbuKJkk,3317
4
+ nat/plugins/langchain/llm.py,sha256=HJZsk0i72ZN0QTb1hZSUV4IsLmE0Ab0JOYYnvtqJfno,4013
5
5
  nat/plugins/langchain/register.py,sha256=UwxFY-HsZ5n32XPpqDtLvBamiw1Pdavtf2oYSK_XGtY,938
6
6
  nat/plugins/langchain/retriever.py,sha256=SWbXXOezEUuPACnmSSU497NAmEVEMj2SrFJGodkRg34,2644
7
7
  nat/plugins/langchain/tool_wrapper.py,sha256=dLK09a8lrmytNkIuhTaSByuLdW23aVmIcr3REyuJTMA,2156
@@ -10,8 +10,8 @@ nat/plugins/langchain/tools/code_generation_tool.py,sha256=qL3HBiOQzVPLw4EiUOWes
10
10
  nat/plugins/langchain/tools/register.py,sha256=3cf4RH2tQ_qOtZviwXQUqK5dKiVUJQYach4djxGpcOU,921
11
11
  nat/plugins/langchain/tools/tavily_internet_search.py,sha256=AnnLRY1xSU4DOzxbB8nFZRjHngXpqatPVOJ7yWV7jVw,2612
12
12
  nat/plugins/langchain/tools/wikipedia_search.py,sha256=431YwLsjoC_mdvMZ_gY0Q37Uqaue2ASnAHpwr4jWCaU,2197
13
- nvidia_nat_langchain-1.3.dev0.dist-info/METADATA,sha256=pZXhSbwaTCLrIWXDHlT2VigunZoMe3s1qak16B5W6Wc,1722
14
- nvidia_nat_langchain-1.3.dev0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
- nvidia_nat_langchain-1.3.dev0.dist-info/entry_points.txt,sha256=4deXsMn97I012HhDw0UjoqcZ8eEoZ7BnqaRx5QmzebY,123
16
- nvidia_nat_langchain-1.3.dev0.dist-info/top_level.txt,sha256=8-CJ2cP6-f0ZReXe5Hzqp-5pvzzHz-5Ds5H2bGqh1-U,4
17
- nvidia_nat_langchain-1.3.dev0.dist-info/RECORD,,
13
+ nvidia_nat_langchain-1.3.0.dev2.dist-info/METADATA,sha256=bKpfzosrGdCkCXCQu00t2VhKdTf5nJFahypMBHNn3I0,1727
14
+ nvidia_nat_langchain-1.3.0.dev2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
15
+ nvidia_nat_langchain-1.3.0.dev2.dist-info/entry_points.txt,sha256=4deXsMn97I012HhDw0UjoqcZ8eEoZ7BnqaRx5QmzebY,123
16
+ nvidia_nat_langchain-1.3.0.dev2.dist-info/top_level.txt,sha256=8-CJ2cP6-f0ZReXe5Hzqp-5pvzzHz-5Ds5H2bGqh1-U,4
17
+ nvidia_nat_langchain-1.3.0.dev2.dist-info/RECORD,,