trustgraph-base 2.10.2__tar.gz → 2.10.3__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 (169) hide show
  1. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/PKG-INFO +1 -1
  2. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/flow.py +19 -2
  3. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/socket_client.py +24 -0
  4. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/graph_rag_client.py +8 -0
  5. trustgraph_base-2.10.3/trustgraph/base_version.py +1 -0
  6. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/iam.py +2 -0
  7. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/retrieval.py +44 -2
  8. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/iam.py +3 -0
  9. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/retrieval.py +11 -0
  10. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph_base.egg-info/PKG-INFO +1 -1
  11. trustgraph_base-2.10.2/trustgraph/base_version.py +0 -1
  12. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/README.md +0 -0
  13. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/pyproject.toml +0 -0
  14. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/setup.cfg +0 -0
  15. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/__init__.py +0 -0
  16. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/api.py +0 -0
  17. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/async_bulk_client.py +0 -0
  18. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/async_flow.py +0 -0
  19. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/async_metrics.py +0 -0
  20. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/async_socket_client.py +0 -0
  21. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/bulk_client.py +0 -0
  22. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/collection.py +0 -0
  23. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/config.py +0 -0
  24. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/exceptions.py +0 -0
  25. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/explainability.py +0 -0
  26. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/knowledge.py +0 -0
  27. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/library.py +0 -0
  28. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/metrics.py +0 -0
  29. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/api/types.py +0 -0
  30. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/__init__.py +0 -0
  31. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/agent_client.py +0 -0
  32. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/agent_service.py +0 -0
  33. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_backend.py +0 -0
  34. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_config_client.py +0 -0
  35. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_kafka_backend.py +0 -0
  36. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_librarian_client.py +0 -0
  37. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_processor.py +0 -0
  38. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_pulsar_backend.py +0 -0
  39. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_rabbitmq_backend.py +0 -0
  40. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/async_rr_wrapper.py +0 -0
  41. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/audit_publisher.py +0 -0
  42. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/backend.py +0 -0
  43. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/cassandra_config.py +0 -0
  44. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/chunking_service.py +0 -0
  45. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/collection_config_handler.py +0 -0
  46. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/config_client.py +0 -0
  47. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/consumer_spec.py +0 -0
  48. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/document_embeddings_client.py +0 -0
  49. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/document_embeddings_query_service.py +0 -0
  50. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/document_embeddings_store_service.py +0 -0
  51. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/dynamic_tool_service.py +0 -0
  52. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/embeddings_client.py +0 -0
  53. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/embeddings_service.py +0 -0
  54. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/flow.py +0 -0
  55. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/flow_processor.py +0 -0
  56. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/graph_embeddings_client.py +0 -0
  57. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/graph_embeddings_query_service.py +0 -0
  58. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/graph_embeddings_store_service.py +0 -0
  59. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/iam_client.py +0 -0
  60. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/image_to_text_service.py +0 -0
  61. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/keyword_index_client.py +0 -0
  62. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/keyword_index_service.py +0 -0
  63. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/librarian_spec.py +0 -0
  64. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/llm_service.py +0 -0
  65. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/logging.py +0 -0
  66. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/metrics.py +0 -0
  67. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/parameter_spec.py +0 -0
  68. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/policy_event_publisher.py +0 -0
  69. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/processor_group.py +0 -0
  70. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/producer_spec.py +0 -0
  71. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/prompt_client.py +0 -0
  72. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/pubsub.py +0 -0
  73. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/qdrant_config.py +0 -0
  74. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/receiver_pool.py +0 -0
  75. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/request_response_client.py +0 -0
  76. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/request_response_spec.py +0 -0
  77. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/reranker_client.py +0 -0
  78. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/reranker_service.py +0 -0
  79. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/row_embeddings_query_client.py +0 -0
  80. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/schema_compatibility.py +0 -0
  81. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/sender_pool.py +0 -0
  82. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/serialization.py +0 -0
  83. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/sparql_client.py +0 -0
  84. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/spec.py +0 -0
  85. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/structured_query_client.py +0 -0
  86. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/text_completion_client.py +0 -0
  87. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/tool_client.py +0 -0
  88. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/tool_service.py +0 -0
  89. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/tool_service_client.py +0 -0
  90. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/triples_client.py +0 -0
  91. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/triples_query_service.py +0 -0
  92. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/triples_store_service.py +0 -0
  93. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/base/workspace_processor.py +0 -0
  94. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/exceptions.py +0 -0
  95. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/__init__.py +0 -0
  96. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/__init__.py +0 -0
  97. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/ar.json +0 -0
  98. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/en.json +0 -0
  99. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/es.json +0 -0
  100. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/he.json +0 -0
  101. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/hi.json +0 -0
  102. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/pt.json +0 -0
  103. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/ru.json +0 -0
  104. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/sw.json +0 -0
  105. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/tr.json +0 -0
  106. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/i18n/packs/zh-cn.json +0 -0
  107. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/knowledge/__init__.py +0 -0
  108. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/knowledge/defs.py +0 -0
  109. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/knowledge/document.py +0 -0
  110. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/knowledge/identifier.py +0 -0
  111. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/knowledge/organization.py +0 -0
  112. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/knowledge/publication.py +0 -0
  113. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/log_level.py +0 -0
  114. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/__init__.py +0 -0
  115. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/registry.py +0 -0
  116. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/__init__.py +0 -0
  117. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/agent.py +0 -0
  118. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/base.py +0 -0
  119. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/collection.py +0 -0
  120. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/config.py +0 -0
  121. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/diagnosis.py +0 -0
  122. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/document_loading.py +0 -0
  123. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/embeddings.py +0 -0
  124. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/embeddings_query.py +0 -0
  125. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/flow.py +0 -0
  126. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/image_to_text.py +0 -0
  127. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/knowledge.py +0 -0
  128. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/library.py +0 -0
  129. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/metadata.py +0 -0
  130. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/nlp_query.py +0 -0
  131. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/primitives.py +0 -0
  132. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/prompt.py +0 -0
  133. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/reranker.py +0 -0
  134. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/rows_query.py +0 -0
  135. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/sparql_query.py +0 -0
  136. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/structured_query.py +0 -0
  137. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/text_completion.py +0 -0
  138. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/tool.py +0 -0
  139. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/messaging/translators/triples.py +0 -0
  140. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/objects/__init__.py +0 -0
  141. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/objects/field.py +0 -0
  142. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/objects/object.py +0 -0
  143. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/provenance/__init__.py +0 -0
  144. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/provenance/agent.py +0 -0
  145. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/provenance/namespaces.py +0 -0
  146. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/provenance/triples.py +0 -0
  147. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/provenance/uris.py +0 -0
  148. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/provenance/vocabulary.py +0 -0
  149. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/rdf.py +0 -0
  150. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/__init__.py +0 -0
  151. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/agent.py +0 -0
  152. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/audit.py +0 -0
  153. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/config.py +0 -0
  154. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/core/__init__.py +0 -0
  155. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/core/metadata.py +0 -0
  156. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/core/primitives.py +0 -0
  157. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/core/topic.py +0 -0
  158. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/documents.py +0 -0
  159. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/embeddings.py +0 -0
  160. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/llm.py +0 -0
  161. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/policy_event.py +0 -0
  162. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/structured.py +0 -0
  163. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/triples.py +0 -0
  164. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph/schema/user_context.py +0 -0
  165. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph_base.egg-info/SOURCES.txt +0 -0
  166. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph_base.egg-info/dependency_links.txt +0 -0
  167. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph_base.egg-info/entry_points.txt +0 -0
  168. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph_base.egg-info/requires.txt +0 -0
  169. {trustgraph_base-2.10.2 → trustgraph_base-2.10.3}/trustgraph_base.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-base
3
- Version: 2.10.2
3
+ Version: 2.10.3
4
4
  Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
5
5
  Author-email: "trustgraph.ai" <security@trustgraph.ai>
6
6
  Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
@@ -403,11 +403,15 @@ class FlowInstance:
403
403
  )["answer"]
404
404
 
405
405
  def graph_rag(
406
- self, query,collection="default",
406
+ self, query, collection="default",
407
407
  entity_limit=50, triple_limit=30, max_subgraph_size=150,
408
408
  max_path_length=2, edge_score_limit=30, edge_limit=25,
409
409
  max_reranker_input=350,
410
410
  user_context=None,
411
+ grounding_seeds=None,
412
+ graph_seeds=None,
413
+ languages=None,
414
+ traversal_instructions=None,
411
415
  ):
412
416
  """
413
417
  Execute graph-based Retrieval-Augmented Generation (RAG) query.
@@ -425,6 +429,10 @@ class FlowInstance:
425
429
  edge_score_limit: Max edges for semantic pre-filter (default: 50)
426
430
  edge_limit: Max edges after LLM scoring (default: 25)
427
431
  max_reranker_input: Max candidate edges sent to reranker per hop (default: 350)
432
+ grounding_seeds: Optional list of concept strings to bypass LLM extraction
433
+ graph_seeds: Optional list of entity IRIs as traversal starting points
434
+ languages: Optional list of language tags to filter by
435
+ traversal_instructions: Optional list of dicts with per-hop restrictions
428
436
 
429
437
  Returns:
430
438
  str: Generated response incorporating graph context
@@ -433,7 +441,8 @@ class FlowInstance:
433
441
  ```python
434
442
  flow = api.flow().id("default")
435
443
  response = flow.graph_rag(
436
- query="Tell me about Marie Curie's discoveries",collection="scientists",
444
+ query="Tell me about Marie Curie's discoveries",
445
+ collection="scientists",
437
446
  entity_limit=20,
438
447
  max_path_length=3
439
448
  )
@@ -456,6 +465,14 @@ class FlowInstance:
456
465
 
457
466
  if user_context is not None:
458
467
  input["user-context"] = dataclass_to_dict(user_context)
468
+ if grounding_seeds:
469
+ input["grounding-seeds"] = grounding_seeds
470
+ if graph_seeds:
471
+ input["graph-seeds"] = graph_seeds
472
+ if languages:
473
+ input["languages"] = languages
474
+ if traversal_instructions:
475
+ input["traversal-instructions"] = traversal_instructions
459
476
 
460
477
  result = self.request(
461
478
  "service/graph-rag",
@@ -718,6 +718,10 @@ class SocketFlowInstance:
718
718
  edge_limit: int = 25,
719
719
  max_reranker_input: int = 350,
720
720
  streaming: bool = False,
721
+ grounding_seeds: Optional[List[str]] = None,
722
+ graph_seeds: Optional[List[str]] = None,
723
+ languages: Optional[List[str]] = None,
724
+ traversal_instructions: Optional[List[dict]] = None,
721
725
  **kwargs: Any
722
726
  ) -> Union[TextCompletionResult, Iterator[RAGChunk]]:
723
727
  """Execute graph-based RAG query with optional streaming.
@@ -737,6 +741,14 @@ class SocketFlowInstance:
737
741
  "max-reranker-input": max_reranker_input,
738
742
  "streaming": streaming
739
743
  }
744
+ if grounding_seeds:
745
+ request["grounding-seeds"] = grounding_seeds
746
+ if graph_seeds:
747
+ request["graph-seeds"] = graph_seeds
748
+ if languages:
749
+ request["languages"] = languages
750
+ if traversal_instructions:
751
+ request["traversal-instructions"] = traversal_instructions
740
752
  request.update(kwargs)
741
753
 
742
754
  result = self.client._send_request_sync("graph-rag", self.flow_id, request, streaming)
@@ -763,6 +775,10 @@ class SocketFlowInstance:
763
775
  edge_score_limit: int = 30,
764
776
  edge_limit: int = 25,
765
777
  max_reranker_input: int = 350,
778
+ grounding_seeds: Optional[List[str]] = None,
779
+ graph_seeds: Optional[List[str]] = None,
780
+ languages: Optional[List[str]] = None,
781
+ traversal_instructions: Optional[List[dict]] = None,
766
782
  **kwargs: Any
767
783
  ) -> Iterator[Union[RAGChunk, ProvenanceEvent]]:
768
784
  """Execute graph-based RAG query with explainability support."""
@@ -779,6 +795,14 @@ class SocketFlowInstance:
779
795
  "streaming": True,
780
796
  "explainable": True,
781
797
  }
798
+ if grounding_seeds:
799
+ request["grounding-seeds"] = grounding_seeds
800
+ if graph_seeds:
801
+ request["graph-seeds"] = graph_seeds
802
+ if languages:
803
+ request["languages"] = languages
804
+ if traversal_instructions:
805
+ request["traversal-instructions"] = traversal_instructions
782
806
  request.update(kwargs)
783
807
 
784
808
  return self.client._send_request_sync(
@@ -6,6 +6,10 @@ class GraphRagClient:
6
6
  async def rag(self, query, collection="default",
7
7
  chunk_callback=None, explain_callback=None,
8
8
  parent_uri="",
9
+ grounding_seeds=None,
10
+ graph_seeds=None,
11
+ languages=None,
12
+ traversal_instructions=None,
9
13
  timeout=600):
10
14
  """
11
15
  Execute a graph RAG query with optional streaming callbacks.
@@ -50,6 +54,10 @@ class GraphRagClient:
50
54
  query = query,
51
55
  collection = collection,
52
56
  parent_uri = parent_uri,
57
+ grounding_seeds = grounding_seeds or [],
58
+ graph_seeds = graph_seeds or [],
59
+ languages = languages or [],
60
+ traversal_instructions = traversal_instructions or [],
53
61
  ),
54
62
  timeout=timeout,
55
63
  recipient=recipient,
@@ -0,0 +1 @@
1
+ __version__ = "2.10.3"
@@ -122,6 +122,7 @@ class IamRequestTranslator(MessageTranslator):
122
122
  data.get("workspace_record")
123
123
  ),
124
124
  key=_api_key_input_from_dict(data.get("key")),
125
+ user_context_json=data.get("user_context_json", ""),
125
126
  group_id=data.get("group_id", ""),
126
127
  member_type=data.get("member_type", ""),
127
128
  member_id=data.get("member_id", ""),
@@ -138,6 +139,7 @@ class IamRequestTranslator(MessageTranslator):
138
139
  for fname in (
139
140
  "workspace", "actor", "user_id", "username", "key_id",
140
141
  "api_key", "password", "new_password",
142
+ "user_context_json",
141
143
  "group_id", "member_type", "member_id",
142
144
  "capability", "resource_json", "parameters_json",
143
145
  "authorise_checks",
@@ -1,6 +1,6 @@
1
- from typing import Dict, Any, Tuple
1
+ from typing import Dict, Any, List, Tuple
2
2
  from ...schema import DocumentRagQuery, DocumentRagResponse, GraphRagQuery, GraphRagResponse
3
- from ...schema import UserContext
3
+ from ...schema import TraversalStep, UserContext
4
4
  from ...base.serialization import dict_to_dataclass, dataclass_to_dict
5
5
  from .base import MessageTranslator
6
6
  from .primitives import TripleTranslator
@@ -95,8 +95,38 @@ class DocumentRagResponseTranslator(MessageTranslator):
95
95
  class GraphRagRequestTranslator(MessageTranslator):
96
96
  """Translator for GraphRagQuery schema objects"""
97
97
 
98
+ @staticmethod
99
+ def _decode_traversal_instructions(
100
+ data: List[Dict[str, Any]],
101
+ ) -> list[TraversalStep]:
102
+ steps = []
103
+ for item in data:
104
+ steps.append(TraversalStep(
105
+ types=item.get("types", []),
106
+ relationships=item.get("relationships", []),
107
+ graphs=item.get("graphs", []),
108
+ ))
109
+ return steps
110
+
111
+ @staticmethod
112
+ def _encode_traversal_instructions(
113
+ steps: list[TraversalStep],
114
+ ) -> List[Dict[str, Any]]:
115
+ result = []
116
+ for step in steps:
117
+ item: Dict[str, Any] = {}
118
+ if step.types:
119
+ item["types"] = step.types
120
+ if step.relationships:
121
+ item["relationships"] = step.relationships
122
+ if step.graphs:
123
+ item["graphs"] = step.graphs
124
+ result.append(item)
125
+ return result
126
+
98
127
  def decode(self, data: Dict[str, Any]) -> GraphRagQuery:
99
128
  uc = data.get("user-context")
129
+ raw_ti = data.get("traversal-instructions", [])
100
130
  return GraphRagQuery(
101
131
  query=data["query"],
102
132
  collection=data.get("collection", "default"),
@@ -109,6 +139,10 @@ class GraphRagRequestTranslator(MessageTranslator):
109
139
  max_reranker_input=int(data.get("max-reranker-input", 350)),
110
140
  streaming=data.get("streaming", False),
111
141
  user_context=dict_to_dataclass(uc, UserContext) if uc else None,
142
+ grounding_seeds=data.get("grounding-seeds", []),
143
+ graph_seeds=data.get("graph-seeds", []),
144
+ languages=data.get("languages", []),
145
+ traversal_instructions=self._decode_traversal_instructions(raw_ti),
112
146
  )
113
147
 
114
148
  def encode(self, obj: GraphRagQuery) -> Dict[str, Any]:
@@ -126,6 +160,14 @@ class GraphRagRequestTranslator(MessageTranslator):
126
160
  }
127
161
  if obj.user_context is not None:
128
162
  result["user-context"] = dataclass_to_dict(obj.user_context)
163
+ if obj.grounding_seeds:
164
+ result["grounding-seeds"] = obj.grounding_seeds
165
+ if obj.graph_seeds:
166
+ result["graph-seeds"] = obj.graph_seeds
167
+ if obj.languages:
168
+ result["languages"] = obj.languages
169
+ if obj.traversal_instructions:
170
+ result["traversal-instructions"] = self._encode_traversal_instructions(obj.traversal_instructions)
129
171
  return result
130
172
 
131
173
 
@@ -111,6 +111,9 @@ class IamRequest:
111
111
  request_id: str = ""
112
112
  client_ip: str = ""
113
113
 
114
+ # ---- mint-token input ----
115
+ user_context_json: str = ""
116
+
114
117
  # ---- authorise / authorise-many inputs ----
115
118
  capability: str = ""
116
119
  resource_json: str = ""
@@ -1,5 +1,6 @@
1
1
 
2
2
  from dataclasses import dataclass, field
3
+ from typing import Optional
3
4
 
4
5
  from .core.primitives import Error, Term, Triple
5
6
  from .user_context import UserContext
@@ -8,6 +9,12 @@ from .user_context import UserContext
8
9
 
9
10
  # Graph RAG text retrieval
10
11
 
12
+ @dataclass
13
+ class TraversalStep:
14
+ types: list[str] = field(default_factory=list)
15
+ relationships: list[str] = field(default_factory=list)
16
+ graphs: list[str] = field(default_factory=list)
17
+
11
18
  @dataclass
12
19
  class GraphRagQuery:
13
20
  query: str = ""
@@ -22,6 +29,10 @@ class GraphRagQuery:
22
29
  streaming: bool = False
23
30
  parent_uri: str = ""
24
31
  user_context: UserContext | None = None
32
+ grounding_seeds: list[str] = field(default_factory=list)
33
+ graph_seeds: list[str] = field(default_factory=list)
34
+ languages: list[str] = field(default_factory=list)
35
+ traversal_instructions: list[TraversalStep] = field(default_factory=list)
25
36
 
26
37
  @dataclass
27
38
  class Source:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-base
3
- Version: 2.10.2
3
+ Version: 2.10.3
4
4
  Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
5
5
  Author-email: "trustgraph.ai" <security@trustgraph.ai>
6
6
  Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
@@ -1 +0,0 @@
1
- __version__ = "2.10.2"