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.
- nat/plugins/langchain/embedder.py +22 -4
- nat/plugins/langchain/llm.py +33 -16
- {nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/METADATA +2 -2
- {nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/RECORD +7 -7
- {nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/WHEEL +0 -0
- {nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/entry_points.txt +0 -0
- {nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/top_level.txt +0 -0
@@ -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=
|
27
|
-
async def
|
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
|
31
|
+
from langchain_openai import AzureOpenAIEmbeddings
|
30
32
|
|
31
|
-
client =
|
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
|
nat/plugins/langchain/llm.py
CHANGED
@@ -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=
|
27
|
-
async def
|
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
|
30
|
+
from langchain_aws import ChatBedrockConverse
|
30
31
|
|
31
|
-
client =
|
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=
|
43
|
-
async def
|
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
|
46
|
+
from langchain_openai import AzureChatOpenAI
|
46
47
|
|
47
|
-
|
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
|
-
|
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
|
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=
|
65
|
-
async def
|
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
|
78
|
+
from langchain_openai import ChatOpenAI
|
68
79
|
|
69
|
-
|
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,
|
{nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/METADATA
RENAMED
@@ -1,12 +1,12 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: nvidia-nat-langchain
|
3
|
-
Version: 1.3.
|
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-
|
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
|
{nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/RECORD
RENAMED
@@ -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=
|
4
|
-
nat/plugins/langchain/llm.py,sha256=
|
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.
|
14
|
-
nvidia_nat_langchain-1.3.
|
15
|
-
nvidia_nat_langchain-1.3.
|
16
|
-
nvidia_nat_langchain-1.3.
|
17
|
-
nvidia_nat_langchain-1.3.
|
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,,
|
File without changes
|
File without changes
|
{nvidia_nat_langchain-1.3.dev0.dist-info → nvidia_nat_langchain-1.3.0.dev2.dist-info}/top_level.txt
RENAMED
File without changes
|