nuclia 4.8.5__tar.gz → 4.8.7__tar.gz

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.
Files changed (98) hide show
  1. {nuclia-4.8.5 → nuclia-4.8.7}/CHANGELOG.md +12 -0
  2. {nuclia-4.8.5 → nuclia-4.8.7}/PKG-INFO +2 -2
  3. nuclia-4.8.7/VERSION +1 -0
  4. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/nua.py +6 -0
  5. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/nua_responses.py +16 -1
  6. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia.egg-info/PKG-INFO +2 -2
  7. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia.egg-info/SOURCES.txt +1 -1
  8. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia.egg-info/requires.txt +1 -1
  9. {nuclia-4.8.5 → nuclia-4.8.7}/pyproject.toml +1 -1
  10. nuclia-4.8.7/uv.lock +2027 -0
  11. nuclia-4.8.5/.python-version +0 -1
  12. nuclia-4.8.5/VERSION +0 -1
  13. {nuclia-4.8.5 → nuclia-4.8.7}/.gitignore +0 -0
  14. {nuclia-4.8.5 → nuclia-4.8.7}/LICENSE +0 -0
  15. {nuclia-4.8.5 → nuclia-4.8.7}/MANIFEST.in +0 -0
  16. {nuclia-4.8.5 → nuclia-4.8.7}/Makefile +0 -0
  17. {nuclia-4.8.5 → nuclia-4.8.7}/README.md +0 -0
  18. {nuclia-4.8.5 → nuclia-4.8.7}/code-requirements.txt +0 -0
  19. {nuclia-4.8.5 → nuclia-4.8.7}/docs/01-README.md +0 -0
  20. {nuclia-4.8.5 → nuclia-4.8.7}/docs/02-auth.md +0 -0
  21. {nuclia-4.8.5 → nuclia-4.8.7}/docs/03-kb.md +0 -0
  22. {nuclia-4.8.5 → nuclia-4.8.7}/docs/04-upload.md +0 -0
  23. {nuclia-4.8.5 → nuclia-4.8.7}/docs/05-search.md +0 -0
  24. {nuclia-4.8.5 → nuclia-4.8.7}/docs/06-read.md +0 -0
  25. {nuclia-4.8.5 → nuclia-4.8.7}/docs/07-nua.md +0 -0
  26. {nuclia-4.8.5 → nuclia-4.8.7}/docs/08-import-export.md +0 -0
  27. {nuclia-4.8.5 → nuclia-4.8.7}/docs/09-kb-backup.md +0 -0
  28. {nuclia-4.8.5 → nuclia-4.8.7}/docs/10-manage.md +0 -0
  29. {nuclia-4.8.5 → nuclia-4.8.7}/docs/11-activity-log.md +0 -0
  30. {nuclia-4.8.5 → nuclia-4.8.7}/docs/12-da-agents.md +0 -0
  31. {nuclia-4.8.5 → nuclia-4.8.7}/docs/13-ai-agents.md +0 -0
  32. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/__init__.py +0 -0
  33. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/cli/__init__.py +0 -0
  34. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/cli/run.py +0 -0
  35. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/cli/utils.py +0 -0
  36. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/config.py +0 -0
  37. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/data.py +0 -0
  38. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/decorators.py +0 -0
  39. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/exceptions.py +0 -0
  40. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/__init__.py +0 -0
  41. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/conversations.py +0 -0
  42. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/kb.py +0 -0
  43. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/models.py +0 -0
  44. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/nua_chat.py +0 -0
  45. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/lib/utils.py +0 -0
  46. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/py.typed +0 -0
  47. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/__init__.py +0 -0
  48. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/accounts.py +0 -0
  49. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/agent.py +0 -0
  50. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/auth.py +0 -0
  51. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/backup.py +0 -0
  52. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/export_import.py +0 -0
  53. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/kb.py +0 -0
  54. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/kbs.py +0 -0
  55. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/logger.py +0 -0
  56. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/logs.py +0 -0
  57. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/nua.py +0 -0
  58. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/nucliadb.py +0 -0
  59. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/predict.py +0 -0
  60. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/process.py +0 -0
  61. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/remi.py +0 -0
  62. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/resource.py +0 -0
  63. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/search.py +0 -0
  64. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/task.py +0 -0
  65. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/upload.py +0 -0
  66. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/sdk/zones.py +0 -0
  67. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/__init__.py +0 -0
  68. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/assets/conversation.json +0 -0
  69. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/conftest.py +0 -0
  70. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/fixtures.py +0 -0
  71. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_backup.py +0 -0
  72. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_conversation.py +0 -0
  73. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_export_import.py +0 -0
  74. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_graph.py +0 -0
  75. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_labels.py +0 -0
  76. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_logs.py +0 -0
  77. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_remi.py +0 -0
  78. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_resource.py +0 -0
  79. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_search.py +0 -0
  80. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_kb/test_tasks.py +0 -0
  81. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_manage/__init__.py +0 -0
  82. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_manage/test_account.py +0 -0
  83. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_manage/test_auth.py +0 -0
  84. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_manage/test_kb.py +0 -0
  85. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_nua/__init__.py +0 -0
  86. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_nua/test_agent.py +0 -0
  87. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_nua/test_predict.py +0 -0
  88. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_nucliadb/__init__.py +0 -0
  89. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/test_nucliadb/test_crud.py +0 -0
  90. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/unit/__init__.py +0 -0
  91. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/unit/test_export_import.py +0 -0
  92. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia/tests/unit/test_nua_responses.py +0 -0
  93. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia.egg-info/dependency_links.txt +0 -0
  94. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia.egg-info/entry_points.txt +0 -0
  95. {nuclia-4.8.5 → nuclia-4.8.7}/nuclia.egg-info/top_level.txt +0 -0
  96. {nuclia-4.8.5 → nuclia-4.8.7}/requirements.txt +0 -0
  97. {nuclia-4.8.5 → nuclia-4.8.7}/setup.cfg +0 -0
  98. {nuclia-4.8.5 → nuclia-4.8.7}/test-requirements.txt +0 -0
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.8.7 (2025-05-13)
4
+
5
+
6
+ - Tools output on response
7
+
8
+
9
+ ## 4.8.6 (2025-05-13)
10
+
11
+
12
+ - ChatModel response
13
+
14
+
3
15
  ## 4.8.5 (2025-05-06)
4
16
 
5
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nuclia
3
- Version: 4.8.5
3
+ Version: 4.8.7
4
4
  Summary: Nuclia Python SDK
5
5
  Author-email: Nuclia <info@nuclia.com>
6
6
  License-Expression: MIT
@@ -26,7 +26,7 @@ Requires-Dist: httpcore>=1.0.0
26
26
  Requires-Dist: prompt_toolkit
27
27
  Requires-Dist: nucliadb_sdk<7,>=6.4
28
28
  Requires-Dist: nucliadb_models<7,>=6.4
29
- Requires-Dist: nuclia-models>=0.32.0
29
+ Requires-Dist: nuclia-models>=0.38.1
30
30
  Requires-Dist: tqdm
31
31
  Requires-Dist: aiofiles
32
32
  Requires-Dist: backoff
nuclia-4.8.7/VERSION ADDED
@@ -0,0 +1 @@
1
+ 4.8.7
@@ -26,6 +26,7 @@ from nuclia_models.predict.generative_responses import (
26
26
  CitationsGenerativeResponse,
27
27
  MetaGenerativeResponse,
28
28
  StatusGenerativeResponse,
29
+ ToolsGenerativeResponse,
29
30
  )
30
31
  from nuclia.lib.nua_responses import (
31
32
  ChatModel,
@@ -233,6 +234,8 @@ class NuaClient:
233
234
  result.citations = chunk.chunk.citations
234
235
  elif isinstance(chunk.chunk, StatusGenerativeResponse):
235
236
  result.code = chunk.chunk.code
237
+ elif isinstance(chunk.chunk, ToolsGenerativeResponse):
238
+ result.tools = chunk.chunk.tools
236
239
  return result
237
240
 
238
241
  def generate_stream(
@@ -564,6 +567,9 @@ class AsyncNuaClient:
564
567
  result.citations = chunk.chunk.citations
565
568
  elif isinstance(chunk.chunk, StatusGenerativeResponse):
566
569
  result.code = chunk.chunk.code
570
+ elif isinstance(chunk.chunk, ToolsGenerativeResponse):
571
+ result.tools = chunk.chunk.tools
572
+
567
573
  return result
568
574
 
569
575
  async def generate_stream(
@@ -72,6 +72,14 @@ class Image(BaseModel):
72
72
  b64encoded: str
73
73
 
74
74
 
75
+ class Tool(BaseModel):
76
+ name: str
77
+ description: str
78
+ parameters: Dict[str, Any] = Field(
79
+ default_factory=dict, description="Schema of the tool"
80
+ )
81
+
82
+
75
83
  class ChatModel(BaseModel):
76
84
  question: str
77
85
  retrieval: bool = True
@@ -81,7 +89,7 @@ class ChatModel(BaseModel):
81
89
  context: List[Message] = []
82
90
  query_context: Union[List[str], Dict[str, str]] = {}
83
91
  query_context_order: Dict[str, int] = {}
84
- truncate: Optional[bool] = False
92
+ truncate: Optional[bool] = True
85
93
  user_prompt: Optional[UserPrompt] = None
86
94
  citations: Optional[bool] = False
87
95
  citation_threshold: Optional[float] = Field(
@@ -102,6 +110,9 @@ class ChatModel(BaseModel):
102
110
  default=False,
103
111
  description="Whether to reorder the query context based on a reranker. This option will also make it so the first response will contain the scores given for each context piece.",
104
112
  )
113
+ tools: List[Tool] = Field(
114
+ default_factory=list, description="List of tools to choose"
115
+ )
105
116
 
106
117
  @model_validator(mode="after")
107
118
  def validate_model(self) -> Self:
@@ -109,6 +120,10 @@ class ChatModel(BaseModel):
109
120
  raise ValueError("Can not setup markdown and JSON Schema at the same time")
110
121
  if self.citations is True and self.json_schema is not None:
111
122
  raise ValueError("Can not setup citations and JSON Schema at the same time")
123
+ if self.citations is True and self.tools is not None:
124
+ raise ValueError("Can not setup citations and Tools at the same time")
125
+ if self.tools is True and self.json_schema is not None:
126
+ raise ValueError("Can not setup tools and JSON Schema at the same time")
112
127
  return self
113
128
 
114
129
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nuclia
3
- Version: 4.8.5
3
+ Version: 4.8.7
4
4
  Summary: Nuclia Python SDK
5
5
  Author-email: Nuclia <info@nuclia.com>
6
6
  License-Expression: MIT
@@ -26,7 +26,7 @@ Requires-Dist: httpcore>=1.0.0
26
26
  Requires-Dist: prompt_toolkit
27
27
  Requires-Dist: nucliadb_sdk<7,>=6.4
28
28
  Requires-Dist: nucliadb_models<7,>=6.4
29
- Requires-Dist: nuclia-models>=0.32.0
29
+ Requires-Dist: nuclia-models>=0.38.1
30
30
  Requires-Dist: tqdm
31
31
  Requires-Dist: aiofiles
32
32
  Requires-Dist: backoff
@@ -1,5 +1,4 @@
1
1
  .gitignore
2
- .python-version
3
2
  CHANGELOG.md
4
3
  LICENSE
5
4
  MANIFEST.in
@@ -10,6 +9,7 @@ code-requirements.txt
10
9
  pyproject.toml
11
10
  requirements.txt
12
11
  test-requirements.txt
12
+ uv.lock
13
13
  docs/01-README.md
14
14
  docs/02-auth.md
15
15
  docs/03-kb.md
@@ -7,7 +7,7 @@ httpcore>=1.0.0
7
7
  prompt_toolkit
8
8
  nucliadb_sdk<7,>=6.4
9
9
  nucliadb_models<7,>=6.4
10
- nuclia-models>=0.32.0
10
+ nuclia-models>=0.38.1
11
11
  tqdm
12
12
  aiofiles
13
13
  backoff
@@ -25,7 +25,7 @@ dependencies = [
25
25
  "prompt_toolkit",
26
26
  "nucliadb_sdk>=6.4,<7",
27
27
  "nucliadb_models>=6.4,<7",
28
- "nuclia-models>=0.32.0",
28
+ "nuclia-models>=0.38.1",
29
29
  "tqdm",
30
30
  "aiofiles",
31
31
  "backoff",