Skip to content

Commit e7095ba

Browse files
ronpaldoctrinoerlendvollsetks93
authored
chore: include version configuration for agent tool (#2324)
Co-authored-by: Anders Albert <60234212+doctrino@users.noreply.github.com> Co-authored-by: Erlend vollset <erlendvollset@gmail.com> Co-authored-by: Kelvin Sundli <kelvin.sundli@cognite.com>
1 parent 489c703 commit e7095ba

File tree

3 files changed

+17
-10
lines changed

3 files changed

+17
-10
lines changed

cognite/client/data_classes/agents/agent_tools.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,20 +164,20 @@ class QueryKnowledgeGraphAgentToolConfiguration(WriteableCogniteResource):
164164
"""Configuration for knowledge graph query agent tools.
165165
166166
Args:
167-
data_models (Sequence[DataModelInfo] | None): The data models and views to query.
167+
data_models (Sequence[DataModelInfo]): The data models and views to query.
168168
instance_spaces (InstanceSpaces | None): The instance spaces to query.
169+
version (str | None): The version of the query generation strategy to use. A higher number does not necessarily mean a better query. Supported values are "v1" and "v2".
169170
"""
170171

171-
data_models: Sequence[DataModelInfo] | None = None
172+
data_models: Sequence[DataModelInfo]
172173
instance_spaces: InstanceSpaces | None = None
174+
version: Literal["v1", "v2"] | str | None = None
173175

174176
@classmethod
175177
def _load(
176178
cls, resource: dict[str, Any], cognite_client: CogniteClient | None = None
177179
) -> QueryKnowledgeGraphAgentToolConfiguration:
178-
data_models = None
179-
if "dataModels" in resource:
180-
data_models = [DataModelInfo._load(dm) for dm in resource["dataModels"]]
180+
data_models = [DataModelInfo._load(dm) for dm in resource["dataModels"]]
181181

182182
instance_spaces = None
183183
if "instanceSpaces" in resource:
@@ -186,16 +186,18 @@ def _load(
186186
return cls(
187187
data_models=data_models,
188188
instance_spaces=instance_spaces,
189+
version=resource.get("version"),
189190
)
190191

191192
def dump(self, camel_case: bool = True) -> dict[str, Any]:
192193
result: dict[str, Any] = {}
193-
if self.data_models:
194-
key = "dataModels" if camel_case else "data_models"
195-
result[key] = [dm.dump(camel_case=camel_case) for dm in self.data_models]
194+
key = "dataModels" if camel_case else "data_models"
195+
result[key] = [dm.dump(camel_case=camel_case) for dm in self.data_models]
196196
if self.instance_spaces:
197197
key = "instanceSpaces" if camel_case else "instance_spaces"
198198
result[key] = self.instance_spaces.dump(camel_case=camel_case)
199+
if self.version:
200+
result["version"] = self.version
199201
return result
200202

201203
def as_write(self) -> QueryKnowledgeGraphAgentToolConfiguration:

tests/tests_integration/test_api/test_agents.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ def permanent_agent(cognite_client: CogniteClient) -> Agent:
4141
version="v1",
4242
view_external_ids=["CogniteAsset"],
4343
)
44-
]
44+
],
45+
instance_spaces=None,
46+
version="v2",
4547
),
4648
)
4749
],
@@ -80,7 +82,9 @@ def test_create_retrieve_update_delete_agent(self, cognite_client: CogniteClient
8082
version="v1",
8183
view_external_ids=["CogniteAsset"],
8284
)
83-
]
85+
],
86+
instance_spaces=None,
87+
version="v2",
8488
),
8589
),
8690
SummarizeDocumentAgentToolUpsert(

tests/tests_unit/test_api/test_agents.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ def test_upsert_full(self, cognite_client: CogniteClient, mock_agent_upsert_resp
139139
)
140140
],
141141
instance_spaces=InstanceSpaces(type="all"),
142+
version="v2",
142143
),
143144
)
144145
],

0 commit comments

Comments
 (0)