trustgraph-flow 0.21.2__tar.gz → 0.21.4__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 (283) hide show
  1. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/PKG-INFO +2 -2
  2. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/react/service.py +6 -4
  3. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/document_rag.py +4 -0
  4. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/document_embeddings/embeddings.py +1 -0
  5. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/definitions/extract.py +1 -0
  6. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/relationships/extract.py +1 -0
  7. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/topics/extract.py +1 -0
  8. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/object/row/extract.py +1 -0
  9. trustgraph-flow-0.21.4/trustgraph/flow_version.py +1 -0
  10. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/document_embeddings_stream.py +1 -1
  11. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/librarian.py +4 -1
  12. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/serialize.py +28 -5
  13. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/service.py +19 -3
  14. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/graph_rag.py +5 -0
  15. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/librarian/librarian.py +18 -4
  16. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/librarian/service.py +22 -7
  17. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/librarian/table_store.py +86 -7
  18. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/generic/service.py +2 -1
  19. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/template/service.py +2 -1
  20. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/processing/processing.py +11 -1
  21. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/document_rag/rag.py +1 -0
  22. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/graph_rag/rag.py +1 -0
  23. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph_flow.egg-info/PKG-INFO +2 -2
  24. trustgraph-flow-0.21.2/trustgraph/flow_version.py +0 -1
  25. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/README.md +0 -0
  26. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/agent-manager-react +0 -0
  27. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/api-gateway +0 -0
  28. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/chunker-recursive +0 -0
  29. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/chunker-token +0 -0
  30. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/de-query-milvus +0 -0
  31. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/de-query-pinecone +0 -0
  32. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/de-query-qdrant +0 -0
  33. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/de-write-milvus +0 -0
  34. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/de-write-pinecone +0 -0
  35. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/de-write-qdrant +0 -0
  36. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/document-embeddings +0 -0
  37. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/document-rag +0 -0
  38. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/embeddings-fastembed +0 -0
  39. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/embeddings-ollama +0 -0
  40. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/ge-query-milvus +0 -0
  41. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/ge-query-pinecone +0 -0
  42. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/ge-query-qdrant +0 -0
  43. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/ge-write-milvus +0 -0
  44. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/ge-write-pinecone +0 -0
  45. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/ge-write-qdrant +0 -0
  46. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/graph-embeddings +0 -0
  47. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/graph-rag +0 -0
  48. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/kg-extract-definitions +0 -0
  49. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/kg-extract-relationships +0 -0
  50. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/kg-extract-topics +0 -0
  51. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/librarian +0 -0
  52. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/metering +0 -0
  53. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/object-extract-row +0 -0
  54. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/oe-write-milvus +0 -0
  55. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/pdf-decoder +0 -0
  56. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/prompt-generic +0 -0
  57. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/prompt-template +0 -0
  58. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/rows-write-cassandra +0 -0
  59. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/run-processing +0 -0
  60. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-azure +0 -0
  61. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-azure-openai +0 -0
  62. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-claude +0 -0
  63. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-cohere +0 -0
  64. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-googleaistudio +0 -0
  65. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-llamafile +0 -0
  66. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-ollama +0 -0
  67. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/text-completion-openai +0 -0
  68. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-query-cassandra +0 -0
  69. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-query-falkordb +0 -0
  70. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-query-memgraph +0 -0
  71. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-query-neo4j +0 -0
  72. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-write-cassandra +0 -0
  73. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-write-falkordb +0 -0
  74. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-write-memgraph +0 -0
  75. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/triples-write-neo4j +0 -0
  76. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/scripts/wikipedia-lookup +0 -0
  77. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/setup.cfg +0 -0
  78. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/setup.py +0 -0
  79. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/__init__.py +0 -0
  80. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/__init__.py +0 -0
  81. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/react/__init__.py +0 -0
  82. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/react/__main__.py +0 -0
  83. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/react/agent_manager.py +0 -0
  84. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/react/tools.py +0 -0
  85. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/agent/react/types.py +0 -0
  86. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/__init__.py +0 -0
  87. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/recursive/__init__.py +0 -0
  88. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/recursive/__main__.py +0 -0
  89. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/recursive/chunker.py +0 -0
  90. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/token/__init__.py +0 -0
  91. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/token/__main__.py +0 -0
  92. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/chunking/token/chunker.py +0 -0
  93. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/decoding/__init__.py +0 -0
  94. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/decoding/pdf/__init__.py +0 -0
  95. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/decoding/pdf/__main__.py +0 -0
  96. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
  97. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/direct/__init__.py +0 -0
  98. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/direct/cassandra.py +0 -0
  99. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
  100. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
  101. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/direct/milvus_object_embeddings.py +0 -0
  102. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/__init__.py +0 -0
  103. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
  104. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
  105. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/fastembed/__init__.py +0 -0
  106. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/fastembed/__main__.py +0 -0
  107. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/fastembed/processor.py +0 -0
  108. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
  109. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
  110. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
  111. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/ollama/__init__.py +0 -0
  112. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/ollama/__main__.py +0 -0
  113. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/embeddings/ollama/processor.py +0 -0
  114. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/external/__init__.py +0 -0
  115. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/external/wikipedia/__init__.py +0 -0
  116. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/external/wikipedia/__main__.py +0 -0
  117. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/external/wikipedia/service.py +0 -0
  118. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/__init__.py +0 -0
  119. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/__init__.py +0 -0
  120. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/definitions/__init__.py +0 -0
  121. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/definitions/__main__.py +0 -0
  122. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/relationships/__init__.py +0 -0
  123. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/relationships/__main__.py +0 -0
  124. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/topics/__init__.py +0 -0
  125. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/kg/topics/__main__.py +0 -0
  126. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/object/__init__.py +0 -0
  127. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/object/row/__init__.py +0 -0
  128. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/extract/object/row/__main__.py +0 -0
  129. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/__init__.py +0 -0
  130. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/__main__.py +0 -0
  131. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/agent.py +0 -0
  132. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/auth.py +0 -0
  133. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/dbpedia.py +0 -0
  134. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/document_embeddings_load.py +0 -0
  135. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/document_load.py +0 -0
  136. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/document_rag.py +0 -0
  137. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/embeddings.py +0 -0
  138. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/encyclopedia.py +0 -0
  139. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/endpoint.py +0 -0
  140. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/graph_embeddings_load.py +0 -0
  141. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/graph_embeddings_query.py +0 -0
  142. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/graph_embeddings_stream.py +0 -0
  143. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/graph_rag.py +0 -0
  144. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/internet_search.py +0 -0
  145. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/metrics.py +0 -0
  146. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/mux.py +0 -0
  147. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/prompt.py +0 -0
  148. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/requestor.py +0 -0
  149. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/running.py +0 -0
  150. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/sender.py +0 -0
  151. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/socket.py +0 -0
  152. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/text_completion.py +0 -0
  153. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/text_load.py +0 -0
  154. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/triples_load.py +0 -0
  155. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/triples_query.py +0 -0
  156. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/gateway/triples_stream.py +0 -0
  157. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/librarian/__init__.py +0 -0
  158. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/librarian/__main__.py +0 -0
  159. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/librarian/blob_store.py +0 -0
  160. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/metering/__init__.py +0 -0
  161. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/metering/__main__.py +0 -0
  162. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/metering/counter.py +0 -0
  163. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/metering/pricelist.py +0 -0
  164. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/__init__.py +0 -0
  165. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/__init__.py +0 -0
  166. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/generic/__init__.py +0 -0
  167. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/generic/__main__.py +0 -0
  168. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/generic/prompts.py +0 -0
  169. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/template/__init__.py +0 -0
  170. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/template/__main__.py +0 -0
  171. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/prompt/template/prompt_manager.py +0 -0
  172. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/__init__.py +0 -0
  173. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/azure/__init__.py +0 -0
  174. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/azure/__main__.py +0 -0
  175. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/azure/llm.py +0 -0
  176. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
  177. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
  178. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/azure_openai/llm.py +0 -0
  179. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/claude/__init__.py +0 -0
  180. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/claude/__main__.py +0 -0
  181. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/claude/llm.py +0 -0
  182. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
  183. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
  184. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/cohere/llm.py +0 -0
  185. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/googleaistudio/__init__.py +0 -0
  186. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/googleaistudio/__main__.py +0 -0
  187. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/googleaistudio/llm.py +0 -0
  188. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
  189. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
  190. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/llamafile/llm.py +0 -0
  191. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
  192. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
  193. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/ollama/llm.py +0 -0
  194. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/openai/__init__.py +0 -0
  195. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/openai/__main__.py +0 -0
  196. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/model/text_completion/openai/llm.py +0 -0
  197. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/processing/__init__.py +0 -0
  198. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/processing/__main__.py +0 -0
  199. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/__init__.py +0 -0
  200. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/__init__.py +0 -0
  201. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
  202. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
  203. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
  204. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
  205. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
  206. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
  207. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
  208. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
  209. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
  210. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/__init__.py +0 -0
  211. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
  212. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
  213. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
  214. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
  215. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
  216. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
  217. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
  218. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
  219. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
  220. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/__init__.py +0 -0
  221. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/cassandra/__init__.py +0 -0
  222. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/cassandra/__main__.py +0 -0
  223. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/cassandra/service.py +0 -0
  224. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/falkordb/__init__.py +0 -0
  225. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/falkordb/__main__.py +0 -0
  226. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/falkordb/service.py +0 -0
  227. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/memgraph/__init__.py +0 -0
  228. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/memgraph/__main__.py +0 -0
  229. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/memgraph/service.py +0 -0
  230. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/neo4j/__init__.py +0 -0
  231. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/neo4j/__main__.py +0 -0
  232. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/query/triples/neo4j/service.py +0 -0
  233. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/__init__.py +0 -0
  234. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/document_rag/__init__.py +0 -0
  235. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/document_rag/__main__.py +0 -0
  236. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
  237. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
  238. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/__init__.py +0 -0
  239. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/__init__.py +0 -0
  240. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
  241. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
  242. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/milvus/write.py +0 -0
  243. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
  244. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
  245. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/pinecone/write.py +0 -0
  246. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
  247. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
  248. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/doc_embeddings/qdrant/write.py +0 -0
  249. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/__init__.py +0 -0
  250. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
  251. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
  252. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/milvus/write.py +0 -0
  253. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
  254. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
  255. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/pinecone/write.py +0 -0
  256. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
  257. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
  258. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/graph_embeddings/qdrant/write.py +0 -0
  259. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/object_embeddings/__init__.py +0 -0
  260. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/object_embeddings/milvus/__init__.py +0 -0
  261. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/object_embeddings/milvus/__main__.py +0 -0
  262. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/object_embeddings/milvus/write.py +0 -0
  263. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/rows/__init__.py +0 -0
  264. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
  265. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
  266. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/rows/cassandra/write.py +0 -0
  267. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/__init__.py +0 -0
  268. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
  269. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
  270. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/cassandra/write.py +0 -0
  271. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
  272. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
  273. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/falkordb/write.py +0 -0
  274. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
  275. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
  276. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/memgraph/write.py +0 -0
  277. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
  278. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
  279. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph/storage/triples/neo4j/write.py +0 -0
  280. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph_flow.egg-info/SOURCES.txt +0 -0
  281. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
  282. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph_flow.egg-info/requires.txt +0 -0
  283. {trustgraph-flow-0.21.2 → trustgraph-flow-0.21.4}/trustgraph_flow.egg-info/top_level.txt +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: trustgraph-flow
3
- Version: 0.21.2
3
+ Version: 0.21.4
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
  Home-page: https://github.com/trustgraph-ai/trustgraph
6
- Download-URL: https://github.com/trustgraph-ai/trustgraph/archive/refs/tags/v0.21.2.tar.gz
6
+ Download-URL: https://github.com/trustgraph-ai/trustgraph/archive/refs/tags/v0.21.4.tar.gz
7
7
  Author: trustgraph.ai
8
8
  Author-email: security@trustgraph.ai
9
9
  Classifier: Programming Language :: Python :: 3
@@ -156,14 +156,16 @@ class Processor(ConsumerProducer):
156
156
  subscriber=subscriber,
157
157
  input_queue=prompt_request_queue,
158
158
  output_queue=prompt_response_queue,
159
- pulsar_host = self.pulsar_host
159
+ pulsar_host = self.pulsar_host,
160
+ pulsar_api_key=self.pulsar_api_key,
160
161
  )
161
162
 
162
163
  self.graph_rag = GraphRagClient(
163
164
  subscriber=subscriber,
164
165
  input_queue=graph_rag_request_queue,
165
166
  output_queue=graph_rag_response_queue,
166
- pulsar_host = self.pulsar_host
167
+ pulsar_host = self.pulsar_host,
168
+ pulsar_api_key=self.pulsar_api_key,
167
169
  )
168
170
 
169
171
  # Need to be able to feed requests to myself
@@ -218,7 +220,7 @@ class Processor(ConsumerProducer):
218
220
 
219
221
  print(f"History: {history}", flush=True)
220
222
 
221
- def think(x):
223
+ async def think(x):
222
224
 
223
225
  print(f"Think: {x}", flush=True)
224
226
 
@@ -231,7 +233,7 @@ class Processor(ConsumerProducer):
231
233
 
232
234
  await self.producer.send(r, properties={"id": id})
233
235
 
234
- def observe(x):
236
+ async def observe(x):
235
237
 
236
238
  print(f"Observe: {x}", flush=True)
237
239
 
@@ -59,6 +59,7 @@ class DocumentRag:
59
59
  def __init__(
60
60
  self,
61
61
  pulsar_host="pulsar://pulsar:6650",
62
+ pulsar_api_key=None,
62
63
  pr_request_queue=None,
63
64
  pr_response_queue=None,
64
65
  emb_request_queue=None,
@@ -100,6 +101,7 @@ class DocumentRag:
100
101
  subscriber=module + "-de",
101
102
  input_queue=de_request_queue,
102
103
  output_queue=de_response_queue,
104
+ pulsar_api_key=pulsar_api_key,
103
105
  )
104
106
 
105
107
  self.embeddings = EmbeddingsClient(
@@ -107,6 +109,7 @@ class DocumentRag:
107
109
  input_queue=emb_request_queue,
108
110
  output_queue=emb_response_queue,
109
111
  subscriber=module + "-emb",
112
+ pulsar_api_key=pulsar_api_key,
110
113
  )
111
114
 
112
115
  self.lang = PromptClient(
@@ -114,6 +117,7 @@ class DocumentRag:
114
117
  input_queue=pr_request_queue,
115
118
  output_queue=pr_response_queue,
116
119
  subscriber=module + "-de-prompt",
120
+ pulsar_api_key=pulsar_api_key,
117
121
  )
118
122
 
119
123
  if self.verbose:
@@ -47,6 +47,7 @@ class Processor(ConsumerProducer):
47
47
 
48
48
  self.embeddings = EmbeddingsClient(
49
49
  pulsar_host=self.pulsar_host,
50
+ pulsar_api_key=self.pulsar_api_key,
50
51
  input_queue=emb_request_queue,
51
52
  output_queue=emb_response_queue,
52
53
  subscriber=module + "-emb",
@@ -79,6 +79,7 @@ class Processor(ConsumerProducer):
79
79
 
80
80
  self.prompt = PromptClient(
81
81
  pulsar_host=self.pulsar_host,
82
+ pulsar_api_key=self.pulsar_api_key,
82
83
  input_queue=pr_request_queue,
83
84
  output_queue=pr_response_queue,
84
85
  subscriber = module + "-prompt",
@@ -54,6 +54,7 @@ class Processor(ConsumerProducer):
54
54
 
55
55
  self.prompt = PromptClient(
56
56
  pulsar_host=self.pulsar_host,
57
+ pulsar_api_key=self.pulsar_api_key,
57
58
  input_queue=pr_request_queue,
58
59
  output_queue=pr_response_queue,
59
60
  subscriber = module + "-prompt",
@@ -52,6 +52,7 @@ class Processor(ConsumerProducer):
52
52
 
53
53
  self.prompt = PromptClient(
54
54
  pulsar_host=self.pulsar_host,
55
+ pulsar_api_key=self.pulsar_api_key,
55
56
  input_queue=pr_request_queue,
56
57
  output_queue=pr_response_queue,
57
58
  subscriber = module + "-prompt",
@@ -112,6 +112,7 @@ class Processor(ConsumerProducer):
112
112
 
113
113
  self.prompt = PromptClient(
114
114
  pulsar_host=self.pulsar_host,
115
+ pulsar_api_key=self.pulsar_api_key,
115
116
  input_queue=pr_request_queue,
116
117
  output_queue=pr_response_queue,
117
118
  subscriber = module + "-prompt",
@@ -0,0 +1 @@
1
+ __version__ = "0.21.4"
@@ -27,7 +27,7 @@ class DocumentEmbeddingsStreamEndpoint(SocketEndpoint):
27
27
  self.subscriber = Subscriber(
28
28
  self.pulsar_client, document_embeddings_store_queue,
29
29
  "api-gateway", "api-gateway",
30
- schema=JsonSchema(DocumentEmbeddings)
30
+ schema=JsonSchema(DocumentEmbeddings),
31
31
  )
32
32
 
33
33
  async def listener(self, ws, running):
@@ -53,7 +53,10 @@ class LibrarianRequestor(ServiceRequestor):
53
53
  response["document"] = serialize_document_package(message.document)
54
54
 
55
55
  if message.info:
56
- response["info"] = serialize_document_info(message.info)
56
+ response["info"] = [
57
+ serialize_document_info(v)
58
+ for v in message.info
59
+ ]
57
60
 
58
61
  return response, True
59
62
 
@@ -84,6 +84,9 @@ def serialize_document_package(message):
84
84
 
85
85
  ret = {}
86
86
 
87
+ if message.id:
88
+ ret["id"] = message.id
89
+
87
90
  if message.metadata:
88
91
  ret["metadata"] = serialize_subgraph(message.metdata)
89
92
 
@@ -108,8 +111,8 @@ def serialize_document_info(message):
108
111
 
109
112
  ret = {}
110
113
 
111
- if message.metadata:
112
- ret["metadata"] = serialize_subgraph(message.metdata)
114
+ if message.id:
115
+ ret["id"] = message.id
113
116
 
114
117
  if message.kind:
115
118
  ret["kind"] = message.kind
@@ -120,25 +123,45 @@ def serialize_document_info(message):
120
123
  if message.collection:
121
124
  ret["collection"] = message.collection
122
125
 
126
+ if message.title:
127
+ ret["title"] = message.title
128
+
129
+ if message.comments:
130
+ ret["comments"] = message.comments
131
+
132
+ if message.time:
133
+ ret["time"] = message.time
134
+
135
+ if message.metadata:
136
+ ret["metadata"] = serialize_subgraph(message.metadata)
137
+
123
138
  return ret
124
139
 
125
140
  def to_document_package(x):
126
141
 
127
142
  return DocumentPackage(
128
- metadata = to_subgraph(x["metadata"]),
129
- document = x.get("document", None),
143
+ id = x.get("id", None),
130
144
  kind = x.get("kind", None),
131
145
  user = x.get("user", None),
132
146
  collection = x.get("collection", None),
147
+ title = x.get("title", None),
148
+ comments = x.get("comments", None),
149
+ time = x.get("time", None),
150
+ document = x.get("document", None),
151
+ metadata = to_subgraph(x["metadata"]),
133
152
  )
134
153
 
135
154
  def to_document_info(x):
136
155
 
137
156
  return DocumentInfo(
138
- metadata = to_subgraph(x["metadata"]),
157
+ id = x.get("id", None),
139
158
  kind = x.get("kind", None),
140
159
  user = x.get("user", None),
141
160
  collection = x.get("collection", None),
161
+ title = x.get("title", None),
162
+ comments = x.get("comments", None),
163
+ time = x.get("time", None),
164
+ metadata = to_subgraph(x["metadata"]),
142
165
  )
143
166
 
144
167
  def to_criteria(x):
@@ -57,6 +57,7 @@ logger.setLevel(logging.INFO)
57
57
 
58
58
  default_pulsar_host = os.getenv("PULSAR_HOST", "pulsar://pulsar:6650")
59
59
  default_prometheus_url = os.getenv("PROMETHEUS_URL", "http://prometheus:9090")
60
+ default_pulsar_api_key = os.getenv("PULSAR_API_KEY", None)
60
61
  default_timeout = 600
61
62
  default_port = 8088
62
63
  default_api_token = os.getenv("GATEWAY_SECRET", "")
@@ -73,11 +74,20 @@ class Api:
73
74
  self.port = int(config.get("port", default_port))
74
75
  self.timeout = int(config.get("timeout", default_timeout))
75
76
  self.pulsar_host = config.get("pulsar_host", default_pulsar_host)
77
+ self.pulsar_api_key = config.get(
78
+ "pulsar_api_key", default_pulsar_api_key
79
+ )
76
80
  self.pulsar_listener = config.get("pulsar_listener", None)
77
81
 
78
- self.pulsar_client = pulsar.Client(
79
- self.pulsar_host, listener_name=self.pulsar_listener
80
- )
82
+ if self.pulsar_api_key:
83
+ self.pulsar_client = pulsar.Client(
84
+ self.pulsar_host, listener_name=self.pulsar_listener,
85
+ authentication=pulsar.AuthenticationToken(self.pulsar_api_key)
86
+ )
87
+ else:
88
+ self.pulsar_client = pulsar.Client(
89
+ self.pulsar_host, listener_name=self.pulsar_listener,
90
+ )
81
91
 
82
92
  self.prometheus_url = config.get(
83
93
  "prometheus_url", default_prometheus_url,
@@ -270,6 +280,12 @@ def run():
270
280
  default=default_pulsar_host,
271
281
  help=f'Pulsar host (default: {default_pulsar_host})',
272
282
  )
283
+
284
+ parser.add_argument(
285
+ '--pulsar-api-key',
286
+ default=default_pulsar_api_key,
287
+ help=f'Pulsar API key',
288
+ )
273
289
 
274
290
  parser.add_argument(
275
291
  '--pulsar-listener',
@@ -161,6 +161,7 @@ class GraphRag:
161
161
  def __init__(
162
162
  self,
163
163
  pulsar_host="pulsar://pulsar:6650",
164
+ pulsar_api_key=None,
164
165
  pr_request_queue=None,
165
166
  pr_response_queue=None,
166
167
  emb_request_queue=None,
@@ -207,6 +208,7 @@ class GraphRag:
207
208
 
208
209
  self.ge_client = GraphEmbeddingsClient(
209
210
  pulsar_host=pulsar_host,
211
+ pulsar_api_key=pulsar_api_key,
210
212
  subscriber=module + "-ge",
211
213
  input_queue=ge_request_queue,
212
214
  output_queue=ge_response_queue,
@@ -214,6 +216,7 @@ class GraphRag:
214
216
 
215
217
  self.triples_client = TriplesQueryClient(
216
218
  pulsar_host=pulsar_host,
219
+ pulsar_api_key=pulsar_api_key,
217
220
  subscriber=module + "-tpl",
218
221
  input_queue=tpl_request_queue,
219
222
  output_queue=tpl_response_queue
@@ -221,6 +224,7 @@ class GraphRag:
221
224
 
222
225
  self.embeddings = EmbeddingsClient(
223
226
  pulsar_host=pulsar_host,
227
+ pulsar_api_key=pulsar_api_key,
224
228
  input_queue=emb_request_queue,
225
229
  output_queue=emb_response_queue,
226
230
  subscriber=module + "-emb",
@@ -234,6 +238,7 @@ class GraphRag:
234
238
 
235
239
  self.prompt = PromptClient(
236
240
  pulsar_host=pulsar_host,
241
+ pulsar_api_key=pulsar_api_key,
237
242
  input_queue=pr_request_queue,
238
243
  output_queue=pr_response_queue,
239
244
  subscriber=module + "-prompt",
@@ -1,4 +1,4 @@
1
- from .. schema import LibrarianRequest, LibrarianResponse, Error
1
+ from .. schema import LibrarianRequest, LibrarianResponse, Error, Triple
2
2
  from .. knowledge import hash
3
3
  from .. exceptions import RequestError
4
4
  from . table_store import TableStore
@@ -26,7 +26,7 @@ class Librarian:
26
26
  self.load_document = load_document
27
27
  self.load_text = load_text
28
28
 
29
- async def add(self, id, document):
29
+ async def add(self, document):
30
30
 
31
31
  if document.kind not in (
32
32
  "text/plain", "application/pdf"
@@ -41,9 +41,9 @@ class Librarian:
41
41
  self.table_store.add(object_id, document)
42
42
 
43
43
  if document.kind == "application/pdf":
44
- await self.load_document(id, document)
44
+ await self.load_document(document)
45
45
  elif document.kind == "text/plain":
46
- await self.load_text(id, document)
46
+ await self.load_text(document)
47
47
 
48
48
  print("Add complete", flush=True)
49
49
 
@@ -53,6 +53,20 @@ class Librarian:
53
53
  info = None,
54
54
  )
55
55
 
56
+ async def list(self, user, collection):
57
+
58
+ print("list")
59
+
60
+ info = self.table_store.list(user, collection)
61
+
62
+ print(">>", info)
63
+
64
+ return LibrarianResponse(
65
+ error = None,
66
+ document = None,
67
+ info = info,
68
+ )
69
+
56
70
  def handle_triples(self, m):
57
71
  self.table_store.add_triples(m)
58
72
 
@@ -223,11 +223,11 @@ class Processor(ConsumerProducer):
223
223
 
224
224
  self.librarian.handle_document_embeddings(msg)
225
225
 
226
- async def load_document(self, id, document):
226
+ async def load_document(self, document):
227
227
 
228
228
  doc = Document(
229
229
  metadata = Metadata(
230
- id = id,
230
+ id = document.id,
231
231
  metadata = document.metadata,
232
232
  user = document.user,
233
233
  collection = document.collection
@@ -237,14 +237,14 @@ class Processor(ConsumerProducer):
237
237
 
238
238
  self.document_load.send(None, doc)
239
239
 
240
- async def load_text(self, id, document):
240
+ async def load_text(self, document):
241
241
 
242
242
  text = base64.b64decode(document.document)
243
243
  text = text.decode("utf-8")
244
244
 
245
245
  doc = TextDocument(
246
246
  metadata = Metadata(
247
- id = id,
247
+ id = document.id,
248
248
  metadata = document.metadata,
249
249
  user = document.user,
250
250
  collection = document.collection
@@ -259,19 +259,33 @@ class Processor(ConsumerProducer):
259
259
  if v.operation is None:
260
260
  raise RequestError("Null operation")
261
261
 
262
+ print("op", v.operation)
263
+
262
264
  if v.operation == "add":
263
265
  if (
264
- v.id and v.document and v.document.metadata and
266
+ v.document and v.document.id and v.document.metadata and
265
267
  v.document.document and v.document.kind
266
268
  ):
267
269
  return partial(
268
270
  self.librarian.add,
269
- id = v.id,
270
271
  document = v.document,
271
272
  )
272
273
  else:
273
274
  raise RequestError("Invalid call")
274
275
 
276
+ if v.operation == "list":
277
+ print("list", v)
278
+ print(v.user)
279
+ if v.user:
280
+ return partial(
281
+ self.librarian.list,
282
+ user = v.user,
283
+ collection = v.collection,
284
+ )
285
+ else:
286
+ print("BROK")
287
+ raise RequestError("Invalid call")
288
+
275
289
  raise RequestError("Invalid operation: " + v.operation)
276
290
 
277
291
  async def handle(self, msg):
@@ -298,6 +312,7 @@ class Processor(ConsumerProducer):
298
312
 
299
313
  try:
300
314
  resp = await func()
315
+ print("->", resp)
301
316
  except RequestError as e:
302
317
  resp = LibrarianResponse(
303
318
  error = Error(
@@ -318,7 +333,7 @@ class Processor(ConsumerProducer):
318
333
  await self.send(resp, properties={"id": id})
319
334
  return
320
335
 
321
- print("Send response...", flush=True)
336
+ print("Send response..!.", flush=True)
322
337
 
323
338
  await self.send(resp, properties={"id": id})
324
339
 
@@ -1,4 +1,5 @@
1
- from .. schema import LibrarianRequest, LibrarianResponse, Error
1
+ from .. schema import LibrarianRequest, LibrarianResponse
2
+ from .. schema import DocumentInfo, Error, Triple, Value
2
3
  from .. knowledge import hash
3
4
  from .. exceptions import RequestError
4
5
 
@@ -61,7 +62,7 @@ class TableStore:
61
62
  CREATE TABLE IF NOT EXISTS document (
62
63
  user text,
63
64
  collection text,
64
- id uuid,
65
+ id text,
65
66
  time timestamp,
66
67
  title text,
67
68
  comments text,
@@ -157,6 +158,20 @@ class TableStore:
157
158
  VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
158
159
  """)
159
160
 
161
+ self.list_document_stmt = self.cassandra.prepare("""
162
+ SELECT
163
+ id, kind, user, collection, title, comments, time, metadata
164
+ FROM document
165
+ WHERE user = ?
166
+ """)
167
+
168
+ self.list_document_by_collection_stmt = self.cassandra.prepare("""
169
+ SELECT
170
+ id, kind, user, collection, title, comments, time, metadata
171
+ FROM document
172
+ WHERE user = ? AND collection = ?
173
+ """)
174
+
160
175
  self.insert_triples_stmt = self.cassandra.prepare("""
161
176
  INSERT INTO triples
162
177
  (
@@ -192,10 +207,9 @@ class TableStore:
192
207
  raise RequestError("Invalid document kind: " + document.kind)
193
208
 
194
209
  # Create random doc ID
195
- doc_id = uuid.uuid4()
196
210
  when = int(time.time() * 1000)
197
211
 
198
- print("Adding", object_id, doc_id)
212
+ print("Adding", document.id, object_id)
199
213
 
200
214
  metadata = [
201
215
  (
@@ -205,8 +219,6 @@ class TableStore:
205
219
  for v in document.metadata
206
220
  ]
207
221
 
208
- # FIXME: doc_id should be the user-supplied ID???
209
-
210
222
  while True:
211
223
 
212
224
  try:
@@ -214,7 +226,7 @@ class TableStore:
214
226
  resp = self.cassandra.execute(
215
227
  self.insert_document_stmt,
216
228
  (
217
- doc_id, document.user, document.collection,
229
+ document.id, document.user, document.collection,
218
230
  document.kind, object_id, when,
219
231
  document.title, document.comments,
220
232
  metadata
@@ -275,6 +287,73 @@ class TableStore:
275
287
  print(f"{e}, retry...", flush=True)
276
288
  time.sleep(1)
277
289
 
290
+ def list(self, user, collection=None):
291
+
292
+ print("LIST")
293
+ while True:
294
+
295
+ print("TRY")
296
+
297
+ print(self.list_document_stmt)
298
+ try:
299
+
300
+ if collection:
301
+ resp = self.cassandra.execute(
302
+ self.list_document_by_collection_stmt,
303
+ (user, collection)
304
+ )
305
+ else:
306
+ resp = self.cassandra.execute(
307
+ self.list_document_stmt,
308
+ (user,)
309
+ )
310
+ break
311
+
312
+ print("OK")
313
+
314
+ except Exception as e:
315
+ print("Exception:", type(e))
316
+ print(f"{e}, retry...", flush=True)
317
+ time.sleep(1)
318
+
319
+ print("OK2")
320
+
321
+ info = [
322
+ DocumentInfo(
323
+ id = row[0],
324
+ kind = row[1],
325
+ user = row[2],
326
+ collection = row[3],
327
+ title = row[4],
328
+ comments = row[5],
329
+ time = int(1000 * row[6].timestamp()),
330
+ metadata = [
331
+ Triple(
332
+ s=Value(value=m[0], is_uri=m[1]),
333
+ p=Value(value=m[2], is_uri=m[3]),
334
+ o=Value(value=m[4], is_uri=m[5])
335
+ )
336
+ for m in row[7]
337
+ ],
338
+ )
339
+ for row in resp
340
+ ]
341
+
342
+ print("OK3")
343
+
344
+ print(info[0])
345
+
346
+ print(info[0].user)
347
+ print(info[0].time)
348
+ print(info[0].kind)
349
+ print(info[0].collection)
350
+ print(info[0].title)
351
+ print(info[0].comments)
352
+ print(info[0].metadata)
353
+ print(info[0].metadata)
354
+
355
+ return info
356
+
278
357
  def add_graph_embeddings(self, m):
279
358
 
280
359
  when = int(time.time() * 1000)
@@ -63,7 +63,8 @@ class Processor(ConsumerProducer):
63
63
  subscriber=subscriber,
64
64
  input_queue=tc_request_queue,
65
65
  output_queue=tc_response_queue,
66
- pulsar_host = self.pulsar_host
66
+ pulsar_host = self.pulsar_host,
67
+ pulsar_api_key=self.pulsar_api_key,
67
68
  )
68
69
 
69
70
  def parse_json(self, text):
@@ -136,7 +136,8 @@ class Processor(ConsumerProducer):
136
136
  subscriber=subscriber,
137
137
  input_queue=tc_request_queue,
138
138
  output_queue=tc_response_queue,
139
- pulsar_host = self.pulsar_host
139
+ pulsar_host = self.pulsar_host,
140
+ pulsar_api_key=self.pulsar_api_key,
140
141
  )
141
142
 
142
143
  # System prompt hack
@@ -49,11 +49,12 @@ class Processing:
49
49
  pulsar_host,
50
50
  log_level,
51
51
  file,
52
+ pulsar_api_key=None,
52
53
  ):
53
54
  self.pulsar_host = pulsar_host
54
55
  self.log_level = log_level
55
56
  self.file = file
56
-
57
+ self.pulsar_api_key = pulsar_api_key
57
58
  self.defs = load(open(file, "r"), Loader=Loader)
58
59
 
59
60
  def run(self):
@@ -68,6 +69,7 @@ class Processing:
68
69
 
69
70
  params = {
70
71
  "pulsar_host": self.pulsar_host,
72
+ "pulsar_api_key": self.pulsar_api_key,
71
73
  "log_level": str(self.log_level),
72
74
  }
73
75
 
@@ -125,12 +127,19 @@ def run():
125
127
  )
126
128
 
127
129
  default_pulsar_host = os.getenv("PULSAR_HOST", 'pulsar://pulsar:6650')
130
+ default_pulsar_api_key = os.getenv("PULSAR_API_KEY", None)
128
131
 
129
132
  parser.add_argument(
130
133
  '-p', '--pulsar-host',
131
134
  default=default_pulsar_host,
132
135
  help=f'Pulsar host (default: {default_pulsar_host})',
133
136
  )
137
+
138
+ parser.add_argument(
139
+ '--pulsar-api-key',
140
+ default=default_pulsar_api_key,
141
+ help=f'Pulsar API key',
142
+ )
134
143
 
135
144
  parser.add_argument(
136
145
  '-l', '--log-level',
@@ -153,6 +162,7 @@ def run():
153
162
  try:
154
163
  p = Processing(
155
164
  pulsar_host=args.pulsar_host,
165
+ pulsar_api_key=args.pulsar_api_key,
156
166
  file=args.file,
157
167
  log_level=args.log_level,
158
168
  )
@@ -68,6 +68,7 @@ class Processor(ConsumerProducer):
68
68
 
69
69
  self.rag = DocumentRag(
70
70
  pulsar_host=self.pulsar_host,
71
+ pulsar_api_key=self.pulsar_api_key,
71
72
  pr_request_queue=pr_request_queue,
72
73
  pr_response_queue=pr_response_queue,
73
74
  emb_request_queue=emb_request_queue,
@@ -82,6 +82,7 @@ class Processor(ConsumerProducer):
82
82
 
83
83
  self.rag = GraphRag(
84
84
  pulsar_host=self.pulsar_host,
85
+ pulsar_api_key=self.pulsar_api_key,
85
86
  pr_request_queue=pr_request_queue,
86
87
  pr_response_queue=pr_response_queue,
87
88
  emb_request_queue=emb_request_queue,