trustgraph-flow 2.7.3__tar.gz → 2.7.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.
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/PKG-INFO +1 -1
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/pyproject.toml +1 -0
- trustgraph_flow-2.7.5/trustgraph/flow_version.py +1 -0
- trustgraph_flow-2.7.5/trustgraph/gateway/dispatch/image_to_text.py +32 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/manager.py +2 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/registry.py +1 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/service/iam.py +1 -0
- trustgraph_flow-2.7.5/trustgraph/model/image_to_text/openai/service.py +172 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure/llm.py +31 -5
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure_openai/llm.py +21 -2
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/claude/llm.py +39 -5
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/cohere/llm.py +8 -2
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/llamafile/llm.py +34 -6
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/lmstudio/llm.py +34 -6
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/mistral/llm.py +36 -6
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/ollama/llm.py +21 -4
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/openai/llm.py +46 -2
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/openai/variants.py +14 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/tgi/llm.py +19 -3
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/vllm/llm.py +29 -3
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/prompt/template/service.py +13 -3
- trustgraph_flow-2.7.5/trustgraph/storage/kw_index/fts5/__init__.py +1 -0
- trustgraph_flow-2.7.5/trustgraph/storage/kw_index/fts5/__main__.py +6 -0
- trustgraph_flow-2.7.5/trustgraph/tables/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/template/prompt_manager.py +15 -1
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph_flow.egg-info/PKG-INFO +1 -1
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph_flow.egg-info/SOURCES.txt +5 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph_flow.egg-info/entry_points.txt +1 -0
- trustgraph_flow-2.7.3/trustgraph/flow_version.py +0 -1
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/README.md +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/setup.cfg +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/mcp_tool/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/mcp_tool/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/mcp_tool/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/aggregator.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/meta_router.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/pattern_base.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/plan_pattern.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/react_pattern.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/orchestrator/supervisor_pattern.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/agent_manager.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/streaming_parser.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/tools.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/react/types.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/agent/tool_filter.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/base.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/bootstrapper/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/bootstrapper/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/bootstrapper/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/initialisers/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/initialisers/default_flow_start.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/initialisers/pulsar_topology.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/initialisers/template_seed.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/bootstrap/initialisers/workspace_init.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/recursive/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/recursive/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/recursive/chunker.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/token/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/token/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/chunking/token/chunker.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/config/service/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/config/service/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/config/service/config.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/config/service/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/cores/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/cores/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/cores/knowledge.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/cores/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/mistral_ocr/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/mistral_ocr/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/mistral_ocr/processor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/pdf/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/pdf/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/decoding/pdf/pdf_decoder.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/direct/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/direct/cassandra_kg.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/direct/milvus_doc_embeddings.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/direct/milvus_graph_embeddings.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/document_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/document_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/document_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/fastembed/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/fastembed/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/fastembed/processor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/graph_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/graph_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/graph_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/ollama/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/ollama/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/ollama/processor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/row_embeddings/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/embeddings/row_embeddings/embeddings.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/external/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/external/wikipedia/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/external/wikipedia/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/external/wikipedia/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/agent/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/agent/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/agent/extract.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/definitions/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/definitions/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/definitions/extract.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/entity_normalizer.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/extract.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/ontology_embedder.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/ontology_loader.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/ontology_selector.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/run.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/simplified_parser.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/text_processor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/triple_converter.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/ontology/vector_store.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/relationships/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/relationships/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/relationships/extract.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/rows/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/rows/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/rows/processor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/topics/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/topics/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/extract/kg/topics/extract.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/flow/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/flow/service/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/flow/service/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/flow/service/flow.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/flow/service/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/audit.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/auth.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/capabilities.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/config/receiver.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/agent.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/collection_management.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/config.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/core_export.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/core_import.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/document_embeddings_export.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/document_embeddings_import.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/document_embeddings_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/document_load.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/document_rag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/document_stream.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/embeddings.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/entity_contexts_export.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/entity_contexts_import.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/flow.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/graph_embeddings_export.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/graph_embeddings_import.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/graph_embeddings_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/graph_rag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/iam.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/knowledge.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/librarian.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/mcp_tool.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/mux.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/nlp_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/prompt.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/requestor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/reranker.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/row_embeddings_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/rows_import.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/rows_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/sender.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/serialize.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/sparql_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/streamer.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/structured_diag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/structured_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/text_completion.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/text_load.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/triples_export.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/triples_import.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/dispatch/triples_query.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/auth_endpoints.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/constant_endpoint.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/i18n.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/iam_endpoint.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/manager.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/metrics.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/registry_endpoint.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/socket.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/stream_endpoint.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/endpoint/variable_endpoint.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/running.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/unused/dbpedia.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/unused/encyclopedia.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/gateway/unused/internet_search.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/noauth/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/noauth/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/noauth/handler.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/noauth/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/service/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/service/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/iam/service/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/librarian/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/librarian/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/librarian/blob_store.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/librarian/collection_manager.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/librarian/librarian.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/librarian/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/metering/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/metering/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/metering/counter.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/__init__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/model/text_completion → trustgraph_flow-2.7.5/trustgraph/model/image_to_text}/__init__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query/sparql → trustgraph_flow-2.7.5/trustgraph/model/image_to_text/openai}/__init__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query/sparql → trustgraph_flow-2.7.5/trustgraph/model/image_to_text/openai}/__main__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/prompt → trustgraph_flow-2.7.5/trustgraph/model/text_completion}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure_openai/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure_openai/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/claude/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/claude/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/cohere/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/cohere/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/llamafile/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/llamafile/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/lmstudio/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/lmstudio/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/mistral/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/mistral/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/ollama/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/ollama/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/openai/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/openai/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/tgi/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/tgi/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/vllm/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/vllm/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/processing/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/processing/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/processing/processing.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query → trustgraph_flow-2.7.5/trustgraph/prompt}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/prompt/template/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/prompt/template/__main__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query/doc_embeddings → trustgraph_flow-2.7.5/trustgraph/query}/__init__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query/graph_embeddings → trustgraph_flow-2.7.5/trustgraph/query/doc_embeddings}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/milvus/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/pinecone/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/doc_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query/rows → trustgraph_flow-2.7.5/trustgraph/query/graph_embeddings}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/milvus/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/pinecone/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graph_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graphql/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graphql/filters.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graphql/schema.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/graphql/types.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/answer_generator.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/backend_router.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/cache.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/cypher_executor.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/cypher_generator.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/error_handling.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/monitoring.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/multi_language.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/ontology_matcher.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/query_explanation.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/query_optimizer.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/query_service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/question_analyzer.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/sparql_cassandra.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/ontology/sparql_generator.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/row_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/row_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/row_embeddings/qdrant/service.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/query/triples → trustgraph_flow-2.7.5/trustgraph/query/rows}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/rows/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/rows/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/rows/cassandra/service.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/kw_index/fts5 → trustgraph_flow-2.7.5/trustgraph/query/sparql}/__init__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/kw_index/fts5 → trustgraph_flow-2.7.5/trustgraph/query/sparql}/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/sparql/algebra.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/sparql/expressions.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/sparql/parser.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/sparql/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/sparql/solutions.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/retrieval → trustgraph_flow-2.7.5/trustgraph/query/triples}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/cassandra/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/falkordb/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/falkordb/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/falkordb/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/memgraph/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/memgraph/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/memgraph/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/neo4j/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/neo4j/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/query/triples/neo4j/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/reranker/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/reranker/flashrank/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/reranker/flashrank/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/reranker/flashrank/processor.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage → trustgraph_flow-2.7.5/trustgraph/retrieval}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/document_rag/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/document_rag/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/document_rag/document_rag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/document_rag/rag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/document_rag/rerank.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/graph_rag/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/graph_rag/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/graph_rag/graph_rag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/graph_rag/rag.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/nlp_query/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/nlp_query/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/nlp_query/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/structured_diag/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/structured_diag/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/structured_diag/type_detector.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/structured_query/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/structured_query/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/retrieval/structured_query/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/rev_gateway/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/rev_gateway/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/rev_gateway/dispatcher.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/rev_gateway/service.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/doc_embeddings → trustgraph_flow-2.7.5/trustgraph/storage}/__init__.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/graph_embeddings → trustgraph_flow-2.7.5/trustgraph/storage/doc_embeddings}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/milvus/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/pinecone/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/doc_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/kw_index → trustgraph_flow-2.7.5/trustgraph/storage/graph_embeddings}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/milvus/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/milvus/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/milvus/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/pinecone/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/pinecone/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/pinecone/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/graph_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/knowledge/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/knowledge/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/knowledge/store.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/rows → trustgraph_flow-2.7.5/trustgraph/storage/kw_index}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/kw_index/fts5/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/row_embeddings/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/row_embeddings/qdrant/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/row_embeddings/qdrant/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/row_embeddings/qdrant/write.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/storage/triples → trustgraph_flow-2.7.5/trustgraph/storage/rows}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/rows/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/rows/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/rows/cassandra/write.py +0 -0
- {trustgraph_flow-2.7.3/trustgraph/tables → trustgraph_flow-2.7.5/trustgraph/storage/triples}/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/cassandra/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/cassandra/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/cassandra/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/falkordb/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/falkordb/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/falkordb/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/memgraph/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/memgraph/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/memgraph/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/neo4j/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/neo4j/__main__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/storage/triples/neo4j/write.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tables/cassandra_async.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tables/config.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tables/iam.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tables/knowledge.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tables/library.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/template/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tool_service/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tool_service/joke/__init__.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/tool_service/joke/service.py +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph_flow.egg-info/dependency_links.txt +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph_flow.egg-info/requires.txt +0 -0
- {trustgraph_flow-2.7.3 → trustgraph_flow-2.7.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.7.
|
|
3
|
+
Version: 2.7.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
|
|
@@ -85,6 +85,7 @@ graph-embeddings-write-pinecone = "trustgraph.storage.graph_embeddings.pinecone:
|
|
|
85
85
|
graph-embeddings-write-qdrant = "trustgraph.storage.graph_embeddings.qdrant:run"
|
|
86
86
|
graph-embeddings = "trustgraph.embeddings.graph_embeddings:run"
|
|
87
87
|
graph-rag = "trustgraph.retrieval.graph_rag:run"
|
|
88
|
+
image-to-text-openai = "trustgraph.model.image_to_text.openai:run"
|
|
88
89
|
reranker-flashrank = "trustgraph.reranker.flashrank:run"
|
|
89
90
|
kg-extract-agent = "trustgraph.extract.kg.agent:run"
|
|
90
91
|
kg-extract-definitions = "trustgraph.extract.kg.definitions:run"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.7.5"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
from ... schema import ImageToTextRequest, ImageToTextResponse
|
|
3
|
+
from ... messaging import TranslatorRegistry
|
|
4
|
+
|
|
5
|
+
from . requestor import ServiceRequestor
|
|
6
|
+
|
|
7
|
+
class ImageToTextRequestor(ServiceRequestor):
|
|
8
|
+
def __init__(
|
|
9
|
+
self, backend, request_queue, response_queue, timeout,
|
|
10
|
+
consumer, subscriber,
|
|
11
|
+
):
|
|
12
|
+
|
|
13
|
+
super(ImageToTextRequestor, self).__init__(
|
|
14
|
+
backend=backend,
|
|
15
|
+
request_queue=request_queue,
|
|
16
|
+
response_queue=response_queue,
|
|
17
|
+
request_schema=ImageToTextRequest,
|
|
18
|
+
response_schema=ImageToTextResponse,
|
|
19
|
+
subscription = subscriber,
|
|
20
|
+
consumer_name = consumer,
|
|
21
|
+
timeout=timeout,
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
self.request_translator = TranslatorRegistry.get_request_translator("image-to-text")
|
|
25
|
+
self.response_translator = TranslatorRegistry.get_response_translator("image-to-text")
|
|
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)
|
|
32
|
+
|
|
@@ -23,6 +23,7 @@ from . collection_management import CollectionManagementRequestor
|
|
|
23
23
|
from . embeddings import EmbeddingsRequestor
|
|
24
24
|
from . agent import AgentRequestor
|
|
25
25
|
from . text_completion import TextCompletionRequestor
|
|
26
|
+
from . image_to_text import ImageToTextRequestor
|
|
26
27
|
from . prompt import PromptRequestor
|
|
27
28
|
from . graph_rag import GraphRagRequestor
|
|
28
29
|
from . document_rag import DocumentRagRequestor
|
|
@@ -76,6 +77,7 @@ request_response_dispatchers = {
|
|
|
76
77
|
"row-embeddings": RowEmbeddingsQueryRequestor,
|
|
77
78
|
"sparql": SparqlQueryRequestor,
|
|
78
79
|
"reranker": RerankerRequestor,
|
|
80
|
+
"image-to-text": ImageToTextRequestor,
|
|
79
81
|
}
|
|
80
82
|
|
|
81
83
|
system_dispatchers = {
|
|
@@ -519,6 +519,7 @@ _FLOW_SERVICES = {
|
|
|
519
519
|
"row-embeddings": "row-embeddings:read",
|
|
520
520
|
"sparql": "sparql:read",
|
|
521
521
|
"reranker": "reranker",
|
|
522
|
+
"image-to-text": "image-to-text",
|
|
522
523
|
}
|
|
523
524
|
for _kind, _cap in _FLOW_SERVICES.items():
|
|
524
525
|
_register_flow_kind("flow-service", _kind, _cap)
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
|
|
2
|
+
"""
|
|
3
|
+
Simple image-to-text service, describes images using the OpenAI vision
|
|
4
|
+
API. Input is base64-encoded image, MIME type and prompt, output is
|
|
5
|
+
image description.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from openai import OpenAI, RateLimitError, InternalServerError
|
|
9
|
+
import os
|
|
10
|
+
import logging
|
|
11
|
+
|
|
12
|
+
from .... exceptions import TooManyRequests, LlmError
|
|
13
|
+
from .... base import ImageToTextService, ImageDescriptionResult
|
|
14
|
+
|
|
15
|
+
# Module logger
|
|
16
|
+
logger = logging.getLogger(__name__)
|
|
17
|
+
|
|
18
|
+
default_ident = "image-to-text"
|
|
19
|
+
|
|
20
|
+
default_model = 'gpt-5-mini'
|
|
21
|
+
default_max_output = 4096
|
|
22
|
+
default_api_key = os.getenv("OPENAI_TOKEN")
|
|
23
|
+
default_base_url = os.getenv("OPENAI_BASE_URL")
|
|
24
|
+
default_prompt = 'Describe this image'
|
|
25
|
+
|
|
26
|
+
if default_base_url is None or default_base_url == "":
|
|
27
|
+
default_base_url = "https://api.openai.com/v1"
|
|
28
|
+
|
|
29
|
+
class Processor(ImageToTextService):
|
|
30
|
+
|
|
31
|
+
def __init__(self, **params):
|
|
32
|
+
|
|
33
|
+
model = params.get("model", default_model)
|
|
34
|
+
api_key = params.get("api_key", default_api_key)
|
|
35
|
+
base_url = params.get("url", default_base_url)
|
|
36
|
+
max_output = params.get("max_output", default_max_output)
|
|
37
|
+
|
|
38
|
+
if not api_key:
|
|
39
|
+
api_key = "not-set"
|
|
40
|
+
|
|
41
|
+
super(Processor, self).__init__(
|
|
42
|
+
**params | {
|
|
43
|
+
"model": model,
|
|
44
|
+
"max_output": max_output,
|
|
45
|
+
"base_url": base_url,
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
|
|
49
|
+
self.default_model = model
|
|
50
|
+
self.max_output = max_output
|
|
51
|
+
|
|
52
|
+
if base_url:
|
|
53
|
+
self.openai = OpenAI(base_url=base_url, api_key=api_key)
|
|
54
|
+
else:
|
|
55
|
+
self.openai = OpenAI(api_key=api_key)
|
|
56
|
+
|
|
57
|
+
logger.info("OpenAI image-to-text service initialized")
|
|
58
|
+
|
|
59
|
+
async def describe_image(
|
|
60
|
+
self, image, mime_type, prompt, system, model=None,
|
|
61
|
+
):
|
|
62
|
+
|
|
63
|
+
model_name = model or self.default_model
|
|
64
|
+
|
|
65
|
+
logger.debug(f"Using model: {model_name}")
|
|
66
|
+
|
|
67
|
+
if not prompt:
|
|
68
|
+
prompt = default_prompt
|
|
69
|
+
|
|
70
|
+
if system:
|
|
71
|
+
prompt = system + "\n\n" + prompt
|
|
72
|
+
|
|
73
|
+
try:
|
|
74
|
+
|
|
75
|
+
messages = [
|
|
76
|
+
{
|
|
77
|
+
"role": "user",
|
|
78
|
+
"content": [
|
|
79
|
+
{
|
|
80
|
+
"type": "text",
|
|
81
|
+
"text": prompt
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"type": "image_url",
|
|
85
|
+
"image_url": {
|
|
86
|
+
"url": f"data:{mime_type};base64,{image}"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
|
|
93
|
+
resp = self.openai.chat.completions.create(
|
|
94
|
+
model=model_name,
|
|
95
|
+
messages=messages,
|
|
96
|
+
max_completion_tokens=self.max_output,
|
|
97
|
+
)
|
|
98
|
+
|
|
99
|
+
inputtokens = resp.usage.prompt_tokens
|
|
100
|
+
outputtokens = resp.usage.completion_tokens
|
|
101
|
+
|
|
102
|
+
content = resp.choices[0].message.content
|
|
103
|
+
|
|
104
|
+
logger.debug(f"Image description: {content}")
|
|
105
|
+
logger.info(f"Input Tokens: {inputtokens}")
|
|
106
|
+
logger.info(f"Output Tokens: {outputtokens}")
|
|
107
|
+
|
|
108
|
+
resp = ImageDescriptionResult(
|
|
109
|
+
text = content,
|
|
110
|
+
in_token = inputtokens,
|
|
111
|
+
out_token = outputtokens,
|
|
112
|
+
model = model_name
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
return resp
|
|
116
|
+
|
|
117
|
+
except RateLimitError as e:
|
|
118
|
+
try:
|
|
119
|
+
body = getattr(e, 'body', {})
|
|
120
|
+
if isinstance(body, dict):
|
|
121
|
+
code = body.get('error', {}).get('code')
|
|
122
|
+
if code in ('insufficient_quota', 'invalid_api_key', 'account_deactivated'):
|
|
123
|
+
raise RuntimeError(f"OpenAI unrecoverable error: {code} - {body['error'].get('message', '')}")
|
|
124
|
+
except (ValueError, KeyError, TypeError, AttributeError):
|
|
125
|
+
pass
|
|
126
|
+
# Leave rate limit retries to the base handler
|
|
127
|
+
raise TooManyRequests()
|
|
128
|
+
|
|
129
|
+
except InternalServerError:
|
|
130
|
+
# Treat 503 as a retryable LlmError
|
|
131
|
+
raise LlmError()
|
|
132
|
+
|
|
133
|
+
except Exception as e:
|
|
134
|
+
|
|
135
|
+
# Apart from rate limits, treat all exceptions as unrecoverable
|
|
136
|
+
|
|
137
|
+
logger.error(f"OpenAI image-to-text exception ({type(e).__name__}): {e}", exc_info=True)
|
|
138
|
+
raise e
|
|
139
|
+
|
|
140
|
+
@staticmethod
|
|
141
|
+
def add_args(parser):
|
|
142
|
+
|
|
143
|
+
ImageToTextService.add_args(parser)
|
|
144
|
+
|
|
145
|
+
parser.add_argument(
|
|
146
|
+
'-m', '--model',
|
|
147
|
+
default=default_model,
|
|
148
|
+
help=f'Vision model (default: {default_model})'
|
|
149
|
+
)
|
|
150
|
+
|
|
151
|
+
parser.add_argument(
|
|
152
|
+
'-k', '--api-key',
|
|
153
|
+
default=default_api_key,
|
|
154
|
+
help=f'OpenAI API key'
|
|
155
|
+
)
|
|
156
|
+
|
|
157
|
+
parser.add_argument(
|
|
158
|
+
'-u', '--url',
|
|
159
|
+
default=default_base_url,
|
|
160
|
+
help=f'OpenAI service base URL'
|
|
161
|
+
)
|
|
162
|
+
|
|
163
|
+
parser.add_argument(
|
|
164
|
+
'-x', '--max-output',
|
|
165
|
+
type=int,
|
|
166
|
+
default=default_max_output,
|
|
167
|
+
help=f'Vision model max output tokens (default: {default_max_output})'
|
|
168
|
+
)
|
|
169
|
+
|
|
170
|
+
def run():
|
|
171
|
+
|
|
172
|
+
Processor.launch(default_ident, __doc__)
|
{trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure/llm.py
RENAMED
|
@@ -55,7 +55,10 @@ class Processor(LlmService):
|
|
|
55
55
|
self.max_output = max_output
|
|
56
56
|
self.default_model = model
|
|
57
57
|
|
|
58
|
-
def build_prompt(
|
|
58
|
+
def build_prompt(
|
|
59
|
+
self, system, content, temperature=None, stream=False,
|
|
60
|
+
model=None, response_format=None, schema=None,
|
|
61
|
+
):
|
|
59
62
|
# Use provided temperature or fall back to default
|
|
60
63
|
effective_temperature = temperature if temperature is not None else self.temperature
|
|
61
64
|
model_name = model or self.default_model
|
|
@@ -79,6 +82,17 @@ class Processor(LlmService):
|
|
|
79
82
|
data["stream"] = True
|
|
80
83
|
data["stream_options"] = {"include_usage": True}
|
|
81
84
|
|
|
85
|
+
if response_format == "json" and schema is not None:
|
|
86
|
+
data["response_format"] = {
|
|
87
|
+
"type": "json_schema",
|
|
88
|
+
"json_schema": {
|
|
89
|
+
"name": "response",
|
|
90
|
+
"schema": schema,
|
|
91
|
+
"strict": True,
|
|
92
|
+
},
|
|
93
|
+
}
|
|
94
|
+
logger.debug("Structured output enabled")
|
|
95
|
+
|
|
82
96
|
body = json.dumps(data)
|
|
83
97
|
|
|
84
98
|
return body
|
|
@@ -109,7 +123,10 @@ class Processor(LlmService):
|
|
|
109
123
|
|
|
110
124
|
return result
|
|
111
125
|
|
|
112
|
-
async def generate_content(
|
|
126
|
+
async def generate_content(
|
|
127
|
+
self, system, prompt, model=None, temperature=None,
|
|
128
|
+
response_format=None, schema=None,
|
|
129
|
+
):
|
|
113
130
|
|
|
114
131
|
# Use provided model or fall back to default
|
|
115
132
|
model_name = model or self.default_model
|
|
@@ -125,7 +142,9 @@ class Processor(LlmService):
|
|
|
125
142
|
system,
|
|
126
143
|
prompt,
|
|
127
144
|
effective_temperature,
|
|
128
|
-
model=model_name
|
|
145
|
+
model=model_name,
|
|
146
|
+
response_format=response_format,
|
|
147
|
+
schema=schema,
|
|
129
148
|
)
|
|
130
149
|
|
|
131
150
|
response = self.call_llm(prompt)
|
|
@@ -169,7 +188,10 @@ class Processor(LlmService):
|
|
|
169
188
|
"""Azure serverless endpoints support streaming"""
|
|
170
189
|
return True
|
|
171
190
|
|
|
172
|
-
async def generate_content_stream(
|
|
191
|
+
async def generate_content_stream(
|
|
192
|
+
self, system, prompt, model=None, temperature=None,
|
|
193
|
+
response_format=None, schema=None,
|
|
194
|
+
):
|
|
173
195
|
"""Stream content generation from Azure serverless endpoint"""
|
|
174
196
|
model_name = model or self.default_model
|
|
175
197
|
effective_temperature = temperature if temperature is not None else self.temperature
|
|
@@ -178,7 +200,11 @@ class Processor(LlmService):
|
|
|
178
200
|
logger.debug(f"Using temperature: {effective_temperature}")
|
|
179
201
|
|
|
180
202
|
try:
|
|
181
|
-
body = self.build_prompt(
|
|
203
|
+
body = self.build_prompt(
|
|
204
|
+
system, prompt, effective_temperature, stream=True,
|
|
205
|
+
model=model_name, response_format=response_format,
|
|
206
|
+
schema=schema,
|
|
207
|
+
)
|
|
182
208
|
|
|
183
209
|
url = self.endpoint
|
|
184
210
|
api_key = self.token
|
{trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/azure_openai/llm.py
RENAMED
|
@@ -62,7 +62,10 @@ class Processor(LlmService):
|
|
|
62
62
|
azure_endpoint = endpoint,
|
|
63
63
|
)
|
|
64
64
|
|
|
65
|
-
async def generate_content(
|
|
65
|
+
async def generate_content(
|
|
66
|
+
self, system, prompt, model=None, temperature=None,
|
|
67
|
+
response_format=None, schema=None,
|
|
68
|
+
):
|
|
66
69
|
|
|
67
70
|
# Use provided model or fall back to default
|
|
68
71
|
model_name = model or self.default_model
|
|
@@ -76,6 +79,18 @@ class Processor(LlmService):
|
|
|
76
79
|
|
|
77
80
|
try:
|
|
78
81
|
|
|
82
|
+
kwargs = {}
|
|
83
|
+
if response_format == "json" and schema is not None:
|
|
84
|
+
kwargs["response_format"] = {
|
|
85
|
+
"type": "json_schema",
|
|
86
|
+
"json_schema": {
|
|
87
|
+
"name": "response",
|
|
88
|
+
"schema": schema,
|
|
89
|
+
"strict": True,
|
|
90
|
+
},
|
|
91
|
+
}
|
|
92
|
+
logger.debug("Structured output enabled")
|
|
93
|
+
|
|
79
94
|
resp = self.openai.chat.completions.create(
|
|
80
95
|
model=model_name,
|
|
81
96
|
messages=[
|
|
@@ -92,6 +107,7 @@ class Processor(LlmService):
|
|
|
92
107
|
temperature=effective_temperature,
|
|
93
108
|
max_completion_tokens=self.max_output,
|
|
94
109
|
top_p=1,
|
|
110
|
+
**kwargs,
|
|
95
111
|
)
|
|
96
112
|
|
|
97
113
|
inputtokens = resp.usage.prompt_tokens
|
|
@@ -129,7 +145,10 @@ class Processor(LlmService):
|
|
|
129
145
|
"""Azure OpenAI supports streaming"""
|
|
130
146
|
return True
|
|
131
147
|
|
|
132
|
-
async def generate_content_stream(
|
|
148
|
+
async def generate_content_stream(
|
|
149
|
+
self, system, prompt, model=None, temperature=None,
|
|
150
|
+
response_format=None, schema=None,
|
|
151
|
+
):
|
|
133
152
|
"""
|
|
134
153
|
Stream content generation from Azure OpenAI.
|
|
135
154
|
Yields LlmChunk objects with is_final=True on the last chunk.
|
{trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/claude/llm.py
RENAMED
|
@@ -48,7 +48,10 @@ class Processor(LlmService):
|
|
|
48
48
|
|
|
49
49
|
logger.info("Claude LLM service initialized")
|
|
50
50
|
|
|
51
|
-
async def generate_content(
|
|
51
|
+
async def generate_content(
|
|
52
|
+
self, system, prompt, model=None, temperature=None,
|
|
53
|
+
response_format=None, schema=None,
|
|
54
|
+
):
|
|
52
55
|
|
|
53
56
|
# Use provided model or fall back to default
|
|
54
57
|
model_name = model or self.default_model
|
|
@@ -60,11 +63,27 @@ class Processor(LlmService):
|
|
|
60
63
|
|
|
61
64
|
try:
|
|
62
65
|
|
|
66
|
+
kwargs = {}
|
|
67
|
+
use_tool_extract = False
|
|
68
|
+
|
|
69
|
+
if response_format == "json" and schema is not None:
|
|
70
|
+
kwargs["tools"] = [{
|
|
71
|
+
"name": "structured_response",
|
|
72
|
+
"description": "Return the structured response",
|
|
73
|
+
"input_schema": schema,
|
|
74
|
+
}]
|
|
75
|
+
kwargs["tool_choice"] = {
|
|
76
|
+
"type": "tool",
|
|
77
|
+
"name": "structured_response",
|
|
78
|
+
}
|
|
79
|
+
use_tool_extract = True
|
|
80
|
+
logger.debug("Structured output enabled (tool-use)")
|
|
81
|
+
|
|
63
82
|
response = message = self.claude.messages.create(
|
|
64
83
|
model=model_name,
|
|
65
84
|
max_tokens=self.max_output,
|
|
66
85
|
temperature=effective_temperature,
|
|
67
|
-
system
|
|
86
|
+
system=system,
|
|
68
87
|
messages=[
|
|
69
88
|
{
|
|
70
89
|
"role": "user",
|
|
@@ -75,10 +94,22 @@ class Processor(LlmService):
|
|
|
75
94
|
}
|
|
76
95
|
]
|
|
77
96
|
}
|
|
78
|
-
]
|
|
97
|
+
],
|
|
98
|
+
**kwargs,
|
|
79
99
|
)
|
|
80
100
|
|
|
81
|
-
|
|
101
|
+
if use_tool_extract:
|
|
102
|
+
import json
|
|
103
|
+
tool_block = next(
|
|
104
|
+
(b for b in response.content if b.type == "tool_use"),
|
|
105
|
+
None,
|
|
106
|
+
)
|
|
107
|
+
if tool_block:
|
|
108
|
+
resp = json.dumps(tool_block.input)
|
|
109
|
+
else:
|
|
110
|
+
resp = response.content[0].text
|
|
111
|
+
else:
|
|
112
|
+
resp = response.content[0].text
|
|
82
113
|
inputtokens = response.usage.input_tokens
|
|
83
114
|
outputtokens = response.usage.output_tokens
|
|
84
115
|
logger.debug(f"LLM response: {resp}")
|
|
@@ -110,7 +141,10 @@ class Processor(LlmService):
|
|
|
110
141
|
"""Claude/Anthropic supports streaming"""
|
|
111
142
|
return True
|
|
112
143
|
|
|
113
|
-
async def generate_content_stream(
|
|
144
|
+
async def generate_content_stream(
|
|
145
|
+
self, system, prompt, model=None, temperature=None,
|
|
146
|
+
response_format=None, schema=None,
|
|
147
|
+
):
|
|
114
148
|
"""Stream content generation from Claude"""
|
|
115
149
|
model_name = model or self.default_model
|
|
116
150
|
effective_temperature = temperature if temperature is not None else self.temperature
|
{trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/cohere/llm.py
RENAMED
|
@@ -46,7 +46,10 @@ class Processor(LlmService):
|
|
|
46
46
|
|
|
47
47
|
logger.info("Cohere LLM service initialized")
|
|
48
48
|
|
|
49
|
-
async def generate_content(
|
|
49
|
+
async def generate_content(
|
|
50
|
+
self, system, prompt, model=None, temperature=None,
|
|
51
|
+
response_format=None, schema=None,
|
|
52
|
+
):
|
|
50
53
|
|
|
51
54
|
# Use provided model or fall back to default
|
|
52
55
|
model_name = model or self.default_model
|
|
@@ -104,7 +107,10 @@ class Processor(LlmService):
|
|
|
104
107
|
"""Cohere supports streaming"""
|
|
105
108
|
return True
|
|
106
109
|
|
|
107
|
-
async def generate_content_stream(
|
|
110
|
+
async def generate_content_stream(
|
|
111
|
+
self, system, prompt, model=None, temperature=None,
|
|
112
|
+
response_format=None, schema=None,
|
|
113
|
+
):
|
|
108
114
|
"""Stream content generation from Cohere"""
|
|
109
115
|
model_name = model or self.default_model
|
|
110
116
|
effective_temperature = temperature if temperature is not None else self.temperature
|
{trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/llamafile/llm.py
RENAMED
|
@@ -50,7 +50,10 @@ class Processor(LlmService):
|
|
|
50
50
|
|
|
51
51
|
logger.info("Llamafile LLM service initialized")
|
|
52
52
|
|
|
53
|
-
async def generate_content(
|
|
53
|
+
async def generate_content(
|
|
54
|
+
self, system, prompt, model=None, temperature=None,
|
|
55
|
+
response_format=None, schema=None,
|
|
56
|
+
):
|
|
54
57
|
|
|
55
58
|
# Use provided model or fall back to default
|
|
56
59
|
model_name = model or self.default_model
|
|
@@ -64,6 +67,18 @@ class Processor(LlmService):
|
|
|
64
67
|
|
|
65
68
|
try:
|
|
66
69
|
|
|
70
|
+
if response_format == "json" and schema is not None:
|
|
71
|
+
fmt = {
|
|
72
|
+
"type": "json_schema",
|
|
73
|
+
"json_schema": {
|
|
74
|
+
"name": "response",
|
|
75
|
+
"schema": schema,
|
|
76
|
+
},
|
|
77
|
+
}
|
|
78
|
+
logger.debug("Structured output enabled")
|
|
79
|
+
else:
|
|
80
|
+
fmt = {"type": "text"}
|
|
81
|
+
|
|
67
82
|
resp = self.openai.chat.completions.create(
|
|
68
83
|
model=model_name,
|
|
69
84
|
messages=[
|
|
@@ -74,9 +89,7 @@ class Processor(LlmService):
|
|
|
74
89
|
top_p=1,
|
|
75
90
|
frequency_penalty=0,
|
|
76
91
|
presence_penalty=0,
|
|
77
|
-
response_format=
|
|
78
|
-
"type": "text"
|
|
79
|
-
}
|
|
92
|
+
response_format=fmt,
|
|
80
93
|
)
|
|
81
94
|
|
|
82
95
|
inputtokens = resp.usage.prompt_tokens
|
|
@@ -106,7 +119,10 @@ class Processor(LlmService):
|
|
|
106
119
|
"""LlamaFile supports streaming"""
|
|
107
120
|
return True
|
|
108
121
|
|
|
109
|
-
async def generate_content_stream(
|
|
122
|
+
async def generate_content_stream(
|
|
123
|
+
self, system, prompt, model=None, temperature=None,
|
|
124
|
+
response_format=None, schema=None,
|
|
125
|
+
):
|
|
110
126
|
"""Stream content generation from LlamaFile"""
|
|
111
127
|
model_name = model or self.default_model
|
|
112
128
|
effective_temperature = temperature if temperature is not None else self.temperature
|
|
@@ -117,6 +133,18 @@ class Processor(LlmService):
|
|
|
117
133
|
prompt = system + "\n\n" + prompt
|
|
118
134
|
|
|
119
135
|
try:
|
|
136
|
+
if response_format == "json" and schema is not None:
|
|
137
|
+
fmt = {
|
|
138
|
+
"type": "json_schema",
|
|
139
|
+
"json_schema": {
|
|
140
|
+
"name": "response",
|
|
141
|
+
"schema": schema,
|
|
142
|
+
},
|
|
143
|
+
}
|
|
144
|
+
logger.debug("Structured output enabled (streaming)")
|
|
145
|
+
else:
|
|
146
|
+
fmt = {"type": "text"}
|
|
147
|
+
|
|
120
148
|
response = self.openai.chat.completions.create(
|
|
121
149
|
model=model_name,
|
|
122
150
|
messages=[{"role": "user", "content": prompt}],
|
|
@@ -125,7 +153,7 @@ class Processor(LlmService):
|
|
|
125
153
|
top_p=1,
|
|
126
154
|
frequency_penalty=0,
|
|
127
155
|
presence_penalty=0,
|
|
128
|
-
response_format=
|
|
156
|
+
response_format=fmt,
|
|
129
157
|
stream=True,
|
|
130
158
|
stream_options={"include_usage": True}
|
|
131
159
|
)
|
{trustgraph_flow-2.7.3 → trustgraph_flow-2.7.5}/trustgraph/model/text_completion/lmstudio/llm.py
RENAMED
|
@@ -50,7 +50,10 @@ class Processor(LlmService):
|
|
|
50
50
|
|
|
51
51
|
logger.info("LMStudio LLM service initialized")
|
|
52
52
|
|
|
53
|
-
async def generate_content(
|
|
53
|
+
async def generate_content(
|
|
54
|
+
self, system, prompt, model=None, temperature=None,
|
|
55
|
+
response_format=None, schema=None,
|
|
56
|
+
):
|
|
54
57
|
|
|
55
58
|
# Use provided model or fall back to default
|
|
56
59
|
model_name = model or self.default_model
|
|
@@ -66,6 +69,18 @@ class Processor(LlmService):
|
|
|
66
69
|
|
|
67
70
|
logger.debug(f"Prompt: {prompt}")
|
|
68
71
|
|
|
72
|
+
if response_format == "json" and schema is not None:
|
|
73
|
+
fmt = {
|
|
74
|
+
"type": "json_schema",
|
|
75
|
+
"json_schema": {
|
|
76
|
+
"name": "response",
|
|
77
|
+
"schema": schema,
|
|
78
|
+
},
|
|
79
|
+
}
|
|
80
|
+
logger.debug("Structured output enabled")
|
|
81
|
+
else:
|
|
82
|
+
fmt = {"type": "text"}
|
|
83
|
+
|
|
69
84
|
resp = self.openai.chat.completions.create(
|
|
70
85
|
model=model_name,
|
|
71
86
|
messages=[
|
|
@@ -76,9 +91,7 @@ class Processor(LlmService):
|
|
|
76
91
|
top_p=1,
|
|
77
92
|
frequency_penalty=0,
|
|
78
93
|
presence_penalty=0,
|
|
79
|
-
response_format=
|
|
80
|
-
"type": "text"
|
|
81
|
-
}
|
|
94
|
+
response_format=fmt,
|
|
82
95
|
)
|
|
83
96
|
|
|
84
97
|
logger.debug(f"Full response: {resp}")
|
|
@@ -110,7 +123,10 @@ class Processor(LlmService):
|
|
|
110
123
|
"""LM Studio supports streaming"""
|
|
111
124
|
return True
|
|
112
125
|
|
|
113
|
-
async def generate_content_stream(
|
|
126
|
+
async def generate_content_stream(
|
|
127
|
+
self, system, prompt, model=None, temperature=None,
|
|
128
|
+
response_format=None, schema=None,
|
|
129
|
+
):
|
|
114
130
|
"""Stream content generation from LM Studio"""
|
|
115
131
|
model_name = model or self.default_model
|
|
116
132
|
effective_temperature = temperature if temperature is not None else self.temperature
|
|
@@ -121,6 +137,18 @@ class Processor(LlmService):
|
|
|
121
137
|
prompt = system + "\n\n" + prompt
|
|
122
138
|
|
|
123
139
|
try:
|
|
140
|
+
if response_format == "json" and schema is not None:
|
|
141
|
+
fmt = {
|
|
142
|
+
"type": "json_schema",
|
|
143
|
+
"json_schema": {
|
|
144
|
+
"name": "response",
|
|
145
|
+
"schema": schema,
|
|
146
|
+
},
|
|
147
|
+
}
|
|
148
|
+
logger.debug("Structured output enabled (streaming)")
|
|
149
|
+
else:
|
|
150
|
+
fmt = {"type": "text"}
|
|
151
|
+
|
|
124
152
|
response = self.openai.chat.completions.create(
|
|
125
153
|
model=model_name,
|
|
126
154
|
messages=[{"role": "user", "content": prompt}],
|
|
@@ -129,7 +157,7 @@ class Processor(LlmService):
|
|
|
129
157
|
top_p=1,
|
|
130
158
|
frequency_penalty=0,
|
|
131
159
|
presence_penalty=0,
|
|
132
|
-
response_format=
|
|
160
|
+
response_format=fmt,
|
|
133
161
|
stream=True,
|
|
134
162
|
stream_options={"include_usage": True}
|
|
135
163
|
)
|