trustgraph-flow 2.6.3__tar.gz → 2.6.5__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 (399) hide show
  1. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/PKG-INFO +2 -1
  2. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/pyproject.toml +2 -0
  3. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/initialisers/default_flow_start.py +10 -2
  4. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/initialisers/workspace_init.py +8 -3
  5. trustgraph_flow-2.6.5/trustgraph/flow_version.py +1 -0
  6. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/manager.py +2 -0
  7. trustgraph_flow-2.6.5/trustgraph/gateway/dispatch/reranker.py +31 -0
  8. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/registry.py +1 -0
  9. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/service/iam.py +1 -0
  10. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/openai/llm.py +57 -16
  11. trustgraph_flow-2.6.5/trustgraph/model/text_completion/openai/variants.py +176 -0
  12. trustgraph_flow-2.6.5/trustgraph/reranker/flashrank/__init__.py +2 -0
  13. trustgraph_flow-2.6.5/trustgraph/reranker/flashrank/__main__.py +6 -0
  14. trustgraph_flow-2.6.5/trustgraph/reranker/flashrank/processor.py +109 -0
  15. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/graph_rag/graph_rag.py +181 -383
  16. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/graph_rag/rag.py +12 -18
  17. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph_flow.egg-info/PKG-INFO +2 -1
  18. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph_flow.egg-info/SOURCES.txt +6 -0
  19. trustgraph_flow-2.6.5/trustgraph_flow.egg-info/dependency_links.txt +1 -0
  20. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph_flow.egg-info/entry_points.txt +1 -0
  21. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph_flow.egg-info/requires.txt +1 -0
  22. trustgraph_flow-2.6.3/trustgraph/flow_version.py +0 -1
  23. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/README.md +0 -0
  24. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/setup.cfg +0 -0
  25. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/__init__.py +0 -0
  26. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/__init__.py +0 -0
  27. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/mcp_tool/__init__.py +0 -0
  28. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/mcp_tool/__main__.py +0 -0
  29. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/mcp_tool/service.py +0 -0
  30. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/__init__.py +0 -0
  31. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/__main__.py +0 -0
  32. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/aggregator.py +0 -0
  33. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/meta_router.py +0 -0
  34. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/pattern_base.py +0 -0
  35. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/plan_pattern.py +0 -0
  36. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/react_pattern.py +0 -0
  37. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/service.py +0 -0
  38. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/orchestrator/supervisor_pattern.py +0 -0
  39. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/__init__.py +0 -0
  40. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/__main__.py +0 -0
  41. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/agent_manager.py +0 -0
  42. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/service.py +0 -0
  43. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/streaming_parser.py +0 -0
  44. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/tools.py +0 -0
  45. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/react/types.py +0 -0
  46. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/agent/tool_filter.py +0 -0
  47. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/__init__.py +0 -0
  48. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/base.py +0 -0
  49. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/bootstrapper/__init__.py +0 -0
  50. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/bootstrapper/__main__.py +0 -0
  51. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/bootstrapper/service.py +0 -0
  52. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/initialisers/__init__.py +0 -0
  53. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/initialisers/pulsar_topology.py +0 -0
  54. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/bootstrap/initialisers/template_seed.py +0 -0
  55. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/__init__.py +0 -0
  56. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/recursive/__init__.py +0 -0
  57. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/recursive/__main__.py +0 -0
  58. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/recursive/chunker.py +0 -0
  59. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/token/__init__.py +0 -0
  60. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/token/__main__.py +0 -0
  61. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/chunking/token/chunker.py +0 -0
  62. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/config/service/__init__.py +0 -0
  63. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/config/service/__main__.py +0 -0
  64. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/config/service/config.py +0 -0
  65. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/config/service/service.py +0 -0
  66. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/cores/__init__.py +0 -0
  67. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/cores/__main__.py +0 -0
  68. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/cores/knowledge.py +0 -0
  69. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/cores/service.py +0 -0
  70. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/__init__.py +0 -0
  71. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
  72. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
  73. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/mistral_ocr/processor.py +0 -0
  74. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/pdf/__init__.py +0 -0
  75. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/pdf/__main__.py +0 -0
  76. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
  77. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/direct/__init__.py +0 -0
  78. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/direct/cassandra_kg.py +0 -0
  79. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
  80. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
  81. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/__init__.py +0 -0
  82. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
  83. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
  84. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
  85. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/fastembed/__init__.py +0 -0
  86. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/fastembed/__main__.py +0 -0
  87. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/fastembed/processor.py +0 -0
  88. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
  89. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
  90. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
  91. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/ollama/__init__.py +0 -0
  92. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/ollama/__main__.py +0 -0
  93. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/ollama/processor.py +0 -0
  94. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/row_embeddings/__init__.py +0 -0
  95. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/row_embeddings/__main__.py +0 -0
  96. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/embeddings/row_embeddings/embeddings.py +0 -0
  97. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/external/__init__.py +0 -0
  98. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/external/wikipedia/__init__.py +0 -0
  99. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/external/wikipedia/__main__.py +0 -0
  100. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/external/wikipedia/service.py +0 -0
  101. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/__init__.py +0 -0
  102. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/__init__.py +0 -0
  103. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/agent/__init__.py +0 -0
  104. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/agent/__main__.py +0 -0
  105. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/agent/extract.py +0 -0
  106. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/definitions/__init__.py +0 -0
  107. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/definitions/__main__.py +0 -0
  108. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/definitions/extract.py +0 -0
  109. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/__init__.py +0 -0
  110. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/entity_normalizer.py +0 -0
  111. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/extract.py +0 -0
  112. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/ontology_embedder.py +0 -0
  113. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/ontology_loader.py +0 -0
  114. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/ontology_selector.py +0 -0
  115. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/run.py +0 -0
  116. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/simplified_parser.py +0 -0
  117. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/text_processor.py +0 -0
  118. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/triple_converter.py +0 -0
  119. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/ontology/vector_store.py +0 -0
  120. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/relationships/__init__.py +0 -0
  121. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/relationships/__main__.py +0 -0
  122. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/relationships/extract.py +0 -0
  123. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/rows/__init__.py +0 -0
  124. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/rows/__main__.py +0 -0
  125. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/rows/processor.py +0 -0
  126. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/topics/__init__.py +0 -0
  127. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/topics/__main__.py +0 -0
  128. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/extract/kg/topics/extract.py +0 -0
  129. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/flow/__init__.py +0 -0
  130. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/flow/service/__init__.py +0 -0
  131. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/flow/service/__main__.py +0 -0
  132. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/flow/service/flow.py +0 -0
  133. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/flow/service/service.py +0 -0
  134. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/__init__.py +0 -0
  135. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/__main__.py +0 -0
  136. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/auth.py +0 -0
  137. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/capabilities.py +0 -0
  138. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/config/receiver.py +0 -0
  139. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/agent.py +0 -0
  140. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/collection_management.py +0 -0
  141. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/config.py +0 -0
  142. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/core_export.py +0 -0
  143. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/core_import.py +0 -0
  144. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -0
  145. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/document_embeddings_import.py +0 -0
  146. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/document_embeddings_query.py +0 -0
  147. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/document_load.py +0 -0
  148. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/document_rag.py +0 -0
  149. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/document_stream.py +0 -0
  150. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/embeddings.py +0 -0
  151. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -0
  152. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/entity_contexts_import.py +0 -0
  153. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/flow.py +0 -0
  154. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -0
  155. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/graph_embeddings_import.py +0 -0
  156. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
  157. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
  158. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/iam.py +0 -0
  159. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/knowledge.py +0 -0
  160. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/librarian.py +0 -0
  161. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
  162. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/mux.py +0 -0
  163. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/nlp_query.py +0 -0
  164. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/prompt.py +0 -0
  165. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/requestor.py +0 -0
  166. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/row_embeddings_query.py +0 -0
  167. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/rows_import.py +0 -0
  168. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/rows_query.py +0 -0
  169. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/sender.py +0 -0
  170. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/serialize.py +0 -0
  171. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/sparql_query.py +0 -0
  172. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/streamer.py +0 -0
  173. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/structured_diag.py +0 -0
  174. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/structured_query.py +0 -0
  175. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/text_completion.py +0 -0
  176. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/text_load.py +0 -0
  177. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/triples_export.py +0 -0
  178. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/triples_import.py +0 -0
  179. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/dispatch/triples_query.py +0 -0
  180. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/auth_endpoints.py +0 -0
  181. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
  182. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/i18n.py +0 -0
  183. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/iam_endpoint.py +0 -0
  184. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/manager.py +0 -0
  185. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/metrics.py +0 -0
  186. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/registry_endpoint.py +0 -0
  187. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/socket.py +0 -0
  188. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
  189. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
  190. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/running.py +0 -0
  191. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/service.py +0 -0
  192. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/unused/dbpedia.py +0 -0
  193. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/unused/encyclopedia.py +0 -0
  194. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/gateway/unused/internet_search.py +0 -0
  195. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/__init__.py +0 -0
  196. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/noauth/__init__.py +0 -0
  197. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/noauth/__main__.py +0 -0
  198. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/noauth/handler.py +0 -0
  199. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/noauth/service.py +0 -0
  200. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/service/__init__.py +0 -0
  201. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/service/__main__.py +0 -0
  202. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/iam/service/service.py +0 -0
  203. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/librarian/__init__.py +0 -0
  204. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/librarian/__main__.py +0 -0
  205. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/librarian/blob_store.py +0 -0
  206. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/librarian/collection_manager.py +0 -0
  207. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/librarian/librarian.py +0 -0
  208. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/librarian/service.py +0 -0
  209. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/metering/__init__.py +0 -0
  210. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/metering/__main__.py +0 -0
  211. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/metering/counter.py +0 -0
  212. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/__init__.py +0 -0
  213. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/__init__.py +0 -0
  214. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/azure/__init__.py +0 -0
  215. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/azure/__main__.py +0 -0
  216. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/azure/llm.py +0 -0
  217. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
  218. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
  219. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
  220. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/claude/__init__.py +0 -0
  221. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/claude/__main__.py +0 -0
  222. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/claude/llm.py +0 -0
  223. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
  224. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
  225. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/cohere/llm.py +0 -0
  226. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
  227. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
  228. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
  229. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
  230. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
  231. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/lmstudio/llm.py +0 -0
  232. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
  233. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
  234. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/mistral/llm.py +0 -0
  235. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
  236. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
  237. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/ollama/llm.py +0 -0
  238. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/openai/__init__.py +0 -0
  239. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/openai/__main__.py +0 -0
  240. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
  241. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
  242. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/tgi/llm.py +0 -0
  243. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
  244. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
  245. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/model/text_completion/vllm/llm.py +0 -0
  246. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/processing/__init__.py +0 -0
  247. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/processing/__main__.py +0 -0
  248. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/processing/processing.py +0 -0
  249. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/prompt/__init__.py +0 -0
  250. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/prompt/template/__init__.py +0 -0
  251. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/prompt/template/__main__.py +0 -0
  252. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/prompt/template/service.py +0 -0
  253. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/__init__.py +0 -0
  254. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/__init__.py +0 -0
  255. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
  256. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
  257. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
  258. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
  259. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
  260. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
  261. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
  262. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
  263. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
  264. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/__init__.py +0 -0
  265. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
  266. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
  267. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
  268. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
  269. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
  270. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
  271. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
  272. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
  273. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
  274. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graphql/__init__.py +0 -0
  275. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graphql/filters.py +0 -0
  276. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graphql/schema.py +0 -0
  277. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/graphql/types.py +0 -0
  278. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/__init__.py +0 -0
  279. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/answer_generator.py +0 -0
  280. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/backend_router.py +0 -0
  281. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/cache.py +0 -0
  282. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/cypher_executor.py +0 -0
  283. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/cypher_generator.py +0 -0
  284. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/error_handling.py +0 -0
  285. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/monitoring.py +0 -0
  286. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/multi_language.py +0 -0
  287. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/ontology_matcher.py +0 -0
  288. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/query_explanation.py +0 -0
  289. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/query_optimizer.py +0 -0
  290. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/query_service.py +0 -0
  291. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/question_analyzer.py +0 -0
  292. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/sparql_cassandra.py +0 -0
  293. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/ontology/sparql_generator.py +0 -0
  294. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/row_embeddings/__init__.py +0 -0
  295. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/row_embeddings/qdrant/__init__.py +0 -0
  296. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/row_embeddings/qdrant/__main__.py +0 -0
  297. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/row_embeddings/qdrant/service.py +0 -0
  298. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/rows/__init__.py +0 -0
  299. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/rows/cassandra/__init__.py +0 -0
  300. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/rows/cassandra/__main__.py +0 -0
  301. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/rows/cassandra/service.py +0 -0
  302. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/__init__.py +0 -0
  303. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/__main__.py +0 -0
  304. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/algebra.py +0 -0
  305. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/expressions.py +0 -0
  306. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/parser.py +0 -0
  307. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/service.py +0 -0
  308. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/sparql/solutions.py +0 -0
  309. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/__init__.py +0 -0
  310. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/cassandra/__init__.py +0 -0
  311. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/cassandra/__main__.py +0 -0
  312. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/cassandra/service.py +0 -0
  313. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/falkordb/__init__.py +0 -0
  314. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/falkordb/__main__.py +0 -0
  315. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/falkordb/service.py +0 -0
  316. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/memgraph/__init__.py +0 -0
  317. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/memgraph/__main__.py +0 -0
  318. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/memgraph/service.py +0 -0
  319. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/neo4j/__init__.py +0 -0
  320. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/neo4j/__main__.py +0 -0
  321. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/query/triples/neo4j/service.py +0 -0
  322. /trustgraph_flow-2.6.3/trustgraph_flow.egg-info/dependency_links.txt → /trustgraph_flow-2.6.5/trustgraph/reranker/__init__.py +0 -0
  323. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/__init__.py +0 -0
  324. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/document_rag/__init__.py +0 -0
  325. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/document_rag/__main__.py +0 -0
  326. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/document_rag/document_rag.py +0 -0
  327. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/document_rag/rag.py +0 -0
  328. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
  329. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
  330. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/nlp_query/__init__.py +0 -0
  331. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/nlp_query/__main__.py +0 -0
  332. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/nlp_query/service.py +0 -0
  333. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/structured_diag/__init__.py +0 -0
  334. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/structured_diag/service.py +0 -0
  335. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/structured_diag/type_detector.py +0 -0
  336. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/structured_query/__init__.py +0 -0
  337. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/structured_query/__main__.py +0 -0
  338. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/retrieval/structured_query/service.py +0 -0
  339. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/rev_gateway/__init__.py +0 -0
  340. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/rev_gateway/__main__.py +0 -0
  341. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/rev_gateway/dispatcher.py +0 -0
  342. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/rev_gateway/service.py +0 -0
  343. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/__init__.py +0 -0
  344. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/__init__.py +0 -0
  345. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
  346. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
  347. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/milvus/write.py +0 -0
  348. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
  349. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
  350. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/pinecone/write.py +0 -0
  351. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
  352. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
  353. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/doc_embeddings/qdrant/write.py +0 -0
  354. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/__init__.py +0 -0
  355. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
  356. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
  357. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/milvus/write.py +0 -0
  358. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
  359. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
  360. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/pinecone/write.py +0 -0
  361. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
  362. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
  363. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/graph_embeddings/qdrant/write.py +0 -0
  364. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/knowledge/__init__.py +0 -0
  365. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/knowledge/__main__.py +0 -0
  366. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/knowledge/store.py +0 -0
  367. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/row_embeddings/__init__.py +0 -0
  368. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/row_embeddings/qdrant/__init__.py +0 -0
  369. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/row_embeddings/qdrant/__main__.py +0 -0
  370. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/row_embeddings/qdrant/write.py +0 -0
  371. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/rows/__init__.py +0 -0
  372. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
  373. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
  374. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/rows/cassandra/write.py +0 -0
  375. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/__init__.py +0 -0
  376. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
  377. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
  378. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/cassandra/write.py +0 -0
  379. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
  380. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
  381. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/falkordb/write.py +0 -0
  382. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
  383. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
  384. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/memgraph/write.py +0 -0
  385. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
  386. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
  387. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/storage/triples/neo4j/write.py +0 -0
  388. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tables/__init__.py +0 -0
  389. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tables/cassandra_async.py +0 -0
  390. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tables/config.py +0 -0
  391. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tables/iam.py +0 -0
  392. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tables/knowledge.py +0 -0
  393. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tables/library.py +0 -0
  394. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/template/__init__.py +0 -0
  395. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/template/prompt_manager.py +0 -0
  396. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tool_service/__init__.py +0 -0
  397. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tool_service/joke/__init__.py +0 -0
  398. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph/tool_service/joke/service.py +0 -0
  399. {trustgraph_flow-2.6.3 → trustgraph_flow-2.6.5}/trustgraph_flow.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-flow
3
- Version: 2.6.3
3
+ Version: 2.6.5
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
@@ -17,6 +17,7 @@ Requires-Dist: cryptography
17
17
  Requires-Dist: faiss-cpu
18
18
  Requires-Dist: falkordb
19
19
  Requires-Dist: fastembed
20
+ Requires-Dist: flashrank
20
21
  Requires-Dist: ibis
21
22
  Requires-Dist: jsonschema
22
23
  Requires-Dist: langchain
@@ -19,6 +19,7 @@ dependencies = [
19
19
  "faiss-cpu",
20
20
  "falkordb",
21
21
  "fastembed",
22
+ "flashrank",
22
23
  "ibis",
23
24
  "jsonschema",
24
25
  "langchain",
@@ -83,6 +84,7 @@ graph-embeddings-write-pinecone = "trustgraph.storage.graph_embeddings.pinecone:
83
84
  graph-embeddings-write-qdrant = "trustgraph.storage.graph_embeddings.qdrant:run"
84
85
  graph-embeddings = "trustgraph.embeddings.graph_embeddings:run"
85
86
  graph-rag = "trustgraph.retrieval.graph_rag:run"
87
+ reranker-flashrank = "trustgraph.reranker.flashrank:run"
86
88
  kg-extract-agent = "trustgraph.extract.kg.agent:run"
87
89
  kg-extract-definitions = "trustgraph.extract.kg.definitions:run"
88
90
  kg-extract-rows = "trustgraph.extract.kg.rows:run"
@@ -18,6 +18,10 @@ description : str (default "Default")
18
18
  Human-readable description passed to flow-svc.
19
19
  parameters : dict (optional)
20
20
  Optional parameter overrides passed to start-flow.
21
+ list_timeout : int (default 10)
22
+ Timeout in seconds for the list-flows request.
23
+ start_timeout : int (default 30)
24
+ Timeout in seconds for the start-flow request.
21
25
  """
22
26
 
23
27
  from trustgraph.schema import FlowRequest
@@ -34,6 +38,8 @@ class DefaultFlowStart(Initialiser):
34
38
  blueprint=None,
35
39
  description="Default",
36
40
  parameters=None,
41
+ list_timeout=10,
42
+ start_timeout=30,
37
43
  **kwargs,
38
44
  ):
39
45
  super().__init__(**kwargs)
@@ -46,6 +52,8 @@ class DefaultFlowStart(Initialiser):
46
52
  self.blueprint = blueprint
47
53
  self.description = description
48
54
  self.parameters = dict(parameters) if parameters else {}
55
+ self.list_timeout = list_timeout
56
+ self.start_timeout = start_timeout
49
57
 
50
58
  async def run(self, ctx, old_flag, new_flag):
51
59
 
@@ -70,7 +78,7 @@ class DefaultFlowStart(Initialiser):
70
78
  FlowRequest(
71
79
  operation="list-flows",
72
80
  ),
73
- timeout=10,
81
+ timeout=self.list_timeout,
74
82
  )
75
83
  if list_resp.error:
76
84
  raise RuntimeError(
@@ -99,7 +107,7 @@ class DefaultFlowStart(Initialiser):
99
107
  description=self.description,
100
108
  parameters=self.parameters,
101
109
  ),
102
- timeout=30,
110
+ timeout=self.start_timeout,
103
111
  )
104
112
  if resp.error:
105
113
  raise RuntimeError(
@@ -14,7 +14,9 @@ seed_file : str (required when source=="seed-file")
14
14
  Path to a JSON seed file with the same shape TemplateSeed consumes.
15
15
  overwrite : bool (default False)
16
16
  On re-run (flag change), if True overwrite all keys; if False,
17
- upsert-missing-only (preserves in-workspace customisations).
17
+ upsert-missing-only (preserves in-workspace customisations)
18
+ iam_timeout : int (default 10)
19
+ Timeout in seconds for the IAM create-workspace request.
18
20
 
19
21
  Raises (in ``run``)
20
22
  -------------------
@@ -41,7 +43,9 @@ class WorkspaceInit(Initialiser):
41
43
  source="template",
42
44
  seed_file=None,
43
45
  overwrite=False,
46
+ iam_timeout=10,
44
47
  **kwargs,
48
+
45
49
  ):
46
50
  super().__init__(**kwargs)
47
51
 
@@ -59,6 +63,7 @@ class WorkspaceInit(Initialiser):
59
63
  self.source = source
60
64
  self.seed_file = seed_file
61
65
  self.overwrite = overwrite
66
+ self.iam_timeout = iam_timeout
62
67
 
63
68
  async def run(self, ctx, old_flag, new_flag):
64
69
  await self._create_workspace(ctx)
@@ -120,10 +125,10 @@ class WorkspaceInit(Initialiser):
120
125
  workspace_record=WorkspaceInput(
121
126
  id=self.workspace,
122
127
  name=self.workspace.title(),
123
- enabled=True,
128
+ enabled=True,
124
129
  ),
125
130
  ),
126
- timeout=10,
131
+ timeout=self.iam_timeout,
127
132
  )
128
133
  if resp.error:
129
134
  if resp.error.type == "duplicate":
@@ -0,0 +1 @@
1
+ __version__ = "2.6.5"
@@ -37,6 +37,7 @@ from . graph_embeddings_query import GraphEmbeddingsQueryRequestor
37
37
  from . document_embeddings_query import DocumentEmbeddingsQueryRequestor
38
38
  from . row_embeddings_query import RowEmbeddingsQueryRequestor
39
39
  from . mcp_tool import McpToolRequestor
40
+ from . reranker import RerankerRequestor
40
41
  from . text_load import TextLoad
41
42
  from . document_load import DocumentLoad
42
43
 
@@ -74,6 +75,7 @@ request_response_dispatchers = {
74
75
  "structured-diag": StructuredDiagRequestor,
75
76
  "row-embeddings": RowEmbeddingsQueryRequestor,
76
77
  "sparql": SparqlQueryRequestor,
78
+ "reranker": RerankerRequestor,
77
79
  }
78
80
 
79
81
  system_dispatchers = {
@@ -0,0 +1,31 @@
1
+
2
+ from ... schema import RerankerRequest, RerankerResponse
3
+ from ... messaging import TranslatorRegistry
4
+
5
+ from . requestor import ServiceRequestor
6
+
7
+ class RerankerRequestor(ServiceRequestor):
8
+ def __init__(
9
+ self, backend, request_queue, response_queue, timeout,
10
+ consumer, subscriber,
11
+ ):
12
+
13
+ super(RerankerRequestor, self).__init__(
14
+ backend=backend,
15
+ request_queue=request_queue,
16
+ response_queue=response_queue,
17
+ request_schema=RerankerRequest,
18
+ response_schema=RerankerResponse,
19
+ subscription = subscriber,
20
+ consumer_name = consumer,
21
+ timeout=timeout,
22
+ )
23
+
24
+ self.request_translator = TranslatorRegistry.get_request_translator("reranker")
25
+ self.response_translator = TranslatorRegistry.get_response_translator("reranker")
26
+
27
+ def to_request(self, body):
28
+ return self.request_translator.decode(body)
29
+
30
+ def from_response(self, message):
31
+ return self.response_translator.encode_with_completion(message)
@@ -518,6 +518,7 @@ _FLOW_SERVICES = {
518
518
  "structured-diag": "structured-query:read",
519
519
  "row-embeddings": "row-embeddings:read",
520
520
  "sparql": "sparql:read",
521
+ "reranker": "reranker",
521
522
  }
522
523
  for _kind, _cap in _FLOW_SERVICES.items():
523
524
  _register_flow_kind("flow-service", _kind, _cap)
@@ -72,6 +72,7 @@ _READER_CAPS = {
72
72
  "row-embeddings:read",
73
73
  "llm",
74
74
  "embeddings",
75
+ "reranker",
75
76
  "mcp",
76
77
  "config:read",
77
78
  "flows:read",
@@ -10,6 +10,7 @@ import logging
10
10
 
11
11
  from .... exceptions import TooManyRequests, LlmError
12
12
  from .... base import LlmService, LlmResult, LlmChunk
13
+ from . variants import get_variant, DEFAULT_VARIANT, VARIANTS
13
14
 
14
15
  # Module logger
15
16
  logger = logging.getLogger(__name__)
@@ -21,6 +22,7 @@ default_temperature = 0.0
21
22
  default_max_output = 4096
22
23
  default_api_key = os.getenv("OPENAI_TOKEN")
23
24
  default_base_url = os.getenv("OPENAI_BASE_URL")
25
+ default_thinking = "off"
24
26
 
25
27
  if default_base_url is None or default_base_url == "":
26
28
  default_base_url = "https://api.openai.com/v1"
@@ -28,16 +30,21 @@ if default_base_url is None or default_base_url == "":
28
30
  class Processor(LlmService):
29
31
 
30
32
  def __init__(self, **params):
31
-
33
+
32
34
  model = params.get("model", default_model)
33
35
  api_key = params.get("api_key", default_api_key)
34
36
  base_url = params.get("url", default_base_url)
35
37
  temperature = params.get("temperature", default_temperature)
36
38
  max_output = params.get("max_output", default_max_output)
39
+ thinking = params.get("thinking", default_thinking)
40
+ variant_name = params.get("variant", DEFAULT_VARIANT)
37
41
 
38
42
  if not api_key:
39
43
  api_key = "not-set"
40
44
 
45
+ self.variant = get_variant(variant_name)
46
+ self.thinking = thinking
47
+
41
48
  super(Processor, self).__init__(
42
49
  **params | {
43
50
  "model": model,
@@ -56,13 +63,28 @@ class Processor(LlmService):
56
63
  else:
57
64
  self.openai = OpenAI(api_key=api_key)
58
65
 
59
- logger.info("OpenAI LLM service initialized")
66
+ logger.info(
67
+ f"OpenAI LLM service initialized "
68
+ f"(variant={self.variant.name}, thinking={self.thinking})"
69
+ )
70
+
71
+ def _build_kwargs(self, model_name, temperature):
72
+ """Build API call kwargs using the active variant."""
73
+ return self.variant.completion_kwargs(
74
+ max_output=self.max_output,
75
+ temperature=temperature,
76
+ thinking=self.thinking,
77
+ )
78
+
79
+ def _extract_content(self, message):
80
+ """Extract visible content from a response message."""
81
+ if hasattr(self.variant, "extract_content"):
82
+ return self.variant.extract_content(message)
83
+ return message.content
60
84
 
61
85
  async def generate_content(self, system, prompt, model=None, temperature=None):
62
86
 
63
- # Use provided model or fall back to default
64
87
  model_name = model or self.default_model
65
- # Use provided temperature or fall back to default
66
88
  effective_temperature = temperature if temperature is not None else self.temperature
67
89
 
68
90
  logger.debug(f"Using model: {model_name}")
@@ -72,6 +94,8 @@ class Processor(LlmService):
72
94
 
73
95
  try:
74
96
 
97
+ api_kwargs = self._build_kwargs(model_name, effective_temperature)
98
+
75
99
  resp = self.openai.chat.completions.create(
76
100
  model=model_name,
77
101
  messages=[
@@ -85,18 +109,23 @@ class Processor(LlmService):
85
109
  ]
86
110
  }
87
111
  ],
88
- temperature=effective_temperature,
89
- max_completion_tokens=self.max_output,
112
+ **api_kwargs,
90
113
  )
91
-
114
+
92
115
  inputtokens = resp.usage.prompt_tokens
93
116
  outputtokens = resp.usage.completion_tokens
94
- logger.debug(f"LLM response: {resp.choices[0].message.content}")
117
+
118
+ content = self._extract_content(resp.choices[0].message)
119
+ thinking = self.variant.extract_thinking(resp.choices[0].message)
120
+
121
+ logger.debug(f"LLM response: {content}")
122
+ if thinking:
123
+ logger.debug(f"LLM thinking: {thinking[:200]}...")
95
124
  logger.info(f"Input Tokens: {inputtokens}")
96
125
  logger.info(f"Output Tokens: {outputtokens}")
97
126
 
98
127
  resp = LlmResult(
99
- text = resp.choices[0].message.content,
128
+ text = content,
100
129
  in_token = inputtokens,
101
130
  out_token = outputtokens,
102
131
  model = model_name
@@ -136,9 +165,7 @@ class Processor(LlmService):
136
165
  Stream content generation from OpenAI.
137
166
  Yields LlmChunk objects with is_final=True on the last chunk.
138
167
  """
139
- # Use provided model or fall back to default
140
168
  model_name = model or self.default_model
141
- # Use provided temperature or fall back to default
142
169
  effective_temperature = temperature if temperature is not None else self.temperature
143
170
 
144
171
  logger.debug(f"Using model (streaming): {model_name}")
@@ -147,6 +174,8 @@ class Processor(LlmService):
147
174
  prompt = system + "\n\n" + prompt
148
175
 
149
176
  try:
177
+ api_kwargs = self._build_kwargs(model_name, effective_temperature)
178
+
150
179
  response = self.openai.chat.completions.create(
151
180
  model=model_name,
152
181
  messages=[
@@ -160,16 +189,14 @@ class Processor(LlmService):
160
189
  ]
161
190
  }
162
191
  ],
163
- temperature=effective_temperature,
164
- max_completion_tokens=self.max_output,
165
192
  stream=True,
166
- stream_options={"include_usage": True}
193
+ stream_options={"include_usage": True},
194
+ **api_kwargs,
167
195
  )
168
196
 
169
197
  total_input_tokens = 0
170
198
  total_output_tokens = 0
171
199
 
172
- # Stream chunks
173
200
  for chunk in response:
174
201
  if chunk.choices and chunk.choices[0].delta.content:
175
202
  yield LlmChunk(
@@ -254,6 +281,20 @@ class Processor(LlmService):
254
281
  help=f'LLM max output tokens (default: {default_max_output})'
255
282
  )
256
283
 
284
+ parser.add_argument(
285
+ '--thinking',
286
+ choices=["off", "low", "medium", "high"],
287
+ default=default_thinking,
288
+ help=f'Thinking/reasoning effort level (default: {default_thinking})'
289
+ )
290
+
291
+ parser.add_argument(
292
+ '--variant',
293
+ choices=sorted(VARIANTS.keys()),
294
+ default=DEFAULT_VARIANT,
295
+ help=f'API variant (default: {DEFAULT_VARIANT})'
296
+ )
297
+
257
298
  def run():
258
-
299
+
259
300
  Processor.launch(default_ident, __doc__)
@@ -0,0 +1,176 @@
1
+ """
2
+ OpenAI API variant profiles.
3
+
4
+ Different providers expose OpenAI-compatible APIs with subtle differences
5
+ in parameter names, thinking/reasoning support, and temperature handling.
6
+ Each variant encapsulates those quirks so the processor doesn't need
7
+ provider-specific conditionals.
8
+ """
9
+
10
+ import re
11
+ import logging
12
+
13
+ logger = logging.getLogger(__name__)
14
+
15
+
16
+ class Variant:
17
+ """Base variant — defines the interface all variants implement."""
18
+
19
+ name = None
20
+ token_param = "max_completion_tokens"
21
+ temperature_with_thinking = False
22
+
23
+ def completion_kwargs(self, max_output, temperature, thinking):
24
+ """Build provider-specific kwargs for chat.completions.create().
25
+
26
+ Parameters
27
+ ----------
28
+ max_output : int
29
+ Configured max output tokens.
30
+ temperature : float
31
+ Configured temperature.
32
+ thinking : str
33
+ Thinking effort level: "off", "low", "medium", "high".
34
+
35
+ Returns
36
+ -------
37
+ dict
38
+ Extra kwargs to spread into the API call.
39
+ """
40
+ kwargs = {self.token_param: max_output}
41
+
42
+ if thinking != "off":
43
+ kwargs.update(self.thinking_kwargs(thinking))
44
+ if not self.temperature_with_thinking:
45
+ kwargs["temperature"] = 1.0
46
+ else:
47
+ kwargs["temperature"] = temperature
48
+ else:
49
+ kwargs["temperature"] = temperature
50
+
51
+ return kwargs
52
+
53
+ def thinking_kwargs(self, effort):
54
+ """Return kwargs to enable thinking at the given effort level."""
55
+ return {}
56
+
57
+ def extract_thinking(self, message):
58
+ """Extract thinking/reasoning content from a response message."""
59
+ return getattr(message, "reasoning_content", None)
60
+
61
+ def extract_thinking_stream(self, delta):
62
+ """Extract thinking content from a streaming delta."""
63
+ return getattr(delta, "reasoning_content", None)
64
+
65
+
66
+ class OpenAIVariant(Variant):
67
+ """Standard OpenAI API (GPT-4o, o1, o3, etc.)."""
68
+
69
+ name = "openai"
70
+ token_param = "max_completion_tokens"
71
+ temperature_with_thinking = False
72
+
73
+ def thinking_kwargs(self, effort):
74
+ return {"reasoning_effort": effort}
75
+
76
+
77
+ class DeepSeekVariant(Variant):
78
+ """DeepSeek API (R1, V3, etc.)."""
79
+
80
+ name = "deepseek"
81
+ token_param = "max_completion_tokens"
82
+ temperature_with_thinking = True
83
+
84
+ def completion_kwargs(self, max_output, temperature, thinking):
85
+ enabled = "enabled" if thinking != "off" else "disabled"
86
+ kwargs = {
87
+ self.token_param: max_output,
88
+ "temperature": temperature,
89
+ "extra_body": {
90
+ "thinking": {"type": enabled},
91
+ },
92
+ }
93
+ return kwargs
94
+
95
+ def thinking_kwargs(self, effort):
96
+ return {}
97
+
98
+
99
+ class QwenVariant(Variant):
100
+ """Qwen / Alibaba Cloud API."""
101
+
102
+ name = "qwen"
103
+ token_param = "max_completion_tokens"
104
+ temperature_with_thinking = True
105
+
106
+ def completion_kwargs(self, max_output, temperature, thinking):
107
+ enabled = thinking != "off"
108
+ kwargs = {
109
+ self.token_param: max_output,
110
+ "temperature": temperature,
111
+ "extra_body": {
112
+ "enable_thinking": enabled,
113
+ },
114
+ }
115
+ return kwargs
116
+
117
+ def thinking_kwargs(self, effort):
118
+ return {}
119
+
120
+
121
+ class MistralVariant(Variant):
122
+ """Mistral API (Mistral Large, etc.)."""
123
+
124
+ name = "mistral"
125
+ token_param = "max_tokens"
126
+ temperature_with_thinking = False
127
+
128
+ def thinking_kwargs(self, effort):
129
+ return {"reasoning_effort": effort}
130
+
131
+
132
+ class LlamaVariant(Variant):
133
+ """Llama models via OpenAI-compatible servers (vLLM, Ollama, etc.).
134
+
135
+ Thinking is typically always-on or always-off depending on the model.
136
+ When present, thinking appears inline as <think>...</think> tags.
137
+ """
138
+
139
+ name = "llama"
140
+ token_param = "max_tokens"
141
+ temperature_with_thinking = True
142
+
143
+ def thinking_kwargs(self, effort):
144
+ return {}
145
+
146
+ def extract_thinking(self, message):
147
+ content = message.content or ""
148
+ match = re.search(r"<think>(.*?)</think>", content, re.DOTALL)
149
+ return match.group(1).strip() if match else None
150
+
151
+ def extract_content(self, message):
152
+ """Strip think tags from visible content."""
153
+ content = message.content or ""
154
+ return re.sub(r"<think>.*?</think>", "", content, flags=re.DOTALL).strip()
155
+
156
+
157
+ VARIANTS = {
158
+ "openai": OpenAIVariant,
159
+ "deepseek": DeepSeekVariant,
160
+ "qwen": QwenVariant,
161
+ "mistral": MistralVariant,
162
+ "llama": LlamaVariant,
163
+ }
164
+
165
+ DEFAULT_VARIANT = "openai"
166
+
167
+
168
+ def get_variant(name):
169
+ """Look up a variant by name, raising ValueError if unknown."""
170
+ cls = VARIANTS.get(name)
171
+ if cls is None:
172
+ raise ValueError(
173
+ f"Unknown variant {name!r}. "
174
+ f"Available: {', '.join(sorted(VARIANTS))}"
175
+ )
176
+ return cls()
@@ -0,0 +1,2 @@
1
+
2
+ from . processor import *
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env python3
2
+
3
+ from . processor import run
4
+
5
+ if __name__ == '__main__':
6
+ run()
@@ -0,0 +1,109 @@
1
+
2
+ """
3
+ Reranker service using flashrank.
4
+ Scores query-document pairs and returns the top results ranked by
5
+ relevance.
6
+ """
7
+
8
+ import asyncio
9
+ import logging
10
+
11
+ from ... base import RerankerService
12
+ from ... schema import RerankerResult
13
+
14
+ from flashrank import Ranker, RerankRequest
15
+
16
+ logger = logging.getLogger(__name__)
17
+
18
+ default_ident = "reranker"
19
+
20
+ default_model = "ms-marco-MiniLM-L-12-v2"
21
+
22
+ class Processor(RerankerService):
23
+
24
+ def __init__(self, **params):
25
+
26
+ model = params.get("model", default_model)
27
+
28
+ super(Processor, self).__init__(
29
+ **params | { "model": model }
30
+ )
31
+
32
+ self.default_model = model
33
+
34
+ self.cached_model_name = None
35
+ self.ranker = None
36
+
37
+ self._load_model(model)
38
+
39
+ def _load_model(self, model_name):
40
+ if self.cached_model_name != model_name:
41
+ logger.info(f"Loading flashrank model: {model_name}")
42
+ self.ranker = Ranker(model_name=model_name)
43
+ self.cached_model_name = model_name
44
+ logger.info(f"flashrank model {model_name} loaded successfully")
45
+ else:
46
+ logger.debug(f"Using cached model: {model_name}")
47
+
48
+ def _run_rerank(self, query, passages):
49
+ request = RerankRequest(query=query, passages=passages)
50
+ return self.ranker.rerank(request)
51
+
52
+ async def on_rerank(self, queries, documents, limit, model=None):
53
+
54
+ if not queries or not documents:
55
+ return []
56
+
57
+ use_model = model or self.default_model
58
+
59
+ if self.cached_model_name != use_model:
60
+ await asyncio.to_thread(self._load_model, use_model)
61
+
62
+ passages = [
63
+ {"id": d.document_id, "text": d.document_text}
64
+ for d in documents
65
+ ]
66
+
67
+ best_scores = {}
68
+
69
+ for q in queries:
70
+ ranked = await asyncio.to_thread(
71
+ self._run_rerank, q.query_text, passages,
72
+ )
73
+
74
+ for r in ranked:
75
+ doc_id = r["id"]
76
+ score = r["score"]
77
+ score = float(score)
78
+ if doc_id not in best_scores or score > best_scores[doc_id][1]:
79
+ best_scores[doc_id] = (q.query_id, score)
80
+
81
+ results = sorted(
82
+ best_scores.items(),
83
+ key=lambda x: x[1][1],
84
+ reverse=True,
85
+ )[:limit]
86
+
87
+ return [
88
+ RerankerResult(
89
+ document_id=doc_id,
90
+ query_id=query_id,
91
+ score=score,
92
+ )
93
+ for doc_id, (query_id, score) in results
94
+ ]
95
+
96
+ @staticmethod
97
+ def add_args(parser):
98
+
99
+ RerankerService.add_args(parser)
100
+
101
+ parser.add_argument(
102
+ '-m', '--model',
103
+ default=default_model,
104
+ help=f'Reranker model (default: {default_model})'
105
+ )
106
+
107
+ def run():
108
+
109
+ Processor.launch(default_ident, __doc__)