Native CLI i18n: The TrustGraph CLI has built-in translation support that dynamically loads language strings. You can test and use different languages by simply passing the --lang flag (e.g., --lang es for Spanish, --lang ru for Russian) or by configuring your environment's LANG variable. Automated Docs Translations: This PR introduces autonomously translated Markdown documentation into several target languages, including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew, Arabic, Simplified Chinese, and Russian.
171 KiB
| layout | title | parent |
|---|---|---|
| default | ट्रस्टग्राफ पायथन एपीआई संदर्भ | Hindi (Beta) |
ट्रस्टग्राफ पायथन एपीआई संदर्भ
Beta Translation: This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
स्थापना
pip install trustgraph
त्वरित शुरुआत
सभी कक्षाएं और प्रकार trustgraph.api पैकेज से आयात किए गए हैं:
from trustgraph.api import Api, Triple, ConfigKey
# Create API client
api = Api(url="http://localhost:8088/")
# Get a flow instance
flow = api.flow().id("default")
# Execute a graph RAG query
response = flow.graph_rag(
query="What are the main topics?",
user="trustgraph",
collection="default"
)
सामग्री तालिका
मुख्य भाग
फ्लो क्लाइंट
Flow FlowInstance AsyncFlow AsyncFlowInstance
वेबसॉकेट क्लाइंट
SocketClient SocketFlowInstance AsyncSocketClient AsyncSocketFlowInstance
बल्क ऑपरेशन
मेट्रिक्स
डेटा प्रकार
Triple ConfigKey ConfigValue DocumentMetadata ProcessingMetadata CollectionMetadata StreamingChunk AgentThought AgentObservation AgentAnswer RAGChunk
अपवाद
ProtocolException TrustGraphException AgentError ConfigError DocumentRagError FlowError GatewayError GraphRagError LLMError LoadError LookupError NLPQueryError RowsQueryError RequestError StructuredQueryError UnexpectedError ApplicationException
--
Api
from trustgraph.api import Api
सिंक्रोनस और एसिंक्रोनस कार्यों के लिए मुख्य ट्रस्टग्राफ एपीआई क्लाइंट।
यह क्लास सभी ट्रस्टग्राफ सेवाओं तक पहुंच प्रदान करती है, जिसमें फ्लो प्रबंधन, नॉलेज ग्राफ ऑपरेशन, दस्तावेज़ प्रसंस्करण, आरएजी क्वेरी और बहुत कुछ शामिल हैं। यह रेस्ट-आधारित और वेबसॉकेट-आधारित दोनों संचार पैटर्न का समर्थन करता है।
क्लाइंट का उपयोग स्वचालित संसाधन सफाई के लिए एक संदर्भ प्रबंधक के रूप में किया जा सकता है:
python with Api(url="http://localhost:8088/") as api: result = api.flow().id("default").graph_rag(query="test")
विधियाँ
__aenter__(self)
एसिंक्रोनस संदर्भ प्रबंधक में प्रवेश करें।
__aexit__(self, *args)
एसिंक्रोनस संदर्भ प्रबंधक से बाहर निकलें और कनेक्शन बंद करें।
__enter__(self)
सिंक्रोनस संदर्भ प्रबंधक में प्रवेश करें।
__exit__(self, *args)
सिंक्रोनस संदर्भ प्रबंधक से बाहर निकलें और कनेक्शन बंद करें।
__init__(self, url='http://localhost:8088/', timeout=60, token: str | None = None)
ट्रस्टग्राफ एपीआई क्लाइंट को आरंभ करें।
तर्क:
url: ट्रस्टग्राफ एपीआई के लिए आधार यूआरएल (डिफ़ॉल्ट: "http://localhost:8088/"")
timeout: सेकंड में अनुरोध समय-सीमा (डिफ़ॉल्ट: 60)
token: प्रमाणीकरण के लिए वैकल्पिक बेयरर टोकन
उदाहरण:
# Local development
api = Api()
# Production with authentication
api = Api(
url="https://trustgraph.example.com/",
timeout=120,
token="your-api-token"
)
aclose(self)
सभी एसिंक्रोनस क्लाइंट कनेक्शन बंद करें।
यह विधि एसिंक्रोनस वेबसॉकेट, बल्क ऑपरेशन और फ्लो कनेक्शन को बंद करती है। यह स्वचालित रूप से तब कॉल किया जाता है जब किसी एसिंक्रोनस कॉन्टेक्स्ट मैनेजर से बाहर निकलते हैं।
उदाहरण:
api = Api()
async_socket = api.async_socket()
# ... use async_socket
await api.aclose() # Clean up connections
# Or use async context manager (automatic cleanup)
async with Api() as api:
async_socket = api.async_socket()
# ... use async_socket
# Automatically closed
async_bulk(self)
एसिंक्रोनस बल्क ऑपरेशंस क्लाइंट प्राप्त करें।
वेबसॉकेट के माध्यम से एसिंक्रोनस/अवेइट शैली के बल्क इम्पोर्ट/एक्सपोर्ट ऑपरेशंस प्रदान करता है बड़े डेटासेट के कुशल प्रबंधन के लिए।
रिटर्न: AsyncBulkClient: एसिंक्रोनस बल्क ऑपरेशंस क्लाइंट
उदाहरण:
async_bulk = api.async_bulk()
# Export triples asynchronously
async for triple in async_bulk.export_triples(flow="default"):
print(f"{triple.s} {triple.p} {triple.o}")
# Import with async generator
async def triple_gen():
yield Triple(s="subj", p="pred", o="obj")
# ... more triples
await async_bulk.import_triples(
flow="default",
triples=triple_gen()
)
async_flow(self)
एक एसिंक्रोनस, REST-आधारित फ्लो क्लाइंट प्राप्त करें।
यह फ्लो ऑपरेशन्स तक एसिंक्रोनस/अवेइट शैली में एक्सेस प्रदान करता है। यह एसिंक्रोनस पायथन एप्लिकेशन और फ्रेमवर्क (फास्टएपीआई, एआईओएचटीटीपी, आदि) के लिए पसंदीदा है।
रिटर्न: AsyncFlow: एसिंक्रोनस फ्लो क्लाइंट
उदाहरण:
async_flow = api.async_flow()
# List flows
flow_ids = await async_flow.list()
# Execute operations
instance = async_flow.id("default")
result = await instance.text_completion(
system="You are helpful",
prompt="Hello"
)
async_metrics(self)
एक एसिंक्रोनस मेट्रिक्स क्लाइंट प्राप्त करें।
प्रोमेथियस मेट्रिक्स तक एसिंक्रोनस/अवेइट शैली में पहुँच प्रदान करता है।
वापसी: AsyncMetrics: एसिंक्रोनस मेट्रिक्स क्लाइंट
उदाहरण:
async_metrics = api.async_metrics()
prometheus_text = await async_metrics.get()
print(prometheus_text)
async_socket(self)
स्ट्रीमिंग कार्यों के लिए एक एसिंक्रोनस वेबसॉकेट क्लाइंट प्राप्त करें।
यह स्ट्रीमिंग समर्थन के साथ एसिंक/अवेट शैली वेबसॉकेट एक्सेस प्रदान करता है। यह पायथन में एसिंक स्ट्रीमिंग के लिए पसंदीदा तरीका है।
रिटर्न: AsyncSocketClient: एसिंक्रोनस वेबसॉकेट क्लाइंट
उदाहरण:
async_socket = api.async_socket()
flow = async_socket.flow("default")
# Stream agent responses
async for chunk in flow.agent(
question="Explain quantum computing",
user="trustgraph",
streaming=True
):
if hasattr(chunk, 'content'):
print(chunk.content, end='', flush=True)
bulk(self)
आयात/निर्यात के लिए एक सिंक्रोनस बल्क ऑपरेशंस क्लाइंट प्राप्त करें।
बल्क ऑपरेशंस, वेबसॉकेट कनेक्शन के माध्यम से बड़े डेटासेट के कुशल हस्तांतरण की अनुमति देते हैं, जिसमें ट्रिपल, एम्बेडिंग, एंटिटी कॉन्टेक्स्ट और ऑब्जेक्ट शामिल हैं।
रिटर्न: BulkClient: सिंक्रोनस बल्क ऑपरेशंस क्लाइंट
उदाहरण:
bulk = api.bulk()
# Export triples
for triple in bulk.export_triples(flow="default"):
print(f"{triple.s} {triple.p} {triple.o}")
# Import triples
def triple_generator():
yield Triple(s="subj", p="pred", o="obj")
# ... more triples
bulk.import_triples(flow="default", triples=triple_generator())
close(self)
सभी सिंक्रोनस क्लाइंट कनेक्शन बंद करें।
यह विधि WebSocket और बल्क ऑपरेशन कनेक्शन बंद करती है। यह स्वचालित रूप से तब कॉल किया जाता है जब किसी कॉन्टेक्स्ट मैनेजर से बाहर निकलते हैं।
उदाहरण:
api = Api()
socket = api.socket()
# ... use socket
api.close() # Clean up connections
# Or use context manager (automatic cleanup)
with Api() as api:
socket = api.socket()
# ... use socket
# Automatically closed
collection(self)
डेटा संग्रहों को प्रबंधित करने के लिए एक कलेक्शन क्लाइंट प्राप्त करें।
कलेक्शन दस्तावेजों और नॉलेज ग्राफ डेटा को व्यवस्थित करते हैं तार्किक समूहों में, अलगाव और एक्सेस नियंत्रण के लिए।
रिटर्न: कलेक्शन: कलेक्शन प्रबंधन क्लाइंट
उदाहरण:
collection = api.collection()
# List collections
colls = collection.list_collections(user="trustgraph")
# Update collection metadata
collection.update_collection(
user="trustgraph",
collection="default",
name="Default Collection",
description="Main data collection"
)
config(self)
कॉन्फ़िगरेशन सेटिंग्स को प्रबंधित करने के लिए एक कॉन्फ़िग क्लाइंट प्राप्त करें।
रिटर्न: कॉन्फ़िग: कॉन्फ़िगरेशन प्रबंधन क्लाइंट
उदाहरण:
config = api.config()
# Get configuration values
values = config.get([ConfigKey(type="llm", key="model")])
# Set configuration
config.put([ConfigValue(type="llm", key="model", value="gpt-4")])
flow(self)
फ्लो को प्रबंधित करने और उसके साथ इंटरैक्ट करने के लिए एक फ्लो क्लाइंट प्राप्त करें।
फ्लो, ट्रस्टग्राफ में प्राथमिक निष्पादन इकाइयाँ हैं, जो एजेंट, आरएजी क्वेरी, एम्बेडिंग और दस्तावेज़ प्रसंस्करण जैसी सेवाओं तक पहुंच प्रदान करती हैं।
रिटर्न: फ्लो: फ्लो प्रबंधन क्लाइंट
उदाहरण:
flow_client = api.flow()
# List available blueprints
blueprints = flow_client.list_blueprints()
# Get a specific flow instance
flow_instance = flow_client.id("default")
response = flow_instance.text_completion(
system="You are helpful",
prompt="Hello"
)
knowledge(self)
ज्ञान ग्राफ कोर को प्रबंधित करने के लिए एक नॉलेज क्लाइंट प्राप्त करें।
रिटर्न: नॉलेज: ज्ञान ग्राफ प्रबंधन क्लाइंट
उदाहरण:
knowledge = api.knowledge()
# List available KG cores
cores = knowledge.list_kg_cores(user="trustgraph")
# Load a KG core
knowledge.load_kg_core(id="core-123", user="trustgraph")
library(self)
दस्तावेज़ प्रबंधन के लिए एक लाइब्रेरी क्लाइंट प्राप्त करें।
यह लाइब्रेरी दस्तावेज़ भंडारण, मेटाडेटा प्रबंधन और प्रसंस्करण कार्यप्रवाह समन्वय प्रदान करती है।
रिटर्न: लाइब्रेरी: दस्तावेज़ लाइब्रेरी प्रबंधन क्लाइंट
उदाहरण:
library = api.library()
# Add a document
library.add_document(
document=b"Document content",
id="doc-123",
metadata=[],
user="trustgraph",
title="My Document",
comments="Test document"
)
# List documents
docs = library.get_documents(user="trustgraph")
metrics(self)
निगरानी के लिए एक सिंक्रोनस मेट्रिक्स क्लाइंट प्राप्त करें।
यह ट्रस्टग्राफ सेवा से प्रोमेथियस-स्वरूपित मेट्रिक्स प्राप्त करता है निगरानी और अवलोकन के लिए।
रिटर्न: मेट्रिक्स: सिंक्रोनस मेट्रिक्स क्लाइंट
उदाहरण:
metrics = api.metrics()
prometheus_text = metrics.get()
print(prometheus_text)
request(self, path, request)
एक निम्न-स्तरीय REST API अनुरोध करें।
यह विधि मुख्य रूप से आंतरिक उपयोग के लिए है, लेकिन जब आवश्यक हो तो इसका उपयोग सीधे API एक्सेस के लिए किया जा सकता है।
तर्क:
path: API एंडपॉइंट पथ (बेस URL के सापेक्ष)
request: अनुरोध पेलोड एक डिक्शनरी के रूप में
रिटर्न: dict: प्रतिक्रिया ऑब्जेक्ट
अपवाद:
ProtocolException: यदि प्रतिक्रिया स्थिति 200 नहीं है या प्रतिक्रिया JSON नहीं है
ApplicationException: यदि प्रतिक्रिया में कोई त्रुटि है
उदाहरण:
response = api.request("flow", {
"operation": "list-flows"
})
socket(self)
स्ट्रीमिंग कार्यों के लिए एक सिंक्रोनस वेबसॉकेट क्लाइंट प्राप्त करें।
वेबसॉकेट कनेक्शन वास्तविक समय प्रतिक्रियाओं के लिए स्ट्रीमिंग समर्थन प्रदान करते हैं एजेंटों, आरएजी प्रश्नों और टेक्स्ट पूर्णता से। यह विधि वेबसॉकेट प्रोटोकॉल के चारों ओर एक सिंक्रोनस रैपर लौटाती है।
रिटर्न: SocketClient: सिंक्रोनस वेबसॉकेट क्लाइंट
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Stream agent responses
for chunk in flow.agent(
question="Explain quantum computing",
user="trustgraph",
streaming=True
):
if hasattr(chunk, 'content'):
print(chunk.content, end='', flush=True)
--
Flow
from trustgraph.api import Flow
ब्लूप्रिंट और फ्लो इंस्टेंस ऑपरेशन्स के लिए फ्लो मैनेजमेंट क्लाइंट।
यह क्लास फ्लो ब्लूप्रिंट (टेम्प्लेट) और फ्लो इंस्टेंस (चल रहे फ्लो) को प्रबंधित करने के लिए विधियाँ प्रदान करती है। ब्लूप्रिंट फ्लो की संरचना और पैरामीटर को परिभाषित करते हैं, जबकि इंस्टेंस सक्रिय फ्लो का प्रतिनिधित्व करते हैं जो सेवाओं को निष्पादित कर सकते हैं।
विधियाँ
__init__(self, api)
फ्लो क्लाइंट को इनिशियलाइज़ करें।
तर्क:
api: अनुरोध करने के लिए पैरेंट एपीआई इंस्टेंस।
delete_blueprint(self, blueprint_name)
एक फ्लो ब्लूप्रिंट को हटाएं।
तर्क:
blueprint_name: हटाने के लिए ब्लूप्रिंट का नाम।
उदाहरण:
api.flow().delete_blueprint("old-blueprint")
get(self, id)
एक चल रहे फ्लो इंस्टेंस की परिभाषा प्राप्त करें।
तर्क:
id: फ्लो इंस्टेंस आईडी
वापसी: डिक्ट: फ्लो इंस्टेंस परिभाषा
उदाहरण:
flow_def = api.flow().get("default")
print(flow_def)
get_blueprint(self, blueprint_name)
नाम से एक फ्लो ब्लूप्रिंट परिभाषा प्राप्त करें।
तर्क:
blueprint_name: प्राप्त करने के लिए ब्लूप्रिंट का नाम
वापसी: dict: ब्लूप्रिंट परिभाषा एक शब्दकोश के रूप में
उदाहरण:
blueprint = api.flow().get_blueprint("default")
print(blueprint) # Blueprint configuration
id(self, id='default')
किसी विशिष्ट प्रवाह पर संचालन निष्पादित करने के लिए एक फ्लोइंस्टेंस प्राप्त करें।
तर्क:
id: प्रवाह पहचानकर्ता (डिफ़ॉल्ट: "default")
वापसी: फ्लोइंस्टेंस: सेवा संचालन के लिए फ्लो इंस्टेंस
उदाहरण:
flow = api.flow().id("my-flow")
response = flow.text_completion(
system="You are helpful",
prompt="Hello"
)
list(self)
सभी सक्रिय फ्लो इंस्टेंस की सूची बनाएं।
रिटर्न: list[str]: फ्लो इंस्टेंस आईडी की सूची
उदाहरण:
flows = api.flow().list()
print(flows) # ['default', 'flow-1', 'flow-2', ...]
list_blueprints(self)
उपलब्ध सभी फ्लो ब्लूप्रिंट की सूची बनाएं।
रिटर्न: list[str]: ब्लूप्रिंट नामों की सूची
उदाहरण:
blueprints = api.flow().list_blueprints()
print(blueprints) # ['default', 'custom-flow', ...]
put_blueprint(self, blueprint_name, definition)
एक फ्लो ब्लूप्रिंट बनाएं या अपडेट करें।
तर्क:
blueprint_name: ब्लूप्रिंट के लिए नाम
definition: ब्लूप्रिंट परिभाषा डिक्शनरी
उदाहरण:
definition = {
"services": ["text-completion", "graph-rag"],
"parameters": {"model": "gpt-4"}
}
api.flow().put_blueprint("my-blueprint", definition)
request(self, path=None, request=None)
एक फ्लो-स्कोपेड एपीआई अनुरोध करें।
तर्क:
path: फ्लो एंडपॉइंट्स के लिए वैकल्पिक पथ प्रत्यय
request: अनुरोध पेलोड डिक्शनरी
रिटर्न: डिक्ट: प्रतिक्रिया ऑब्जेक्ट
अपवाद:
RuntimeError: यदि अनुरोध पैरामीटर निर्दिष्ट नहीं है
start(self, blueprint_name, id, description, parameters=None)
एक ब्लूप्रिंट से एक नया फ्लो इंस्टेंस शुरू करें।
तर्क:
blueprint_name: इंस्टेंट करने के लिए ब्लूप्रिंट का नाम
id: फ्लो इंस्टेंस के लिए अद्वितीय पहचानकर्ता
description: मानव-पठनीय विवरण
parameters: वैकल्पिक पैरामीटर डिक्शनरी
उदाहरण:
api.flow().start(
blueprint_name="default",
id="my-flow",
description="My custom flow",
parameters={"model": "gpt-4"}
)
stop(self, id)
एक चल रहे फ्लो इंस्टेंस को रोकें।
तर्क:
id: रोकने के लिए फ्लो इंस्टेंस आईडी
उदाहरण:
api.flow().stop("my-flow")
--
FlowInstance
from trustgraph.api import FlowInstance
किसी विशिष्ट प्रवाह पर सेवाओं को निष्पादित करने के लिए फ्लो इंस्टेंस क्लाइंट।
यह क्लास सभी ट्रस्टग्राफ सेवाओं तक पहुंच प्रदान करता है, जिनमें शामिल हैं: टेक्स्ट पूर्णता और एम्बेडिंग राज्य प्रबंधन के साथ एजेंट ऑपरेशन ग्राफ और दस्तावेज़ RAG क्वेरी नॉलेज ग्राफ ऑपरेशन (ट्रिपल्स, ऑब्जेक्ट) दस्तावेज़ लोडिंग और प्रोसेसिंग प्राकृतिक भाषा से GraphQL क्वेरी रूपांतरण संरचित डेटा विश्लेषण और स्कीमा डिटेक्शन MCP टूल निष्पादन प्रॉम्प्ट टेम्पलेटिंग
सेवाओं को एक चल रहे फ्लो इंस्टेंस के माध्यम से एक्सेस किया जाता है जिसकी पहचान ID से होती है।
विधियाँ
__init__(self, api, id)
फ्लोइंस्टेंस को इनिशियलाइज़ करें।
तर्क:
api: पैरेंट फ्लो क्लाइंट
id: फ्लो इंस्टेंस पहचानकर्ता
agent(self, question, user='trustgraph', state=None, group=None, history=None)
तर्क और टूल उपयोग क्षमताओं के साथ एक एजेंट ऑपरेशन निष्पादित करें।
एजेंट बहु-चरणीय तर्क कर सकते हैं, टूल का उपयोग कर सकते हैं और बातचीत में संवादी स्थिति को बनाए रख सकते हैं। यह एक सिंक्रोनस, नॉन-स्ट्रीमिंग संस्करण है।
तर्क:
question: उपयोगकर्ता का प्रश्न या निर्देश
user: उपयोगकर्ता पहचानकर्ता (डिफ़ॉल्ट: "trustgraph")
state: राज्यपूर्ण वार्तालापों के लिए वैकल्पिक राज्य शब्दकोश
group: बहु-उपयोगकर्ता संदर्भों के लिए वैकल्पिक समूह पहचानकर्ता
history: संदेशों की सूची के रूप में वैकल्पिक वार्तालाप इतिहास
रिटर्न: str: एजेंट का अंतिम उत्तर
उदाहरण:
flow = api.flow().id("default")
# Simple question
answer = flow.agent(
question="What is the capital of France?",
user="trustgraph"
)
# With conversation history
history = [
{"role": "user", "content": "Hello"},
{"role": "assistant", "content": "Hi! How can I help?"}
]
answer = flow.agent(
question="Tell me about Paris",
user="trustgraph",
history=history
)
detect_type(self, sample)
संरचित डेटा नमूने के डेटा प्रकार का पता लगाएं।
तर्क:
sample: विश्लेषण करने के लिए डेटा नमूना (स्ट्रिंग सामग्री)
रिटर्न: detected_type, confidence और वैकल्पिक मेटाडेटा के साथ एक डिक्शनरी।
diagnose_data(self, sample, schema_name=None, options=None)
संयुक्त डेटा निदान करें: प्रकार का पता लगाएं और विवरणिका उत्पन्न करें।
तर्क:
sample: विश्लेषण करने के लिए डेटा नमूना (स्ट्रिंग सामग्री)
schema_name: विवरणिका पीढ़ी के लिए वैकल्पिक लक्ष्य स्कीमा नाम।
options: वैकल्पिक पैरामीटर (जैसे, CSV के लिए विभाजक)।
वापसी: detected_type, confidence, descriptor और metadata के साथ एक डिक्शनरी।
document_embeddings_query(self, text, user, collection, limit=10)
सिमेंटिक समानता का उपयोग करके दस्तावेज़ के टुकड़ों को क्वेरी करें।
वे दस्तावेज़ के टुकड़े खोजें जिनके सामग्री वेक्टर एम्बेडिंग का उपयोग करके इनपुट टेक्स्ट के सिमेंटिक रूप से समान हैं।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट।
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता।
collection: संग्रह पहचानकर्ता।
limit: अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)।
वापसी: dict: क्वेरी परिणाम जिनमें chunk_id और score वाले टुकड़े शामिल हैं।
उदाहरण:
flow = api.flow().id("default")
results = flow.document_embeddings_query(
text="machine learning algorithms",
user="trustgraph",
collection="research-papers",
limit=5
)
# results contains {"chunks": [{"chunk_id": "doc1/p0/c0", "score": 0.95}, ...]}
document_rag(self, query, user='trustgraph', collection='default', doc_limit=10)
दस्तावेज़-आधारित पुनर्प्राप्ति-संवर्धित पीढ़ी (RAG) क्वेरी निष्पादित करें।
दस्तावेज़ RAG प्रासंगिक दस्तावेज़ अंशों को खोजने के लिए वेक्टर एम्बेडिंग का उपयोग करता है, फिर उन अंशों को संदर्भ के रूप में उपयोग करके एक LLM के साथ एक प्रतिक्रिया उत्पन्न करता है।
तर्क:
query: प्राकृतिक भाषा क्वेरी
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (डिफ़ॉल्ट: "ट्रस्टग्राफ")
collection: संग्रह पहचानकर्ता (डिफ़ॉल्ट: "डिफ़ॉल्ट")
doc_limit: पुनर्प्राप्त किए जाने वाले अधिकतम दस्तावेज़ अंश (डिफ़ॉल्ट: 10)
रिटर्न: स्ट्रिंग: दस्तावेज़ संदर्भ को शामिल करने वाली उत्पन्न प्रतिक्रिया
उदाहरण:
flow = api.flow().id("default")
response = flow.document_rag(
query="Summarize the key findings",
user="trustgraph",
collection="research-papers",
doc_limit=5
)
print(response)
embeddings(self, texts)
एक या अधिक ग्रंथों के लिए वेक्टर एम्बेडिंग उत्पन्न करें।
ग्रंथों को घने वेक्टर निरूपण में परिवर्तित करता है जो सिमेंटिक खोज और समानता तुलना के लिए उपयुक्त है।
तर्क:
texts: एम्बेड करने के लिए इनपुट ग्रंथों की सूची
रिटर्न: list[list[list[float]]]: वेक्टर एम्बेडिंग, प्रत्येक इनपुट टेक्स्ट के लिए एक सेट
उदाहरण:
flow = api.flow().id("default")
vectors = flow.embeddings(["quantum computing"])
print(f"Embedding dimension: {len(vectors[0][0])}")
generate_descriptor(self, sample, data_type, schema_name, options=None)
संरचित डेटा के लिए एक विवरण उत्पन्न करें जो एक विशिष्ट स्कीमा से मेल खाता हो।
तर्क:
sample: विश्लेषण करने के लिए डेटा नमूना (स्ट्रिंग सामग्री)
data_type: डेटा प्रकार (csv, json, xml)
schema_name: विवरण पीढ़ी के लिए लक्षित स्कीमा नाम
options: वैकल्पिक पैरामीटर (जैसे, CSV के लिए विभाजक)
रिटर्न: विवरण और मेटाडेटा के साथ डिक्ट
graph_embeddings_query(self, text, user, collection, limit=10)
सिमेंटिक समानता का उपयोग करके नॉलेज ग्राफ एंटिटीज को क्वेरी करें।
नॉलेज ग्राफ में उन एंटिटीज को खोजें जिनके विवरण इनपुट टेक्स्ट के समान अर्थ वाले हों, वेक्टर एम्बेडिंग का उपयोग करके।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
limit: अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)
रिटर्न: डिक्ट: समान एंटिटीज के साथ क्वेरी परिणाम
उदाहरण:
flow = api.flow().id("default")
results = flow.graph_embeddings_query(
text="physicist who discovered radioactivity",
user="trustgraph",
collection="scientists",
limit=5
)
# results contains {"entities": [{"entity": {...}, "score": 0.95}, ...]}
graph_rag(self, query, user='trustgraph', collection='default', entity_limit=50, triple_limit=30, max_subgraph_size=150, max_path_length=2)
ग्राफ-आधारित रिट्रीवल-ऑगमेंटेड जनरेशन (RAG) क्वेरी निष्पादित करें।
ग्राफ RAG प्रासंगिक संदर्भ खोजने के लिए नॉलेज ग्राफ संरचना का उपयोग करता है, एंटिटी संबंधों को पार करके, और फिर एक एलएलएम का उपयोग करके एक प्रतिक्रिया उत्पन्न करता है।
तर्क:
query: प्राकृतिक भाषा क्वेरी
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (डिफ़ॉल्ट: "ट्रस्टग्राफ")
collection: संग्रह पहचानकर्ता (डिफ़ॉल्ट: "डिफ़ॉल्ट")
entity_limit: पुनः प्राप्त करने के लिए अधिकतम एंटिटीज (डिफ़ॉल्ट: 50)
triple_limit: प्रति एंटिटी अधिकतम ट्रिपल (डिफ़ॉल्ट: 30)
max_subgraph_size: सबग्राफ में अधिकतम कुल ट्रिपल (डिफ़ॉल्ट: 150)
max_path_length: अधिकतम ट्रैवर्सल गहराई (डिफ़ॉल्ट: 2)
रिटर्न: स्ट्र: ग्राफ संदर्भ को शामिल करने वाली उत्पन्न प्रतिक्रिया
उदाहरण:
flow = api.flow().id("default")
response = flow.graph_rag(
query="Tell me about Marie Curie's discoveries",
user="trustgraph",
collection="scientists",
entity_limit=20,
max_path_length=3
)
print(response)
load_document(self, document, id=None, metadata=None, user=None, collection=None)
प्रसंस्करण के लिए एक बाइनरी दस्तावेज़ लोड करें।
एक दस्तावेज़ (पीडीएफ, डॉक्स, चित्र, आदि) को निष्कर्षण और प्रसंस्करण के लिए अपलोड करें, जो प्रवाह के दस्तावेज़ पाइपलाइन के माध्यम से होता है।
तर्क:
document: बाइट्स के रूप में दस्तावेज़ सामग्री
id: वैकल्पिक दस्तावेज़ पहचानकर्ता (यदि None है तो स्वचालित रूप से उत्पन्न)
metadata: वैकल्पिक मेटाडेटा (ट्रिपल्स की सूची या emit विधि वाला ऑब्जेक्ट)
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (वैकल्पिक)
collection: संग्रह पहचानकर्ता (वैकल्पिक)
रिटर्न: dict: प्रसंस्करण प्रतिक्रिया
अपवाद:
RuntimeError: यदि आईडी के बिना मेटाडेटा प्रदान किया गया है
उदाहरण:
flow = api.flow().id("default")
# Load a PDF document
with open("research.pdf", "rb") as f:
result = flow.load_document(
document=f.read(),
id="research-001",
user="trustgraph",
collection="papers"
)
load_text(self, text, id=None, metadata=None, charset='utf-8', user=None, collection=None)
प्रसंस्करण के लिए पाठ सामग्री लोड करें।
प्रवाह के पाठ पाइपलाइन के माध्यम से निष्कर्षण और प्रसंस्करण के लिए पाठ सामग्री अपलोड करें। पाठ पाइपलाइन।
तर्क:
text: बाइट्स के रूप में पाठ सामग्री
id: वैकल्पिक दस्तावेज़ पहचानकर्ता (यदि None है तो स्वचालित रूप से उत्पन्न)
metadata: वैकल्पिक मेटाडेटा (ट्रिपल की सूची या emit विधि वाला ऑब्जेक्ट)
charset: वर्ण एन्कोडिंग (डिफ़ॉल्ट: "utf-8")
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (वैकल्पिक)
collection: संग्रह पहचानकर्ता (वैकल्पिक)
रिटर्न: dict: प्रसंस्करण प्रतिक्रिया
अपवाद:
RuntimeError: यदि आईडी के बिना मेटाडेटा प्रदान किया गया है
उदाहरण:
flow = api.flow().id("default")
# Load text content
text_content = b"This is the document content..."
result = flow.load_text(
text=text_content,
id="text-001",
charset="utf-8",
user="trustgraph",
collection="documents"
)
mcp_tool(self, name, parameters={})
एक मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) टूल को निष्पादित करें।
MCP टूल एजेंटों और वर्कफ़्लो के लिए विस्तारित कार्यक्षमता प्रदान करते हैं, जो बाहरी प्रणालियों और सेवाओं के साथ एकीकरण की अनुमति देते हैं।
तर्क:
name: टूल का नाम/पहचानकर्ता
parameters: टूल पैरामीटर डिक्शनरी (डिफ़ॉल्ट: {})
रिटर्न: स्ट्र या डिक्ट: टूल निष्पादन परिणाम
अपवाद:
ProtocolException: यदि प्रतिक्रिया प्रारूप अमान्य है
उदाहरण:
flow = api.flow().id("default")
# Execute a tool
result = flow.mcp_tool(
name="search-web",
parameters={"query": "latest AI news", "limit": 5}
)
nlp_query(self, question, max_results=100)
एक प्राकृतिक भाषा प्रश्न को GraphQL क्वेरी में बदलें।
तर्क:
question: प्राकृतिक भाषा प्रश्न
max_results: वापस करने के लिए अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 100)
वापसी: graphql_query, variables, detected_schemas, confidence के साथ एक शब्दकोश।
prompt(self, id, variables)
चर प्रतिस्थापन के साथ एक प्रॉम्प्ट टेम्पलेट निष्पादित करें।
प्रॉम्प्ट टेम्प्लेट, गतिशील चर के साथ पुन: प्रयोज्य प्रॉम्प्ट पैटर्न की अनुमति देते हैं, जो सुसंगत प्रॉम्प्ट इंजीनियरिंग के लिए उपयोगी है। चर प्रतिस्थापन, सुसंगत प्रॉम्प्ट इंजीनियरिंग के लिए उपयोगी।
तर्क:
id: प्रॉम्प्ट टेम्प्लेट पहचानकर्ता
variables: चर नाम से मान मैपिंग का शब्दकोश
रिटर्न: स्ट्र या डिक्ट: प्रस्तुत प्रॉम्प्ट परिणाम (टेक्स्ट या संरचित ऑब्जेक्ट)
अपवाद:
ProtocolException: यदि प्रतिक्रिया प्रारूप अमान्य है
उदाहरण:
flow = api.flow().id("default")
# Text template
result = flow.prompt(
id="summarize-template",
variables={"topic": "quantum computing", "length": "brief"}
)
# Structured template
result = flow.prompt(
id="extract-entities",
variables={"text": "Marie Curie won Nobel Prizes"}
)
request(self, path, request)
इस फ्लो इंस्टेंस पर एक सेवा अनुरोध करें।
तर्क:
path: सेवा पथ (उदाहरण के लिए, "service/text-completion")
request: अनुरोध पेलोड डिक्शनरी
रिटर्न: डिक्ट: सेवा प्रतिक्रिया
row_embeddings_query(self, text, schema_name, user='trustgraph', collection='default', index_name=None, limit=10)
अनुक्रमित फ़ील्ड पर सिमेंटिक समानता का उपयोग करके पंक्ति डेटा क्वेरी करें।
उन पंक्तियों को खोजता है जिनके अनुक्रमित फ़ील्ड मान इनपुट टेक्स्ट के अर्थ के समान हों, वेक्टर एम्बेडिंग का उपयोग करके। यह संरचित डेटा पर अस्पष्ट/अर्थ संबंधी मिलान को सक्षम बनाता है।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट।
schema_name: खोज करने के लिए स्कीमा का नाम।
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (डिफ़ॉल्ट: "trustgraph")।
collection: संग्रह पहचानकर्ता (डिफ़ॉल्ट: "default")।
index_name: वैकल्पिक इंडेक्स नाम, जिससे खोज को विशिष्ट इंडेक्स तक सीमित किया जा सके।
limit: अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)।
रिटर्न: डिक्ट: क्वेरी परिणाम जिनमें index_name, index_value, text और score शामिल हैं।
उदाहरण:
flow = api.flow().id("default")
# Search for customers by name similarity
results = flow.row_embeddings_query(
text="John Smith",
schema_name="customers",
user="trustgraph",
collection="sales",
limit=5
)
# Filter to specific index
results = flow.row_embeddings_query(
text="machine learning engineer",
schema_name="employees",
index_name="job_title",
limit=10
)
rows_query(self, query, user='trustgraph', collection='default', variables=None, operation_name=None)
ज्ञान ग्राफ में संरचित पंक्तियों के विरुद्ध एक GraphQL क्वेरी निष्पादित करें।
यह GraphQL सिंटैक्स का उपयोग करके संरचित डेटा पर क्वेरी करता है, जो जटिल क्वेरी की अनुमति देता है फ़िल्टरिंग, एग्रीगेशन और संबंध ट्रैवर्सल के साथ।
तर्क:
query: GraphQL क्वेरी स्ट्रिंग
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (डिफ़ॉल्ट: "trustgraph")
collection: संग्रह पहचानकर्ता (डिफ़ॉल्ट: "default")
variables: वैकल्पिक क्वेरी चर शब्दकोश
operation_name: मल्टी-ऑपरेशन दस्तावेज़ों के लिए वैकल्पिक ऑपरेशन नाम
रिटर्न: dict: 'data', 'errors' और/या 'extensions' फ़ील्ड के साथ GraphQL प्रतिक्रिया
अपवाद:
ProtocolException: यदि सिस्टम-स्तरीय त्रुटि होती है
उदाहरण:
flow = api.flow().id("default")
# Simple query
query = '''
{
scientists(limit: 10) {
name
field
discoveries
}
}
'''
result = flow.rows_query(
query=query,
user="trustgraph",
collection="scientists"
)
# Query with variables
query = '''
query GetScientist($name: String!) {
scientists(name: $name) {
name
nobelPrizes
}
}
'''
result = flow.rows_query(
query=query,
variables={"name": "Marie Curie"}
)
schema_selection(self, sample, options=None)
प्रॉम्प्ट विश्लेषण का उपयोग करके डेटा नमूने के लिए मिलान करने वाले स्कीमा का चयन करें।
तर्क:
sample: विश्लेषण करने के लिए डेटा नमूना (स्ट्रिंग सामग्री)
options: वैकल्पिक पैरामीटर
रिटर्न: schema_matches सरणी और मेटाडेटा के साथ डिक्ट
structured_query(self, question, user='trustgraph', collection='default')
संरचित डेटा के खिलाफ एक प्राकृतिक भाषा प्रश्न निष्पादित करें। एनएलपी क्वेरी रूपांतरण और GraphQL निष्पादन को जोड़ता है।
तर्क:
question: प्राकृतिक भाषा प्रश्न
user: कैसेंड्रा कीस्पेस पहचानकर्ता (डिफ़ॉल्ट: "trustgraph")
collection: डेटा संग्रह पहचानकर्ता (डिफ़ॉल्ट: "default")
रिटर्न: डेटा और वैकल्पिक त्रुटियों के साथ डिक्ट
text_completion(self, system, prompt)
फ़्लो के एलएलएम का उपयोग करके टेक्स्ट कंप्लीशन निष्पादित करें।
तर्क:
system: सिस्टम प्रॉम्प्ट जो सहायक के व्यवहार को परिभाषित करता है
prompt: उपयोगकर्ता प्रॉम्प्ट/प्रश्न
रिटर्न: स्ट्र: उत्पन्न प्रतिक्रिया पाठ
उदाहरण:
flow = api.flow().id("default")
response = flow.text_completion(
system="You are a helpful assistant",
prompt="What is quantum computing?"
)
print(response)
triples_query(self, s=None, p=None, o=None, user=None, collection=None, limit=10000)
पैटर्न मिलान का उपयोग करके ज्ञान ग्राफ त्रिकों को क्वेरी करें।
यह आरडीएफ त्रिकों की खोज करता है जो दिए गए विषय, विधेय और/या ऑब्जेक्ट पैटर्न से मेल खाते हैं। अनिश्चित पैरामीटर वाइल्डकार्ड के रूप में कार्य करते हैं।
तर्क:
s: विषय यूआरआई (वैकल्पिक, वाइल्डकार्ड के लिए None का उपयोग करें)
p: विधेय यूआरआई (वैकल्पिक, वाइल्डकार्ड के लिए None का उपयोग करें)
o: ऑब्जेक्ट यूआरआई या लिटरल (वैकल्पिक, वाइल्डकार्ड के लिए None का उपयोग करें)
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (वैकल्पिक)
collection: संग्रह पहचानकर्ता (वैकल्पिक)
limit: वापस करने के लिए अधिकतम परिणाम (डिफ़ॉल्ट: 10000)
रिटर्न: list[Triple]: मिलान करने वाले ट्रिपल ऑब्जेक्ट की सूची
उठाता है:
RuntimeError: यदि s या p यूआरआई नहीं है, या o यूआरआई/लिटरल नहीं है
उदाहरण:
from trustgraph.knowledge import Uri, Literal
flow = api.flow().id("default")
# Find all triples about a specific subject
triples = flow.triples_query(
s=Uri("http://example.org/person/marie-curie"),
user="trustgraph",
collection="scientists"
)
# Find all instances of a specific relationship
triples = flow.triples_query(
p=Uri("http://example.org/ontology/discovered"),
limit=100
)
--
AsyncFlow
from trustgraph.api import AsyncFlow
REST API का उपयोग करके एसिंक्रोनस फ्लो प्रबंधन क्लाइंट।
यह एसिंक/अवेट पर आधारित फ्लो प्रबंधन संचालन प्रदान करता है, जिसमें लिस्टिंग, फ्लो शुरू करना, बंद करना और फ्लो क्लास परिभाषाओं का प्रबंधन शामिल है। यह एजेंटों, RAG और प्रश्नों जैसी फ्लो-स्कोप सेवाओं तक गैर-स्ट्रीमिंग REST एंडपॉइंट के माध्यम से पहुंच भी प्रदान करता है।
ध्यान दें: स्ट्रीमिंग समर्थन के लिए, AsyncSocketClient का उपयोग करें।
विधियाँ
__init__(self, url: str, timeout: int, token: str | None) -> None
एसिंक्रोनस फ्लो क्लाइंट को इनिशियलाइज़ करें।
तर्क:
url: ट्रस्टग्राफ API के लिए बेस URL
timeout: सेकंड में अनुरोध टाइमआउट
token: प्रमाणीकरण के लिए वैकल्पिक बेयरर टोकन
aclose(self) -> None
एसिंक्रोनस क्लाइंट को बंद करें और संसाधनों को साफ़ करें।
ध्यान दें: सफाई aiohttp सत्र संदर्भ प्रबंधकों द्वारा स्वचालित रूप से संभाली जाती है। यह विधि अन्य एसिंक्रोनस क्लाइंट के साथ स्थिरता के लिए प्रदान की गई है।
delete_class(self, class_name: str)
एक फ्लो क्लास परिभाषा को हटाएं।
यह सिस्टम से एक फ्लो क्लास ब्लूप्रिंट को हटा देता है। यह चल रहे फ्लो उदाहरणों को प्रभावित नहीं करता है।
तर्क:
class_name: हटाने के लिए फ्लो क्लास का नाम
उदाहरण:
async_flow = await api.async_flow()
# Delete a flow class
await async_flow.delete_class("old-flow-class")
get(self, id: str) -> Dict[str, Any]
प्रवाह परिभाषा प्राप्त करें।
यह पूर्ण प्रवाह कॉन्फ़िगरेशन प्राप्त करता है, जिसमें इसका क्लास नाम, विवरण और पैरामीटर शामिल हैं।
तर्क:
id: प्रवाह पहचानकर्ता
वापसी: dict: प्रवाह परिभाषा ऑब्जेक्ट
उदाहरण:
async_flow = await api.async_flow()
# Get flow definition
flow_def = await async_flow.get("default")
print(f"Flow class: {flow_def.get('class-name')}")
print(f"Description: {flow_def.get('description')}")
get_class(self, class_name: str) -> Dict[str, Any]
प्रवाह वर्ग परिभाषा प्राप्त करें।
यह एक प्रवाह वर्ग के लिए ब्लूप्रिंट परिभाषा प्राप्त करता है, जिसमें इसका कॉन्फ़िगरेशन स्कीमा और सेवा बाइंडिंग शामिल हैं।
तर्क:
class_name: प्रवाह वर्ग का नाम
वापसी: dict: प्रवाह वर्ग परिभाषा ऑब्जेक्ट
उदाहरण:
async_flow = await api.async_flow()
# Get flow class definition
class_def = await async_flow.get_class("default")
print(f"Services: {class_def.get('services')}")
id(self, flow_id: str)
एक एसिंक्रोनस फ्लो इंस्टेंस क्लाइंट प्राप्त करें।
यह एक विशिष्ट फ्लो की सेवाओं के साथ इंटरैक्ट करने के लिए एक क्लाइंट लौटाता है (एजेंट, आरएजी, प्रश्न, एम्बेडिंग, आदि)।
तर्क:
flow_id: प्रवाह पहचानकर्ता
वापसी: AsyncFlowInstance: प्रवाह-विशिष्ट कार्यों के लिए क्लाइंट
उदाहरण:
async_flow = await api.async_flow()
# Get flow instance
flow = async_flow.id("default")
# Use flow services
result = await flow.graph_rag(
query="What is TrustGraph?",
user="trustgraph",
collection="default"
)
list(self) -> List[str]
सभी फ्लो पहचानकर्ताओं की सूची बनाएं।
सिस्टम में वर्तमान में तैनात सभी फ्लो के आईडी प्राप्त करता है।
रिटर्न: list[str]: फ्लो पहचानकर्ताओं की सूची
उदाहरण:
async_flow = await api.async_flow()
# List all flows
flows = await async_flow.list()
print(f"Available flows: {flows}")
list_classes(self) -> List[str]
सभी फ्लो क्लास नामों की सूची बनाएं।
सिस्टम में उपलब्ध सभी फ्लो क्लास (ब्लूप्रिंट) के नामों को प्राप्त करता है।
रिटर्न: list[str]: फ्लो क्लास नामों की सूची
उदाहरण:
async_flow = await api.async_flow()
# List available flow classes
classes = await async_flow.list_classes()
print(f"Available flow classes: {classes}")
put_class(self, class_name: str, definition: Dict[str, Any])
एक फ्लो क्लास परिभाषा बनाएं या अपडेट करें।
यह एक फ्लो क्लास ब्लूप्रिंट संग्रहीत करता है जिसका उपयोग फ्लो को इंस्टेंटिएट करने के लिए किया जा सकता है।
तर्क:
class_name: फ्लो क्लास का नाम
definition: फ्लो क्लास परिभाषा ऑब्जेक्ट
उदाहरण:
async_flow = await api.async_flow()
# Create a custom flow class
class_def = {
"services": {
"agent": {"module": "agent", "config": {...}},
"graph-rag": {"module": "graph-rag", "config": {...}}
}
}
await async_flow.put_class("custom-flow", class_def)
request(self, path: str, request_data: Dict[str, Any]) -> Dict[str, Any]
गेटवे एपीआई को एसिंक्रोनस एचटीटीपी पोस्ट अनुरोध भेजें।
ट्रस्टग्राफ एपीआई को प्रमाणित अनुरोध भेजने के लिए आंतरिक विधि।
तर्क:
path: एपीआई एंडपॉइंट पथ (बेस यूआरएल के सापेक्ष)
request_data: अनुरोध पेलोड डिक्शनरी
रिटर्न: डिक्ट: एपीआई से प्रतिक्रिया ऑब्जेक्ट
अपवाद:
ProtocolException: यदि HTTP स्थिति 200 नहीं है या प्रतिक्रिया मान्य JSON नहीं है
ApplicationException: यदि API एक त्रुटि प्रतिक्रिया देता है
start(self, class_name: str, id: str, description: str, parameters: Dict | None = None)
एक नया फ्लो इंस्टेंस शुरू करें।
निर्दिष्ट मापदंडों के साथ एक फ्लो क्लास परिभाषा से एक फ्लो बनाता है और शुरू करता है।
तर्क:
class_name: फ्लो क्लास का नाम जिसे इंस्टेंट किया जाना है
id: नए फ्लो इंस्टेंस के लिए पहचानकर्ता
description: फ्लो का मानव-पठनीय विवरण
parameters: फ्लो के लिए वैकल्पिक कॉन्फ़िगरेशन पैरामीटर
उदाहरण:
async_flow = await api.async_flow()
# Start a flow from a class
await async_flow.start(
class_name="default",
id="my-flow",
description="Custom flow instance",
parameters={"model": "claude-3-opus"}
)
stop(self, id: str)
किसी चल रही प्रक्रिया को रोकें।
यह एक प्रक्रिया के उदाहरण को रोकता है और उसे हटा देता है, जिससे उसके संसाधनों को मुक्त किया जा सकता है।
तर्क:
id: रोकने के लिए प्रक्रिया की पहचानकर्ता।
उदाहरण:
async_flow = await api.async_flow()
# Stop a flow
await async_flow.stop("my-flow")
--
AsyncFlowInstance
from trustgraph.api import AsyncFlowInstance
एसिंक्रोनस फ्लो इंस्टेंस क्लाइंट।
यह एजेंटों, आरएजी प्रश्नों, एम्बेडिंग और ग्राफ प्रश्नों सहित फ्लो-स्कोप सेवाओं तक एसिंक्रोनस/अवेट एक्सेस प्रदान करता है। सभी ऑपरेशन पूर्ण प्रतिक्रियाएं (गैर-स्ट्रीमिंग) लौटाते हैं।
ध्यान दें: स्ट्रीमिंग समर्थन के लिए, AsyncSocketFlowInstance का उपयोग करें।
विधियाँ
__init__(self, flow: trustgraph.api.async_flow.AsyncFlow, flow_id: str)
एसिंक्रोनस फ्लो इंस्टेंस को इनिशियलाइज़ करें।
तर्क:
flow: पैरेंट AsyncFlow क्लाइंट
flow_id: फ्लो पहचानकर्ता
agent(self, question: str, user: str, state: Dict | None = None, group: str | None = None, history: List | None = None, **kwargs: Any) -> Dict[str, Any]
एक एजेंट ऑपरेशन निष्पादित करें (गैर-स्ट्रीमिंग)।
यह एक प्रश्न का उत्तर देने के लिए एक एजेंट चलाता है, जिसमें वैकल्पिक वार्तालाप स्थिति और इतिहास शामिल है। यह एजेंट द्वारा प्रसंस्करण पूरा करने के बाद पूरी प्रतिक्रिया लौटाता है।
ध्यान दें: यह विधि स्ट्रीमिंग का समर्थन नहीं करती है। वास्तविक समय में एजेंट के विचारों और टिप्पणियों के लिए, AsyncSocketFlowInstance.agent() का उपयोग करें।
तर्क:
question: उपयोगकर्ता का प्रश्न या निर्देश
user: उपयोगकर्ता पहचानकर्ता
state: वार्तालाप संदर्भ के लिए वैकल्पिक स्थिति शब्दकोश
group: सत्र प्रबंधन के लिए वैकल्पिक समूह पहचानकर्ता
history: वैकल्पिक वार्तालाप इतिहास सूची
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर
रिटर्न: dict: उत्तर और मेटाडेटा सहित एजेंट की पूरी प्रतिक्रिया
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Execute agent
result = await flow.agent(
question="What is the capital of France?",
user="trustgraph"
)
print(f"Answer: {result.get('response')}")
document_rag(self, query: str, user: str, collection: str, doc_limit: int = 10, **kwargs: Any) -> str
दस्तावेज़-आधारित आरएजी क्वेरी (गैर-स्ट्रीमिंग) निष्पादित करें।
दस्तावेज़ एम्बेडिंग का उपयोग करके पुनर्प्राप्ति-संवर्धित पीढ़ी करता है। प्रासंगिक दस्तावेज़ अंशों को सिमेंटिक खोज के माध्यम से पुनर्प्राप्त करता है, फिर पुनर्प्राप्त दस्तावेज़ों के आधार पर एक प्रतिक्रिया उत्पन्न करता है। पूर्ण प्रतिक्रिया लौटाता है।
ध्यान दें: यह विधि स्ट्रीमिंग का समर्थन नहीं करती है। स्ट्रीमिंग आरएजी प्रतिक्रियाओं के लिए, AsyncSocketFlowInstance.document_rag() का उपयोग करें।
तर्क:
query: उपयोगकर्ता क्वेरी टेक्स्ट
user: उपयोगकर्ता पहचानकर्ता
collection: दस्तावेज़ युक्त संग्रह पहचानकर्ता
doc_limit: पुनर्प्राप्त किए जाने वाले दस्तावेज़ अंशों की अधिकतम संख्या (डिफ़ॉल्ट: 10)
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर
रिटर्न: str: दस्तावेज़ डेटा के आधार पर उत्पन्न पूर्ण प्रतिक्रिया
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Query documents
response = await flow.document_rag(
query="What does the documentation say about authentication?",
user="trustgraph",
collection="docs",
doc_limit=5
)
print(response)
embeddings(self, texts: list, **kwargs: Any)
इनपुट टेक्स्ट के लिए एम्बेडिंग उत्पन्न करें।
टेक्स्ट को संख्यात्मक वेक्टर प्रतिनिधित्व में परिवर्तित करता है, जो कि फ्लो के कॉन्फ़िगर किए गए एम्बेडिंग मॉडल का उपयोग करके किया जाता है। सिमेंटिक खोज और समानता तुलना के लिए उपयोगी।
तर्क:
texts: एम्बेड करने के लिए इनपुट टेक्स्ट की सूची।
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर।
रिटर्न: dict: एम्बेडिंग वेक्टर युक्त प्रतिक्रिया।
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Generate embeddings
result = await flow.embeddings(texts=["Sample text to embed"])
vectors = result.get("vectors")
print(f"Embedding dimension: {len(vectors[0][0])}")
graph_embeddings_query(self, text: str, user: str, collection: str, limit: int = 10, **kwargs: Any)
सिमेंटिक इकाई खोज के लिए क्वेरी ग्राफ एम्बेडिंग।
यह इनपुट टेक्स्ट के लिए सबसे प्रासंगिक इकाइयों को खोजने के लिए ग्राफ इकाई एम्बेडिंग पर सिमेंटिक खोज करता है। समानता के आधार पर रैंक की गई इकाइयों को लौटाता है।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट।
user: उपयोगकर्ता पहचानकर्ता।
collection: ग्राफ एम्बेडिंग युक्त संग्रह पहचानकर्ता।
limit: लौटाने के लिए अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)।
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर।
रिटर्न: dict: रैंक किए गए इकाई मिलानों के साथ प्रतिक्रिया, जिसमें समानता स्कोर शामिल हैं।
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Find related entities
results = await flow.graph_embeddings_query(
text="machine learning algorithms",
user="trustgraph",
collection="tech-kb",
limit=5
)
for entity in results.get("entities", []):
print(f"{entity['name']}: {entity['score']}")
graph_rag(self, query: str, user: str, collection: str, max_subgraph_size: int = 1000, max_subgraph_count: int = 5, max_entity_distance: int = 3, **kwargs: Any) -> str
ग्राफ-आधारित आरएजी क्वेरी (गैर-स्ट्रीमिंग) निष्पादित करें।
यह ज्ञान ग्राफ डेटा का उपयोग करके पुनर्प्राप्ति-संवर्धित पीढ़ी करता है। यह प्रासंगिक संस्थाओं और उनके संबंधों की पहचान करता है, और फिर ग्राफ संरचना पर आधारित एक प्रतिक्रिया उत्पन्न करता है। यह पूर्ण प्रतिक्रिया लौटाता है।
ध्यान दें: यह विधि स्ट्रीमिंग का समर्थन नहीं करती है। स्ट्रीमिंग आरएजी प्रतिक्रियाओं के लिए, AsyncSocketFlowInstance.graph_rag() का उपयोग करें।
तर्क:
query: उपयोगकर्ता क्वेरी टेक्स्ट
user: उपयोगकर्ता पहचानकर्ता
collection: ज्ञान ग्राफ युक्त संग्रह पहचानकर्ता
max_subgraph_size: प्रति सबग्राफ अधिकतम त्रिकों की संख्या (डिफ़ॉल्ट: 1000)
max_subgraph_count: पुनर्प्राप्त किए जाने वाले अधिकतम सबग्राफ की संख्या (डिफ़ॉल्ट: 5)
max_entity_distance: इकाई विस्तार के लिए अधिकतम ग्राफ दूरी (डिफ़ॉल्ट: 3)
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर
रिटर्न: स्ट्रिंग: ग्राफ डेटा पर आधारित पूर्ण उत्पन्न प्रतिक्रिया
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Query knowledge graph
response = await flow.graph_rag(
query="What are the relationships between these entities?",
user="trustgraph",
collection="medical-kb",
max_subgraph_count=3
)
print(response)
request(self, service: str, request_data: Dict[str, Any]) -> Dict[str, Any]
किसी फ्लो-स्कोप सेवा को अनुरोध भेजें।
इस फ्लो इंस्टेंस के भीतर सेवाओं को कॉल करने के लिए आंतरिक विधि।
तर्क:
service: सेवा का नाम (उदाहरण के लिए, "एजेंट", "ग्राफ-आरएजी", "ट्रिपल्स")
request_data: सेवा अनुरोध पेलोड
रिटर्न: डिक्ट: सेवा प्रतिक्रिया ऑब्जेक्ट
अपवाद:
ProtocolException: यदि अनुरोध विफल हो जाता है या प्रतिक्रिया अमान्य है
ApplicationException: यदि सेवा कोई त्रुटि लौटाती है
row_embeddings_query(self, text: str, schema_name: str, user: str = 'trustgraph', collection: str = 'default', index_name: str | None = None, limit: int = 10, **kwargs: Any)
संरचित डेटा पर सिमेंटिक खोज के लिए क्वेरी रो एम्बेडिंग।
पंक्तियों के रो इंडेक्स एम्बेडिंग पर सिमेंटिक खोज करता है ताकि उन पंक्तियों को खोजा जा सके जिनके अनुक्रमित फ़ील्ड मान इनपुट टेक्स्ट के सबसे समान हैं। संरचित डेटा पर अस्पष्ट/सिमेंटिक मिलान को सक्षम करता है।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट।
schema_name: खोज के लिए स्कीमा नाम।
user: उपयोगकर्ता पहचानकर्ता (डिफ़ॉल्ट: "trustgraph")।
collection: संग्रह पहचानकर्ता (डिफ़ॉल्ट: "default")।
index_name: वैकल्पिक इंडेक्स नाम जिसका उपयोग खोज को विशिष्ट इंडेक्स तक सीमित करने के लिए किया जा सकता है।
limit: वापस करने के लिए अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)।
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर।
रिटर्न: dict: मिलान वाले उत्तर जिसमें index_name, index_value, text और score शामिल हैं।
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Search for customers by name similarity
results = await flow.row_embeddings_query(
text="John Smith",
schema_name="customers",
user="trustgraph",
collection="sales",
limit=5
)
for match in results.get("matches", []):
print(f"{match['index_name']}: {match['index_value']} (score: {match['score']})")
rows_query(self, query: str, user: str, collection: str, variables: Dict | None = None, operation_name: str | None = None, **kwargs: Any)
संग्रहीत पंक्तियों पर एक GraphQL क्वेरी निष्पादित करें।
यह संरचित डेटा पंक्तियों को GraphQL सिंटैक्स का उपयोग करके क्वेरी करता है। यह चर और नामित ऑपरेशनों के साथ जटिल क्वेरी का समर्थन करता है।
तर्क:
query: GraphQL क्वेरी स्ट्रिंग
user: उपयोगकर्ता पहचानकर्ता
collection: पंक्तियों वाले संग्रह पहचानकर्ता
variables: वैकल्पिक GraphQL क्वेरी चर
operation_name: मल्टी-ऑपरेशन क्वेरी के लिए वैकल्पिक ऑपरेशन नाम
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर
रिटर्न: dict: डेटा और/या त्रुटियों के साथ GraphQL प्रतिक्रिया
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Execute GraphQL query
query = '''
query GetUsers($status: String!) {
users(status: $status) {
id
name
email
}
}
'''
result = await flow.rows_query(
query=query,
user="trustgraph",
collection="users",
variables={"status": "active"}
)
for user in result.get("data", {}).get("users", []):
print(f"{user['name']}: {user['email']}")
text_completion(self, system: str, prompt: str, **kwargs: Any) -> str
पाठ पूर्णता उत्पन्न करें (गैर-स्ट्रीमिंग)।
यह विधि, एक सिस्टम प्रॉम्प्ट और उपयोगकर्ता प्रॉम्प्ट के आधार पर, एक एलएलएम से पाठ प्रतिक्रिया उत्पन्न करती है। यह पूर्ण प्रतिक्रिया पाठ लौटाता है।
ध्यान दें: यह विधि स्ट्रीमिंग का समर्थन नहीं करती है। स्ट्रीमिंग पाठ पीढ़ी के लिए, AsyncSocketFlowInstance.text_completion() का उपयोग करें।
तर्क:
system: सिस्टम प्रॉम्प्ट जो एलएलएम के व्यवहार को परिभाषित करता है।
prompt: उपयोगकर्ता प्रॉम्प्ट या प्रश्न।
**kwargs: अतिरिक्त, सेवा-विशिष्ट पैरामीटर।
रिटर्न: str: पूर्ण उत्पन्न पाठ प्रतिक्रिया।
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Generate text
response = await flow.text_completion(
system="You are a helpful assistant.",
prompt="Explain quantum computing in simple terms."
)
print(response)
triples_query(self, s=None, p=None, o=None, user=None, collection=None, limit=100, **kwargs: Any)
पैटर्न मिलान का उपयोग करके RDF त्रिगुणों की खोज करें।
यह निर्दिष्ट विषय, विधेय और/या ऑब्जेक्ट पैटर्न से मेल खाने वाले त्रिगुणों की खोज करता है। पैटर्न किसी भी मान से मेल खाने के लिए 'None' का उपयोग करते हैं।
तर्क:
s: विषय पैटर्न (किसी भी मान से मेल खाने के लिए 'None')
p: विधेय पैटर्न (किसी भी मान से मेल खाने के लिए 'None')
o: ऑब्जेक्ट पैटर्न (किसी भी मान से मेल खाने के लिए 'None')
user: उपयोगकर्ता पहचानकर्ता (सभी उपयोगकर्ताओं के लिए 'None')
collection: संग्रह पहचानकर्ता (सभी संग्रहों के लिए 'None')
limit: लौटाने के लिए त्रिगुणों की अधिकतम संख्या (डिफ़ॉल्ट: 100)
**kwargs: अतिरिक्त सेवा-विशिष्ट पैरामीटर
वापसी: dict: मिलान करने वाले त्रिगुणों वाली प्रतिक्रिया
उदाहरण:
async_flow = await api.async_flow()
flow = async_flow.id("default")
# Find all triples with a specific predicate
results = await flow.triples_query(
p="knows",
user="trustgraph",
collection="social",
limit=50
)
for triple in results.get("triples", []):
print(f"{triple['s']} knows {triple['o']}")
--
SocketClient
from trustgraph.api import SocketClient
स्ट्रीमिंग कार्यों के लिए सिंक्रोनस वेबसॉकेट क्लाइंट।
यह वेबसॉकेट-आधारित ट्रस्टग्राफ सेवाओं के लिए एक सिंक्रोनस इंटरफ़ेस प्रदान करता है, जो उपयोग में आसानी के लिए सिंक्रोनस जनरेटर के साथ एसिंक्रोनस वेबसॉकेट लाइब्रेरी को रैप करता है। यह एजेंटों, आरएजी प्रश्नों और टेक्स्ट पूर्णता से स्ट्रीमिंग प्रतिक्रियाओं का समर्थन करता है।
ध्यान दें: यह एसिंक्रोनस वेबसॉकेट ऑपरेशनों के चारों ओर एक सिंक्रोनस रैपर है। वास्तविक एसिंक्रोनस समर्थन के लिए, AsyncSocketClient का उपयोग करें।
विधियाँ
__init__(self, url: str, timeout: int, token: str | None) -> None
सिंक्रोनस वेबसॉकेट क्लाइंट को इनिशियलाइज़ करें।
तर्क:
url: ट्रस्टग्राफ एपीआई के लिए बेस यूआरएल (HTTP/HTTPS को WS/WSS में परिवर्तित किया जाएगा)
timeout: सेकंड में वेबसॉकेट टाइमआउट
token: प्रमाणीकरण के लिए वैकल्पिक बेयरर टोकन
close(self) -> None
वेबसॉकेट कनेक्शन बंद करें।
ध्यान दें: एसिंक्रोनस कोड में संदर्भ प्रबंधकों द्वारा सफाई स्वचालित रूप से संभाली जाती है।
flow(self, flow_id: str) -> 'SocketFlowInstance'
वेबसॉकेट स्ट्रीमिंग ऑपरेशनों के लिए एक फ्लो इंस्टेंस प्राप्त करें।
तर्क:
flow_id: फ्लो पहचानकर्ता
रिटर्न: SocketFlowInstance: स्ट्रीमिंग विधियों वाला फ्लो इंस्टेंस
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Stream agent responses
for chunk in flow.agent(question="Hello", user="trustgraph", streaming=True):
print(chunk.content, end='', flush=True)
--
SocketFlowInstance
from trustgraph.api import SocketFlowInstance
सिंक्रोनस वेबसॉकेट फ्लो इंस्टेंस, स्ट्रीमिंग कार्यों के लिए।
यह REST फ्लोइंस्टेंस के समान इंटरफ़ेस प्रदान करता है, लेकिन वास्तविक समय प्रतिक्रियाओं के लिए वेबसॉकेट-आधारित
स्ट्रीमिंग समर्थन के साथ। सभी विधियाँ एक वैकल्पिक
streaming पैरामीटर का समर्थन करती हैं, जो वृद्धिशील परिणाम वितरण को सक्षम करता है।
विधियाँ
__init__(self, client: trustgraph.api.socket_client.SocketClient, flow_id: str) -> None
सॉकेट फ्लो इंस्टेंस को आरंभ करें।
तर्क:
client: पैरेंट सॉकेटक्लाइंट
flow_id: फ्लो पहचानकर्ता
agent(self, question: str, user: str, state: Dict[str, Any] | None = None, group: str | None = None, history: List[Dict[str, Any]] | None = None, streaming: bool = False, **kwargs: Any) -> Dict[str, Any] | Iterator[trustgraph.api.types.StreamingChunk]
एक एजेंट ऑपरेशन को स्ट्रीमिंग समर्थन के साथ निष्पादित करें।
एजेंट टूल का उपयोग करके बहु-चरणीय तर्क कर सकते हैं। यह विधि हमेशा स्ट्रीमिंग चंक्स (विचार, अवलोकन, उत्तर) लौटाती है, भले ही streaming=False हो, ताकि एजेंट की तर्क प्रक्रिया दिखाई जा सके।
तर्क:
question: उपयोगकर्ता का प्रश्न या निर्देश
user: उपयोगकर्ता पहचानकर्ता
state: स्टेटफुल वार्तालापों के लिए वैकल्पिक स्टेट डिक्शनरी
group: मल्टी-यूजर संदर्भों के लिए वैकल्पिक समूह पहचानकर्ता
history: वैकल्पिक रूप से संदेशों की सूची के रूप में वार्तालाप इतिहास
streaming: स्ट्रीमिंग मोड सक्षम करें (डिफ़ॉल्ट: False)
**kwargs: एजेंट सेवा को पास किए गए अतिरिक्त पैरामीटर
रिटर्न: Iterator[StreamingChunk]: एजेंट के विचारों, अवलोकनों और उत्तरों का स्ट्रीम
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Stream agent reasoning
for chunk in flow.agent(
question="What is quantum computing?",
user="trustgraph",
streaming=True
):
if isinstance(chunk, AgentThought):
print(f"[Thinking] {chunk.content}")
elif isinstance(chunk, AgentObservation):
print(f"[Observation] {chunk.content}")
elif isinstance(chunk, AgentAnswer):
print(f"[Answer] {chunk.content}")
agent_explain(self, question: str, user: str, collection: str, state: Dict[str, Any] | None = None, group: str | None = None, history: List[Dict[str, Any]] | None = None, **kwargs: Any) -> Iterator[trustgraph.api.types.StreamingChunk | trustgraph.api.types.ProvenanceEvent]
स्पष्टीकरण समर्थन के साथ एक एजेंट ऑपरेशन निष्पादित करें।
यह सामग्री खंडों (AgentThought, AgentObservation, AgentAnswer) और प्रामाणिकता घटनाओं (ProvenanceEvent) दोनों को स्ट्रीम करता है। प्रामाणिकता घटनाओं में URI होते हैं जिन्हें विस्तृत जानकारी प्राप्त करने के लिए ExplainabilityClient का उपयोग करके प्राप्त किया जा सकता है एजेंट के तर्क प्रक्रिया के बारे में।
एजेंट ट्रेस में शामिल हैं: सत्र: प्रारंभिक प्रश्न और सत्र मेटाडेटा पुनरावृत्तियाँ: प्रत्येक विचार/क्रिया/अवलोकन चक्र निष्कर्ष: अंतिम उत्तर
तर्क:
question: उपयोगकर्ता का प्रश्न या निर्देश
user: उपयोगकर्ता पहचानकर्ता
collection: प्रामाणिकता भंडारण के लिए संग्रह पहचानकर्ता
state: राज्यपूर्ण वार्ता के लिए वैकल्पिक राज्य शब्दकोश
group: बहु-उपयोगकर्ता संदर्भों के लिए वैकल्पिक समूह पहचानकर्ता
history: संदेशों की सूची के रूप में वैकल्पिक वार्ता इतिहास
**kwargs: एजेंट सेवा को अतिरिक्त पैरामीटर
Yields:
Union[StreamingChunk, ProvenanceEvent]: एजेंट खंड और प्रामाणिकता घटनाएँ
उदाहरण:
from trustgraph.api import Api, ExplainabilityClient, ProvenanceEvent
from trustgraph.api import AgentThought, AgentObservation, AgentAnswer
socket = api.socket()
flow = socket.flow("default")
explain_client = ExplainabilityClient(flow)
provenance_ids = []
for item in flow.agent_explain(
question="What is the capital of France?",
user="trustgraph",
collection="default"
):
if isinstance(item, AgentThought):
print(f"[Thought] {item.content}")
elif isinstance(item, AgentObservation):
print(f"[Observation] {item.content}")
elif isinstance(item, AgentAnswer):
print(f"[Answer] {item.content}")
elif isinstance(item, ProvenanceEvent):
provenance_ids.append(item.explain_id)
# Fetch session trace after completion
if provenance_ids:
trace = explain_client.fetch_agent_trace(
provenance_ids[0], # Session URI is first
graph="urn:graph:retrieval",
user="trustgraph",
collection="default"
)
document_embeddings_query(self, text: str, user: str, collection: str, limit: int = 10, **kwargs: Any) -> Dict[str, Any]
सिमेंटिक समानता का उपयोग करके दस्तावेज़ के टुकड़ों को क्वेरी करें।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
limit: अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)
**kwargs: सेवा को अतिरिक्त पैरामीटर
रिटर्न: डिक्ट: मिलान करने वाले दस्तावेज़ टुकड़ों के chunk_ids के साथ क्वेरी परिणाम
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
results = flow.document_embeddings_query(
text="machine learning algorithms",
user="trustgraph",
collection="research-papers",
limit=5
)
# results contains {"chunks": [{"chunk_id": "...", "score": 0.95}, ...]}
document_rag(self, query: str, user: str, collection: str, doc_limit: int = 10, streaming: bool = False, **kwargs: Any) -> str | Iterator[str]
दस्तावेज़-आधारित आरएजी क्वेरी को वैकल्पिक स्ट्रीमिंग के साथ निष्पादित करें।
यह प्रासंगिक दस्तावेज़ टुकड़ों को खोजने के लिए वेक्टर एम्बेडिंग का उपयोग करता है, फिर एक एलएलएम का उपयोग करके प्रतिक्रिया उत्पन्न करता है। स्ट्रीमिंग मोड क्रमिक रूप से परिणाम प्रदान करता है।
तर्क:
query: प्राकृतिक भाषा क्वेरी
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
doc_limit: पुनर्प्राप्त किए जाने वाले अधिकतम दस्तावेज़ टुकड़ों की संख्या (डिफ़ॉल्ट: 10)
streaming: स्ट्रीमिंग मोड सक्षम करें (डिफ़ॉल्ट: False)
**kwargs: सेवा को पारित अतिरिक्त पैरामीटर
रिटर्न: Union[str, Iterator[str]]: पूर्ण प्रतिक्रिया या पाठ टुकड़ों की धारा
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Streaming document RAG
for chunk in flow.document_rag(
query="Summarize the key findings",
user="trustgraph",
collection="research-papers",
doc_limit=5,
streaming=True
):
print(chunk, end='', flush=True)
document_rag_explain(self, query: str, user: str, collection: str, doc_limit: int = 10, **kwargs: Any) -> Iterator[trustgraph.api.types.RAGChunk | trustgraph.api.types.ProvenanceEvent]
दस्तावेज़-आधारित आरएजी क्वेरी को व्याख्यात्मकता समर्थन के साथ निष्पादित करें।
यह सामग्री के टुकड़ों (RAGChunk) और उत्पत्ति घटनाओं (ProvenanceEvent) दोनों को स्ट्रीम करता है। उत्पत्ति घटनाओं में यूआरआई होते हैं जिन्हें ExplainabilityClient का उपयोग करके प्राप्त किया जा सकता है ताकि प्रतिक्रिया कैसे उत्पन्न हुई, इसके बारे में विस्तृत जानकारी प्राप्त की जा सके।
दस्तावेज़ आरएजी ट्रेस में निम्नलिखित शामिल हैं: प्रश्न: उपयोगकर्ता की क्वेरी अन्वेषण: दस्तावेज़ भंडार से प्राप्त किए गए टुकड़े (chunk_count) संश्लेषण: उत्पन्न उत्तर
तर्क:
query: प्राकृतिक भाषा क्वेरी
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
doc_limit: पुनर्प्राप्त करने के लिए अधिकतम दस्तावेज़ टुकड़े (डिफ़ॉल्ट: 10)
**kwargs: सेवा को पारित अतिरिक्त पैरामीटर
Yields:
Union[RAGChunk, ProvenanceEvent]: सामग्री के टुकड़े और उत्पत्ति घटनाएं
उदाहरण:
from trustgraph.api import Api, ExplainabilityClient, RAGChunk, ProvenanceEvent
socket = api.socket()
flow = socket.flow("default")
explain_client = ExplainabilityClient(flow)
for item in flow.document_rag_explain(
query="Summarize the key findings",
user="trustgraph",
collection="research-papers",
doc_limit=5
):
if isinstance(item, RAGChunk):
print(item.content, end='', flush=True)
elif isinstance(item, ProvenanceEvent):
# Fetch entity details
entity = explain_client.fetch_entity(
item.explain_id,
graph=item.explain_graph,
user="trustgraph",
collection="research-papers"
)
print(f"Event: {entity}", file=sys.stderr)
embeddings(self, texts: list, **kwargs: Any) -> Dict[str, Any]
एक या अधिक ग्रंथों के लिए वेक्टर एम्बेडिंग उत्पन्न करें।
तर्क:
texts: एम्बेड करने के लिए इनपुट ग्रंथों की सूची
**kwargs: सेवा को पास किए गए अतिरिक्त पैरामीटर
रिटर्न: dict: वैक्टर युक्त प्रतिक्रिया (प्रत्येक इनपुट टेक्स्ट के लिए एक सेट)
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
result = flow.embeddings(["quantum computing"])
vectors = result.get("vectors", [])
graph_embeddings_query(self, text: str, user: str, collection: str, limit: int = 10, **kwargs: Any) -> Dict[str, Any]
सिमेंटिक समानता का उपयोग करके ज्ञान ग्राफ संस्थाओं को क्वेरी करें।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
limit: अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)
**kwargs: सेवा को अतिरिक्त पैरामीटर
रिटर्न: dict: समान संस्थाओं के साथ क्वेरी परिणाम
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
results = flow.graph_embeddings_query(
text="physicist who discovered radioactivity",
user="trustgraph",
collection="scientists",
limit=5
)
graph_rag(self, query: str, user: str, collection: str, max_subgraph_size: int = 1000, max_subgraph_count: int = 5, max_entity_distance: int = 3, streaming: bool = False, **kwargs: Any) -> str | Iterator[str]
ग्राफ-आधारित आरएजी क्वेरी को वैकल्पिक स्ट्रीमिंग के साथ निष्पादित करें।
यह प्रासंगिक संदर्भ खोजने के लिए ज्ञान ग्राफ संरचना का उपयोग करता है, और फिर एक एलएलएम का उपयोग करके प्रतिक्रिया उत्पन्न करता है। स्ट्रीमिंग मोड क्रमिक रूप से परिणाम प्रदान करता है।
तर्क:
query: प्राकृतिक भाषा क्वेरी
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
max_subgraph_size: सबग्राफ में अधिकतम कुल त्रिगुण (डिफ़ॉल्ट: 1000)
max_subgraph_count: उपग्राफ की अधिकतम संख्या (डिफ़ॉल्ट: 5)
max_entity_distance: अधिकतम ट्रैवर्सल गहराई (डिफ़ॉल्ट: 3)
streaming: स्ट्रीमिंग मोड सक्षम करें (डिफ़ॉल्ट: False)
**kwargs: सेवा को अतिरिक्त पैरामीटर जो भेजे जाते हैं
रिटर्न: यूनियन[स्ट्रिंग, इटरेटर[स्ट्रिंग]]: पूर्ण प्रतिक्रिया या टेक्स्ट चंक्स की स्ट्रीम
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Streaming graph RAG
for chunk in flow.graph_rag(
query="Tell me about Marie Curie",
user="trustgraph",
collection="scientists",
streaming=True
):
print(chunk, end='', flush=True)
graph_rag_explain(self, query: str, user: str, collection: str, max_subgraph_size: int = 1000, max_subgraph_count: int = 5, max_entity_distance: int = 3, **kwargs: Any) -> Iterator[trustgraph.api.types.RAGChunk | trustgraph.api.types.ProvenanceEvent]
स्पष्टीकरण समर्थन के साथ ग्राफ-आधारित आरएजी क्वेरी निष्पादित करें।
यह सामग्री खंडों (RAGChunk) और उत्पत्ति घटनाओं (ProvenanceEvent) दोनों को स्ट्रीम करता है। उत्पत्ति घटनाओं में यूआरआई होते हैं जिन्हें ExplainabilityClient का उपयोग करके प्राप्त किया जा सकता है ताकि प्रतिक्रिया कैसे उत्पन्न हुई, इसके बारे में विस्तृत जानकारी प्राप्त की जा सके।
तर्क:
query: प्राकृतिक भाषा क्वेरी
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
max_subgraph_size: सबग्राफ में अधिकतम कुल त्रिगुण (डिफ़ॉल्ट: 1000)
max_subgraph_count: उपग्राफों की अधिकतम संख्या (डिफ़ॉल्ट: 5)
max_entity_distance: अधिकतम ट्रैवर्सल गहराई (डिफ़ॉल्ट: 3)
**kwargs: सेवा को अतिरिक्त पैरामीटर
Yields:
Union[RAGChunk, ProvenanceEvent]: सामग्री खंड और उत्पत्ति घटनाएं
उदाहरण:
from trustgraph.api import Api, ExplainabilityClient, RAGChunk, ProvenanceEvent
socket = api.socket()
flow = socket.flow("default")
explain_client = ExplainabilityClient(flow)
provenance_ids = []
response_text = ""
for item in flow.graph_rag_explain(
query="Tell me about Marie Curie",
user="trustgraph",
collection="scientists"
):
if isinstance(item, RAGChunk):
response_text += item.content
print(item.content, end='', flush=True)
elif isinstance(item, ProvenanceEvent):
provenance_ids.append(item.provenance_id)
# Fetch explainability details
for prov_id in provenance_ids:
entity = explain_client.fetch_entity(
prov_id,
graph="urn:graph:retrieval",
user="trustgraph",
collection="scientists"
)
print(f"Entity: {entity}")
mcp_tool(self, name: str, parameters: Dict[str, Any], **kwargs: Any) -> Dict[str, Any]
मॉडल कॉन्टेक्स्ट प्रोटोकॉल (MCP) टूल को निष्पादित करें।
तर्क:
name: टूल का नाम/पहचानकर्ता
parameters: टूल पैरामीटर डिक्शनरी
**kwargs: सेवा को पास किए गए अतिरिक्त पैरामीटर
रिटर्न: डिक्ट: टूल निष्पादन परिणाम
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
result = flow.mcp_tool(
name="search-web",
parameters={"query": "latest AI news", "limit": 5}
)
prompt(self, id: str, variables: Dict[str, str], streaming: bool = False, **kwargs: Any) -> str | Iterator[str]
एक वैकल्पिक स्ट्रीमिंग विकल्प के साथ एक प्रॉम्प्ट टेम्पलेट निष्पादित करें।
तर्क:
id: प्रॉम्प्ट टेम्पलेट पहचानकर्ता
variables: चर नाम से मान मैपिंग का शब्दकोश
streaming: स्ट्रीमिंग मोड सक्षम करें (डिफ़ॉल्ट: False)
**kwargs: सेवा को अतिरिक्त पैरामीटर
रिटर्न: Union[str, Iterator[str]]: पूर्ण प्रतिक्रिया या टेक्स्ट चंक्स की धारा
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Streaming prompt execution
for chunk in flow.prompt(
id="summarize-template",
variables={"topic": "quantum computing", "length": "brief"},
streaming=True
):
print(chunk, end='', flush=True)
row_embeddings_query(self, text: str, schema_name: str, user: str = 'trustgraph', collection: str = 'default', index_name: str | None = None, limit: int = 10, **kwargs: Any) -> Dict[str, Any]
अनुक्रमित फ़ील्ड पर सिमेंटिक समानता का उपयोग करके पंक्ति डेटा क्वेरी करें।
उन पंक्तियों को खोजें जिनके अनुक्रमित फ़ील्ड मान इनपुट टेक्स्ट के सिमेंटिक रूप से समान हैं, वेक्टर एम्बेडिंग का उपयोग करके। यह संरचित डेटा पर अस्पष्ट/सिमेंटिक मिलान को सक्षम बनाता है।
तर्क:
text: सिमेंटिक खोज के लिए क्वेरी टेक्स्ट
schema_name: खोज के लिए स्कीमा का नाम
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (डिफ़ॉल्ट: "trustgraph")
collection: संग्रह पहचानकर्ता (डिफ़ॉल्ट: "default")
index_name: वैकल्पिक इंडेक्स नाम जिससे खोज को विशिष्ट इंडेक्स तक सीमित किया जा सके
limit: अधिकतम परिणामों की संख्या (डिफ़ॉल्ट: 10)
**kwargs: सेवा को अतिरिक्त पैरामीटर जो पास किए जाते हैं
रिटर्न: dict: मिलान वाले क्वेरी परिणाम जिनमें index_name, index_value, text और score शामिल हैं
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Search for customers by name similarity
results = flow.row_embeddings_query(
text="John Smith",
schema_name="customers",
user="trustgraph",
collection="sales",
limit=5
)
# Filter to specific index
results = flow.row_embeddings_query(
text="machine learning engineer",
schema_name="employees",
index_name="job_title",
limit=10
)
rows_query(self, query: str, user: str, collection: str, variables: Dict[str, Any] | None = None, operation_name: str | None = None, **kwargs: Any) -> Dict[str, Any]
संरचित पंक्तियों के विरुद्ध एक GraphQL क्वेरी निष्पादित करें।
तर्क:
query: GraphQL क्वेरी स्ट्रिंग
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
variables: वैकल्पिक क्वेरी चर शब्दकोश
operation_name: मल्टी-ऑपरेशन दस्तावेज़ों के लिए वैकल्पिक ऑपरेशन नाम
**kwargs: सेवा को पारित अतिरिक्त पैरामीटर
रिटर्न: dict: डेटा, त्रुटियों और/या एक्सटेंशन के साथ GraphQL प्रतिक्रिया
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
query = '''
{
scientists(limit: 10) {
name
field
discoveries
}
}
'''
result = flow.rows_query(
query=query,
user="trustgraph",
collection="scientists"
)
text_completion(self, system: str, prompt: str, streaming: bool = False, **kwargs) -> str | Iterator[str]
वैकल्पिक स्ट्रीमिंग के साथ टेक्स्ट पूर्णता निष्पादित करें।
तर्क:
system: सिस्टम प्रॉम्प्ट जो सहायक के व्यवहार को परिभाषित करता है।
prompt: उपयोगकर्ता प्रॉम्प्ट/प्रश्न।
streaming: स्ट्रीमिंग मोड सक्षम करें (डिफ़ॉल्ट: False)।
**kwargs: सेवा को पारित अतिरिक्त पैरामीटर।
रिटर्न: Union[str, Iterator[str]]: पूर्ण प्रतिक्रिया या टेक्स्ट टुकड़ों की धारा।
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Non-streaming
response = flow.text_completion(
system="You are helpful",
prompt="Explain quantum computing",
streaming=False
)
print(response)
# Streaming
for chunk in flow.text_completion(
system="You are helpful",
prompt="Explain quantum computing",
streaming=True
):
print(chunk, end='', flush=True)
triples_query(self, s: str | Dict[str, Any] | None = None, p: str | Dict[str, Any] | None = None, o: str | Dict[str, Any] | None = None, g: str | None = None, user: str | None = None, collection: str | None = None, limit: int = 100, **kwargs: Any) -> List[Dict[str, Any]]
पैटर्न मिलान का उपयोग करके ज्ञान ग्राफ त्रिकों को क्वेरी करें।
तर्क:
s: विषय फ़िल्टर - URI स्ट्रिंग, टर्म डिक्शनरी, या वाइल्डकार्ड के लिए None
p: विधेय फ़िल्टर - URI स्ट्रिंग, टर्म डिक्शनरी, या वाइल्डकार्ड के लिए None
o: वस्तु फ़िल्टर - URI/लिटरल स्ट्रिंग, टर्म डिक्शनरी, या वाइल्डकार्ड के लिए None
g: नामित ग्राफ फ़िल्टर - URI स्ट्रिंग या सभी ग्राफों के लिए None
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (वैकल्पिक)
collection: संग्रह पहचानकर्ता (वैकल्पिक)
limit: वापस करने के लिए अधिकतम परिणाम (डिफ़ॉल्ट: 100)
**kwargs: सेवा को अतिरिक्त पैरामीटर
वापसी: List[Dict]: वायर प्रारूप में मिलान किए गए त्रिकों की सूची
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
# Find all triples about a specific subject
triples = flow.triples_query(
s="http://example.org/person/marie-curie",
user="trustgraph",
collection="scientists"
)
# Query with named graph filter
triples = flow.triples_query(
s="urn:trustgraph:session:abc123",
g="urn:graph:retrieval",
user="trustgraph",
collection="default"
)
triples_query_stream(self, s: str | Dict[str, Any] | None = None, p: str | Dict[str, Any] | None = None, o: str | Dict[str, Any] | None = None, g: str | None = None, user: str | None = None, collection: str | None = None, limit: int = 100, batch_size: int = 20, **kwargs: Any) -> Iterator[List[Dict[str, Any]]]
स्ट्रीमिंग बैचों के साथ नॉलेज ग्राफ ट्रिपल क्वेरी करें।
जैसे ही ट्रिपल आते हैं, वे बैचों में उपलब्ध होते हैं, जिससे पहले परिणाम प्राप्त करने का समय कम होता है और बड़े परिणाम सेट के लिए मेमोरी ओवरहेड कम होता है।
तर्क:
s: विषय फ़िल्टर - URI स्ट्रिंग, टर्म डिक्ट, या वाइल्डकार्ड के लिए None
p: विधेय फ़िल्टर - URI स्ट्रिंग, टर्म डिक्ट, या वाइल्डकार्ड के लिए None
o: वस्तु फ़िल्टर - URI/लिटरल स्ट्रिंग, टर्म डिक्ट, या वाइल्डकार्ड के लिए None
g: नामित ग्राफ फ़िल्टर - URI स्ट्रिंग या सभी ग्राफ के लिए None
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता (वैकल्पिक)
collection: संग्रह पहचानकर्ता (वैकल्पिक)
limit: वापस करने के लिए अधिकतम परिणाम (डिफ़ॉल्ट: 100)
batch_size: प्रति बैच ट्रिपल (डिफ़ॉल्ट: 20)
**kwargs: सेवा को पास किए गए अतिरिक्त पैरामीटर
Yields:
List[Dict]: वायर प्रारूप में ट्रिपल के बैच
उदाहरण:
socket = api.socket()
flow = socket.flow("default")
for batch in flow.triples_query_stream(
user="trustgraph",
collection="default"
):
for triple in batch:
print(triple["s"], triple["p"], triple["o"])
--
AsyncSocketClient
from trustgraph.api import AsyncSocketClient
एसिंक्रोनस वेबसॉकेट क्लाइंट
विधियाँ
__init__(self, url: str, timeout: int, token: str | None)
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
aclose(self)
वेबसॉकेट कनेक्शन बंद करें
flow(self, flow_id: str)
वेबसॉकेट संचालन के लिए एसिंक्रोनस फ्लो इंस्टेंस प्राप्त करें
--
AsyncSocketFlowInstance
from trustgraph.api import AsyncSocketFlowInstance
एसिंक्रोनस वेबसॉकेट फ्लो इंस्टेंस
विधियाँ
__init__(self, client: trustgraph.api.async_socket_client.AsyncSocketClient, flow_id: str)
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
agent(self, question: str, user: str, state: Dict[str, Any] | None = None, group: str | None = None, history: list | None = None, streaming: bool = False, **kwargs) -> Dict[str, Any] | AsyncIterator
वैकल्पिक स्ट्रीमिंग के साथ एजेंट
document_rag(self, query: str, user: str, collection: str, doc_limit: int = 10, streaming: bool = False, **kwargs)
वैकल्पिक स्ट्रीमिंग के साथ RAG दस्तावेज़
embeddings(self, texts: list, **kwargs)
टेक्स्ट एम्बेडिंग उत्पन्न करें
graph_embeddings_query(self, text: str, user: str, collection: str, limit: int = 10, **kwargs)
सिमेंटिक खोज के लिए ग्राफ एम्बेडिंग क्वेरी करें
graph_rag(self, query: str, user: str, collection: str, max_subgraph_size: int = 1000, max_subgraph_count: int = 5, max_entity_distance: int = 3, streaming: bool = False, **kwargs)
वैकल्पिक स्ट्रीमिंग के साथ ग्राफ RAG
mcp_tool(self, name: str, parameters: Dict[str, Any], **kwargs)
MCP टूल निष्पादित करें
prompt(self, id: str, variables: Dict[str, str], streaming: bool = False, **kwargs)
वैकल्पिक स्ट्रीमिंग के साथ प्रॉम्प्ट निष्पादित करें
row_embeddings_query(self, text: str, schema_name: str, user: str = 'trustgraph', collection: str = 'default', index_name: str | None = None, limit: int = 10, **kwargs)
संरचित डेटा पर सिमेंटिक खोज के लिए पंक्ति एम्बेडिंग क्वेरी करें
rows_query(self, query: str, user: str, collection: str, variables: Dict | None = None, operation_name: str | None = None, **kwargs)
संरचित पंक्तियों के खिलाफ GraphQL क्वेरी
text_completion(self, system: str, prompt: str, streaming: bool = False, **kwargs)
वैकल्पिक स्ट्रीमिंग के साथ टेक्स्ट पूर्णता
triples_query(self, s=None, p=None, o=None, user=None, collection=None, limit=100, **kwargs)
ट्रिपल पैटर्न क्वेरी
--
build_term(value: Any, term_type: str | None = None, datatype: str | None = None, language: str | None = None) -> Dict[str, Any] | None
एक मान से वायर-फॉर्मेट टर्म डिक्ट बनाएं।
ऑटो-डिटेक्शन नियम (जब term_type None है): पहले से ही 't' कुंजी वाला डिक्ट -> यथावत लौटाएं (पहले से ही एक टर्म) http://, https://, urn: से शुरू होता है -> IRI <> (जैसे, http://...) में संलग्न -> IRI (कोण कोष्ठक हटा दिए गए) कुछ भी और -> शाब्दिक
तर्क:
value: टर्म मान (स्ट्रिंग, डिक्ट या None)
term_type: 'iri', 'literal' या ऑटो-डिटेक्शन के लिए None में से एक
datatype: शाब्दिक ऑब्जेक्ट के लिए डेटाटाइप (जैसे, xsd:integer)
language: शाब्दिक ऑब्जेक्ट के लिए भाषा टैग (जैसे, en)
रिटर्न: डिक्ट: वायर-फॉर्मेट टर्म डिक्ट, या यदि मान None है तो None
--
BulkClient
from trustgraph.api import BulkClient
आयात/निर्यात के लिए सिंक्रोनस बल्क ऑपरेशंस क्लाइंट।
बड़े डेटासेट के लिए कुशल बल्क डेटा ट्रांसफर वेबसॉकेट के माध्यम से प्रदान करता है। उपयोग में आसानी के लिए सिंक्रोनस जनरेटर के साथ एसिंक्रोनस वेबसॉकेट ऑपरेशंस को रैप करता है।
ध्यान दें: वास्तविक एसिंक्रोनस समर्थन के लिए, AsyncBulkClient का उपयोग करें।
विधियाँ
__init__(self, url: str, timeout: int, token: str | None) -> None
सिंक्रोनस बल्क क्लाइंट को इनिशियलाइज़ करें।
तर्क:
url: ट्रस्टग्राफ एपीआई के लिए बेस यूआरएल (HTTP/HTTPS को WS/WSS में परिवर्तित किया जाएगा)
timeout: सेकंड में वेबसॉकेट टाइमआउट
token: प्रमाणीकरण के लिए वैकल्पिक बेयरर टोकन
close(self) -> None
कनेक्शन बंद करें
export_document_embeddings(self, flow: str, **kwargs: Any) -> Iterator[Dict[str, Any]]
एक फ्लो से बल्क एक्सपोर्ट डॉक्यूमेंट एम्बेडिंग।
वेबसॉकेट स्ट्रीमिंग के माध्यम से सभी डॉक्यूमेंट चंक एम्बेडिंग को कुशलतापूर्वक डाउनलोड करता है।
तर्क:
flow: फ्लो आइडेंटिफायर
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
रिटर्न: Iterator[Dict[str, Any]]: एम्बेडिंग डिक्शनरी का स्ट्रीम
उदाहरण:
bulk = api.bulk()
# Export and process document embeddings
for embedding in bulk.export_document_embeddings(flow="default"):
chunk_id = embedding.get("chunk_id")
vector = embedding.get("embedding")
print(f"{chunk_id}: {len(vector)} dimensions")
export_entity_contexts(self, flow: str, **kwargs: Any) -> Iterator[Dict[str, Any]]
किसी फ्लो से बल्क एक्सपोर्ट एंटिटी कॉन्टेक्स्ट।
वेबसॉकेट स्ट्रीमिंग के माध्यम से सभी एंटिटी कॉन्टेक्स्ट जानकारी को कुशलतापूर्वक डाउनलोड करता है।
तर्क:
flow: फ्लो आइडेंटिफायर
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
रिटर्न: Iterator[Dict[str, Any]]: कॉन्टेक्स्ट डिक्शनरी का स्ट्रीम
उदाहरण:
bulk = api.bulk()
# Export and process entity contexts
for context in bulk.export_entity_contexts(flow="default"):
entity = context.get("entity")
text = context.get("context")
print(f"{entity}: {text[:100]}...")
export_graph_embeddings(self, flow: str, **kwargs: Any) -> Iterator[Dict[str, Any]]
एक फ्लो से ग्राफ एम्बेडिंग का बल्क एक्सपोर्ट।
वेबसॉकेट स्ट्रीमिंग के माध्यम से सभी ग्राफ एंटिटी एम्बेडिंग को कुशलतापूर्वक डाउनलोड करता है।
तर्क:
flow: फ्लो आइडेंटिफायर
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
रिटर्न: Iterator[Dict[str, Any]]: एम्बेडिंग डिक्शनरी का स्ट्रीम
उदाहरण:
bulk = api.bulk()
# Export and process embeddings
for embedding in bulk.export_graph_embeddings(flow="default"):
entity = embedding.get("entity")
vector = embedding.get("embedding")
print(f"{entity}: {len(vector)} dimensions")
export_triples(self, flow: str, **kwargs: Any) -> Iterator[trustgraph.api.types.Triple]
एक प्रवाह से RDF त्रिगुणों का बल्क निर्यात करें।
सभी त्रिगुणों को कुशलतापूर्वक WebSocket स्ट्रीमिंग के माध्यम से डाउनलोड करता है।
तर्क:
flow: प्रवाह पहचानकर्ता
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
रिटर्न: Iterator[Triple]: ट्रिपल ऑब्जेक्ट्स की स्ट्रीम
उदाहरण:
bulk = api.bulk()
# Export and process triples
for triple in bulk.export_triples(flow="default"):
print(f"{triple.s} -> {triple.p} -> {triple.o}")
import_document_embeddings(self, flow: str, embeddings: Iterator[Dict[str, Any]], **kwargs: Any) -> None
एक फ्लो में दस्तावेज़ एम्बेडिंग को बल्क में इम्पोर्ट करें।
दस्तावेज़ RAG प्रश्नों में उपयोग के लिए, वेबसॉकेट स्ट्रीमिंग के माध्यम से कुशलतापूर्वक दस्तावेज़ चंक एम्बेडिंग अपलोड करता है।
तर्क:
flow: फ्लो पहचानकर्ता
embeddings: एम्बेडिंग डिक्शनरी उत्पन्न करने वाला इटरेटर
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
उदाहरण:
bulk = api.bulk()
# Generate document embeddings to import
def doc_embedding_generator():
yield {"chunk_id": "doc1/p0/c0", "embedding": [0.1, 0.2, ...]}
yield {"chunk_id": "doc1/p0/c1", "embedding": [0.3, 0.4, ...]}
# ... more embeddings
bulk.import_document_embeddings(
flow="default",
embeddings=doc_embedding_generator()
)
import_entity_contexts(self, flow: str, contexts: Iterator[Dict[str, Any]], metadata: Dict[str, Any] | None = None, batch_size: int = 100, **kwargs: Any) -> None
एक फ्लो में एंटिटी कॉन्टेक्स्ट को बल्क में इम्पोर्ट करें।
वेबसॉकेट स्ट्रीमिंग के माध्यम से एंटिटी कॉन्टेक्स्ट जानकारी को कुशलतापूर्वक अपलोड करता है। एंटिटी कॉन्टेक्स्ट, ग्राफ एंटिटीज के बारे में अतिरिक्त पाठ्य संदर्भ प्रदान करते हैं बेहतर RAG प्रदर्शन के लिए।
तर्क:
flow: फ्लो आइडेंटिफायर
contexts: कॉन्टेक्स्ट डिक्शनरी उत्पन्न करने वाला इटरेटर
metadata: आईडी, मेटाडेटा, उपयोगकर्ता, संग्रह के साथ मेटाडेटा डिक्ट
batch_size: बैच प्रति कॉन्टेक्स्ट की संख्या (डिफ़ॉल्ट 100)
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
उदाहरण:
bulk = api.bulk()
# Generate entity contexts to import
def context_generator():
yield {"entity": {"v": "entity1", "e": True}, "context": "Description..."}
yield {"entity": {"v": "entity2", "e": True}, "context": "Description..."}
# ... more contexts
bulk.import_entity_contexts(
flow="default",
contexts=context_generator(),
metadata={"id": "doc1", "metadata": [], "user": "user1", "collection": "default"}
)
import_graph_embeddings(self, flow: str, embeddings: Iterator[Dict[str, Any]], **kwargs: Any) -> None
एक फ्लो में ग्राफ एम्बेडिंग को बल्क में इम्पोर्ट करें।
वेबसॉकेट स्ट्रीमिंग के माध्यम से ग्राफ एंटिटी एम्बेडिंग को कुशलतापूर्वक अपलोड करता है।
तर्क:
flow: फ्लो पहचानकर्ता
embeddings: एम्बेडिंग डिक्शनरी उत्पन्न करने वाला इटरेटर
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
उदाहरण:
bulk = api.bulk()
# Generate embeddings to import
def embedding_generator():
yield {"entity": "entity1", "embedding": [0.1, 0.2, ...]}
yield {"entity": "entity2", "embedding": [0.3, 0.4, ...]}
# ... more embeddings
bulk.import_graph_embeddings(
flow="default",
embeddings=embedding_generator()
)
import_rows(self, flow: str, rows: Iterator[Dict[str, Any]], **kwargs: Any) -> None
एक फ्लो में संरचित पंक्तियों को बल्क में आयात करें।
कुशलतापूर्वक संरचित डेटा पंक्तियों को WebSocket स्ट्रीमिंग के माध्यम से अपलोड करता है जिसका उपयोग GraphQL प्रश्नों में किया जाता है।
तर्क:
flow: फ्लो पहचानकर्ता
rows: पंक्ति शब्दकोशों को उत्पन्न करने वाला इटरेटर
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
उदाहरण:
bulk = api.bulk()
# Generate rows to import
def row_generator():
yield {"id": "row1", "name": "Row 1", "value": 100}
yield {"id": "row2", "name": "Row 2", "value": 200}
# ... more rows
bulk.import_rows(
flow="default",
rows=row_generator()
)
import_triples(self, flow: str, triples: Iterator[trustgraph.api.types.Triple], metadata: Dict[str, Any] | None = None, batch_size: int = 100, **kwargs: Any) -> None
एक फ्लो में RDF ट्रिपल का बल्क इम्पोर्ट करें।
वेबसॉकेट स्ट्रीमिंग के माध्यम से बड़ी संख्या में ट्रिपल को कुशलतापूर्वक अपलोड करता है।
तर्क:
flow: फ्लो आइडेंटिफायर
triples: ट्रिपल ऑब्जेक्ट्स उत्पन्न करने वाला इटरेटर
metadata: आईडी, मेटाडेटा, यूजर, कलेक्शन के साथ मेटाडेटा डिक्ट
batch_size: प्रति बैच ट्रिपल की संख्या (डिफ़ॉल्ट 100)
**kwargs: अतिरिक्त पैरामीटर (भविष्य के उपयोग के लिए आरक्षित)
उदाहरण:
from trustgraph.api import Triple
bulk = api.bulk()
# Generate triples to import
def triple_generator():
yield Triple(s="subj1", p="pred", o="obj1")
yield Triple(s="subj2", p="pred", o="obj2")
# ... more triples
# Import triples
bulk.import_triples(
flow="default",
triples=triple_generator(),
metadata={"id": "doc1", "metadata": [], "user": "user1", "collection": "default"}
)
--
AsyncBulkClient
from trustgraph.api import AsyncBulkClient
एसिंक्रोनस बल्क ऑपरेशंस क्लाइंट
विधियाँ
__init__(self, url: str, timeout: int, token: str | None) -> None
स्वयं को इनिशियलाइज़ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
aclose(self) -> None
कनेक्शन बंद करें
export_document_embeddings(self, flow: str, **kwargs: Any) -> AsyncIterator[Dict[str, Any]]
वेबसॉकेट के माध्यम से दस्तावेज़ एम्बेडिंग का बल्क एक्सपोर्ट
export_entity_contexts(self, flow: str, **kwargs: Any) -> AsyncIterator[Dict[str, Any]]
वेबसॉकेट के माध्यम से एंटिटी कॉन्टेक्स्ट का बल्क एक्सपोर्ट
export_graph_embeddings(self, flow: str, **kwargs: Any) -> AsyncIterator[Dict[str, Any]]
वेबसॉकेट के माध्यम से ग्राफ एम्बेडिंग का बल्क एक्सपोर्ट
export_triples(self, flow: str, **kwargs: Any) -> AsyncIterator[trustgraph.api.types.Triple]
वेबसॉकेट के माध्यम से ट्रिपल्स का बल्क एक्सपोर्ट
import_document_embeddings(self, flow: str, embeddings: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None
वेबसॉकेट के माध्यम से दस्तावेज़ एम्बेडिंग का बल्क इम्पोर्ट
import_entity_contexts(self, flow: str, contexts: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None
वेबसॉकेट के माध्यम से एंटिटी कॉन्टेक्स्ट का बल्क इम्पोर्ट
import_graph_embeddings(self, flow: str, embeddings: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None
वेबसॉकेट के माध्यम से ग्राफ एम्बेडिंग का बल्क इम्पोर्ट
import_rows(self, flow: str, rows: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None
वेबसॉकेट के माध्यम से पंक्तियों का बल्क इम्पोर्ट
import_triples(self, flow: str, triples: AsyncIterator[trustgraph.api.types.Triple], **kwargs: Any) -> None
वेबसॉकेट के माध्यम से ट्रिपल्स का बल्क इम्पोर्ट
--
Metrics
from trustgraph.api import Metrics
सिंक्रोनस मेट्रिक्स क्लाइंट
विधियाँ
__init__(self, url: str, timeout: int, token: str | None) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
get(self) -> str
प्रोमेथियस मेट्रिक्स को टेक्स्ट के रूप में प्राप्त करें
--
AsyncMetrics
from trustgraph.api import AsyncMetrics
एसिंक्रोनस मेट्रिक्स क्लाइंट
विधियाँ
__init__(self, url: str, timeout: int, token: str | None) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
aclose(self) -> None
कनेक्शन बंद करें
get(self) -> str
प्रोमेथियस मेट्रिक्स को टेक्स्ट के रूप में प्राप्त करें
--
ExplainabilityClient
from trustgraph.api import ExplainabilityClient
स्पष्टीकरण संस्थाओं को लाने के लिए क्लाइंट, जिसमें अंततः स्थिरता प्रबंधन शामिल है।
यह शांत अवस्था का पता लगाने का उपयोग करता है: प्राप्त करें, प्रतीक्षा करें, फिर से प्राप्त करें, तुलना करें। यदि परिणाम समान हैं, तो डेटा स्थिर है।
विधियाँ
__init__(self, flow_instance, retry_delay: float = 0.2, max_retries: int = 10)
स्पष्टीकरण क्लाइंट को आरंभ करें।
तर्क:
flow_instance: त्रिकों को क्वेरी करने के लिए एक SocketFlowInstance
retry_delay: पुन: प्रयास के बीच का विलंब (डिफ़ॉल्ट: 0.2)
max_retries: अधिकतम पुन: प्रयास (डिफ़ॉल्ट: 10)
detect_session_type(self, session_uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> str
पता करें कि क्या सत्र GraphRAG या Agent प्रकार का है।
तर्क:
session_uri: सत्र/प्रश्न URI
graph: नामित ग्राफ
user: उपयोगकर्ता/keyspace पहचानकर्ता
collection: संग्रह पहचानकर्ता
रिटर्न: "graphrag" या "agent"
fetch_agent_trace(self, session_uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None, api: Any = None, max_content: int = 10000) -> Dict[str, Any]
एक सत्र URI से शुरू होने वाला संपूर्ण Agent ट्रेस प्राप्त करें।
यह उत्पत्ति श्रृंखला का अनुसरण करता है: प्रश्न -> विश्लेषण (s) -> निष्कर्ष
तर्क:
session_uri: एजेंट सत्र/प्रश्न URI
graph: नामित ग्राफ (डिफ़ॉल्ट: urn:graph:retrieval)
user: उपयोगकर्ता/keyspace पहचानकर्ता
collection: संग्रह पहचानकर्ता
api: लाइब्रेरियन एक्सेस के लिए TrustGraph Api उदाहरण (वैकल्पिक)
max_content: निष्कर्ष के लिए अधिकतम सामग्री लंबाई
रिटर्न: प्रश्न, पुनरावृत्तियों (विश्लेषण सूची), निष्कर्ष संस्थाओं के साथ डिक्ट
fetch_docrag_trace(self, question_uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None, api: Any = None, max_content: int = 10000) -> Dict[str, Any]
एक प्रश्न URI से शुरू होने वाला संपूर्ण DocumentRAG ट्रेस प्राप्त करें।
यह उत्पत्ति श्रृंखला का अनुसरण करता है: प्रश्न -> ग्राउंडिंग -> अन्वेषण -> संश्लेषण
तर्क:
question_uri: प्रश्न इकाई URI
graph: नामित ग्राफ (डिफ़ॉल्ट: urn:graph:retrieval)
user: उपयोगकर्ता/keyspace पहचानकर्ता
collection: संग्रह पहचानकर्ता
api: लाइब्रेरियन एक्सेस के लिए TrustGraph Api उदाहरण (वैकल्पिक)
max_content: संश्लेषण के लिए अधिकतम सामग्री लंबाई
रिटर्न: प्रश्न, ग्राउंडिंग, अन्वेषण, संश्लेषण संस्थाओं के साथ डिक्ट
fetch_document_content(self, document_uri: str, api: Any, user: str | None = None, max_content: int = 10000) -> str
दस्तावेज़ URI द्वारा लाइब्रेरियन से सामग्री प्राप्त करें।
तर्क:
document_uri: लाइब्रेरियन में दस्तावेज़ URI
api: लाइब्रेरियन एक्सेस के लिए TrustGraph Api उदाहरण
user: लाइब्रेरियन के लिए उपयोगकर्ता पहचानकर्ता
max_content: वापस करने के लिए अधिकतम सामग्री लंबाई
रिटर्न: स्ट्रिंग के रूप में दस्तावेज़ सामग्री
fetch_edge_selection(self, uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> trustgraph.api.explainability.EdgeSelection | None
एक एज सिलेक्शन एंटिटी प्राप्त करें (जो फोकस द्वारा उपयोग किया जाता है)।
तर्क:
uri: एज सिलेक्शन URI
graph: क्वेरी करने के लिए नामित ग्राफ
user: उपयोगकर्ता/keyspace पहचानकर्ता
collection: संग्रह पहचानकर्ता
रिटर्न: एज सिलेक्शन या यदि नहीं मिला तो None
fetch_entity(self, uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> trustgraph.api.explainability.ExplainEntity | None
URI के माध्यम से एक व्याख्यात्मकता इकाई प्राप्त करें और संभावित स्थिरता प्रबंधन के साथ।
शांत अवस्था का पता लगाने का उपयोग करता है:
- URI के लिए ट्रिपल प्राप्त करें
- यदि शून्य परिणाम हैं, तो पुनः प्रयास करें
- यदि गैर-शून्य परिणाम हैं, तो प्रतीक्षा करें और फिर से प्राप्त करें
- यदि समान परिणाम हैं, तो डेटा स्थिर है - पार्स करें और वापस करें
- यदि अलग-अलग परिणाम हैं, तो डेटा अभी भी लिखा जा रहा है - पुनः प्रयास करें
तर्क:
uri: प्राप्त करने के लिए इकाई URI
graph: क्वेरी करने के लिए नामित ग्राफ (जैसे, "urn:graph:retrieval")
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
वापसी: ExplainEntity उपवर्ग या यदि नहीं मिला तो None
fetch_focus_with_edges(self, uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> trustgraph.api.explainability.Focus | None
एक फोकस इकाई और उसके सभी किनारे चयन प्राप्त करें।
तर्क:
uri: फोकस इकाई URI
graph: क्वेरी करने के लिए नामित ग्राफ
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
वापसी: भरे हुए edge_selections के साथ Focus, या None
fetch_graphrag_trace(self, question_uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None, api: Any = None, max_content: int = 10000) -> Dict[str, Any]
एक प्रश्न URI से शुरू होकर संपूर्ण GraphRAG ट्रेस प्राप्त करें।
उत्पत्ति श्रृंखला का पालन करें: प्रश्न -> ग्राउंडिंग -> अन्वेषण -> फोकस -> संश्लेषण
तर्क:
question_uri: प्रश्न इकाई URI
graph: नामित ग्राफ (डिफ़ॉल्ट: urn:graph:retrieval)
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
api: लाइब्रेरियन एक्सेस के लिए ट्रस्टग्राफ एपीआई उदाहरण (वैकल्पिक)
max_content: संश्लेषण के लिए अधिकतम सामग्री लंबाई
वापसी: प्रश्न, ग्राउंडिंग, अन्वेषण, फोकस, संश्लेषण संस्थाओं के साथ डिक्ट
list_sessions(self, graph: str | None = None, user: str | None = None, collection: str | None = None, limit: int = 50) -> List[trustgraph.api.explainability.Question]
एक संग्रह में सभी व्याख्यात्मकता सत्र (प्रश्न) सूचीबद्ध करें।
तर्क:
graph: नामित ग्राफ (डिफ़ॉल्ट: urn:graph:retrieval)
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
limit: वापस करने के लिए सत्रों की अधिकतम संख्या
वापसी: टाइमस्टैम्प द्वारा क्रमबद्ध प्रश्न संस्थाओं की सूची (नवीनतम पहले)
resolve_edge_labels(self, edge: Dict[str, str], user: str | None = None, collection: str | None = None) -> Tuple[str, str, str]
एक किनारे ट्रिपल के सभी घटकों के लिए लेबल हल करें।
तर्क:
edge: "s", "p", "o" कुंजियों वाला डिक्ट
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
वापसी: (s_label, p_label, o_label) का टपल
resolve_label(self, uri: str, user: str | None = None, collection: str | None = None) -> str
कैशिंग के साथ एक URI के लिए rdfs:label हल करें।
तर्क:
uri: URI जिसके लिए लेबल प्राप्त करना है
user: उपयोगकर्ता/कीस्पेस पहचानकर्ता
collection: संग्रह पहचानकर्ता
वापसी: यदि पाया जाता है तो लेबल, अन्यथा URI स्वयं
--
ExplainEntity
from trustgraph.api import ExplainEntity
व्याख्यात्मक संस्थाओं के लिए आधार वर्ग।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
विधियाँ
__init__(self, uri: str, entity_type: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Question
from trustgraph.api import Question
प्रश्न इकाई - उपयोगकर्ता का वह प्रश्न जिसने सत्र शुरू किया।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
query: <class 'str'>
timestamp: <class 'str'>
question_type: <class 'str'>
विधियाँ
__init__(self, uri: str, entity_type: str = '', query: str = '', timestamp: str = '', question_type: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Exploration
from trustgraph.api import Exploration
अन्वेषण इकाई - ज्ञान भंडार से प्राप्त किनारे/खंड।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
edge_count: <class 'int'>
chunk_count: <class 'int'>
entities: typing.List[str]
विधियाँ
__init__(self, uri: str, entity_type: str = '', edge_count: int = 0, chunk_count: int = 0, entities: List[str] = <factory>) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Focus
from trustgraph.api import Focus
मुख्य इकाई - एलएलएम तर्क के साथ चयनित किनारे (केवल GraphRAG)।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
selected_edge_uris: typing.List[str]
edge_selections: typing.List[trustgraph.api.explainability.EdgeSelection]
विधियाँ
__init__(self, uri: str, entity_type: str = '', selected_edge_uris: List[str] = <factory>, edge_selections: List[trustgraph.api.explainability.EdgeSelection] = <factory>) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Synthesis
from trustgraph.api import Synthesis
संश्लेषण इकाई - अंतिम उत्तर।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
document: <class 'str'>
विधियाँ
__init__(self, uri: str, entity_type: str = '', document: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Analysis
from trustgraph.api import Analysis
विश्लेषण इकाई - एक विचार/कार्य/अवलोकन चक्र (केवल एजेंट)।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
action: <class 'str'>
arguments: <class 'str'>
thought: <class 'str'>
observation: <class 'str'>
विधियाँ
__init__(self, uri: str, entity_type: str = '', action: str = '', arguments: str = '', thought: str = '', observation: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Conclusion
from trustgraph.api import Conclusion
निष्कर्ष इकाई - अंतिम उत्तर (केवल एजेंट)।
फ़ील्ड:
uri: <class 'str'>
entity_type: <class 'str'>
document: <class 'str'>
विधियाँ
__init__(self, uri: str, entity_type: str = '', document: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
EdgeSelection
from trustgraph.api import EdgeSelection
ग्राफआरएजी फोकस चरण से तर्क के साथ एक चयनित किनारा।
फ़ील्ड:
uri: <class 'str'>
edge: typing.Dict[str, str] | None
reasoning: <class 'str'>
विधियाँ
__init__(self, uri: str, edge: Dict[str, str] | None = None, reasoning: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
wire_triples_to_tuples(wire_triples: List[Dict[str, Any]]) -> List[Tuple[str, str, Any]]
वायर-फॉर्मेट ट्रिपल को (s, p, o) टुपल्स में बदलें।
--
extract_term_value(term: Dict[str, Any]) -> Any
एक वायर-फॉर्मेट टर्म डिक्ट से मान निकालें।
--
Triple
from trustgraph.api import Triple
आरडीएफ ट्रिपल जो एक ज्ञान ग्राफ कथन का प्रतिनिधित्व करता है।
फ़ील्ड:
s: <class 'str'>
p: <class 'str'>
o: <class 'str'>
विधियाँ
__init__(self, s: str, p: str, o: str) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
Uri
from trustgraph.api import Uri
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
दिए गए ऑब्जेक्ट से एक नया स्ट्रिंग ऑब्जेक्ट बनाएं। यदि एन्कोडिंग या त्रुटियां निर्दिष्ट हैं, तो ऑब्जेक्ट में एक डेटा बफर होना चाहिए जिसे दिए गए एन्कोडिंग और त्रुटि हैंडलर का उपयोग करके डिकोड किया जाएगा। अन्यथा, यह ऑब्जेक्ट.str() (यदि परिभाषित है) का परिणाम लौटाता है या repr(object)। एन्कोडिंग डिफ़ॉल्ट रूप से 'utf-8' है। त्रुटियां डिफ़ॉल्ट रूप से 'strict' हैं।
विधियाँ
is_literal(self)
is_triple(self)
is_uri(self)
--
Literal
from trustgraph.api import Literal
str(object='') -> str str(bytes_or_buffer[, encoding[, errors]]) -> str
दिए गए ऑब्जेक्ट से एक नया स्ट्रिंग ऑब्जेक्ट बनाएं। यदि एन्कोडिंग या त्रुटियां निर्दिष्ट हैं, तो ऑब्जेक्ट में एक डेटा बफर होना चाहिए जिसे दिए गए एन्कोडिंग और त्रुटि हैंडलर का उपयोग करके डिकोड किया जाएगा। अन्यथा, यह ऑब्जेक्ट.str() (यदि परिभाषित है) का परिणाम लौटाता है या repr(object)। एन्कोडिंग डिफ़ॉल्ट रूप से 'utf-8' है। त्रुटियां डिफ़ॉल्ट रूप से 'strict' हैं।
विधियाँ
is_literal(self)
is_triple(self)
is_uri(self)
--
ConfigKey
from trustgraph.api import ConfigKey
कॉन्फ़िगरेशन कुंजी पहचानकर्ता।
फ़ील्ड:
type: <class 'str'>
key: <class 'str'>
विधियाँ
__init__(self, type: str, key: str) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
ConfigValue
from trustgraph.api import ConfigValue
कॉन्फ़िगरेशन कुंजी-मान जोड़ी।
फ़ील्ड:
type: <class 'str'>
key: <class 'str'>
value: <class 'str'>
विधियाँ
__init__(self, type: str, key: str, value: str) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
DocumentMetadata
from trustgraph.api import DocumentMetadata
पुस्तकालय में एक दस्तावेज़ के लिए मेटाडेटा।
विशेषताएं:
parent_id: Parent document ID for child documents (empty for top: स्तर (docs)
फ़ील्ड:
id: <class 'str'>
time: <class 'datetime.datetime'>
kind: <class 'str'>
title: <class 'str'>
comments: <class 'str'>
metadata: typing.List[trustgraph.api.types.Triple]
user: <class 'str'>
tags: typing.List[str]
parent_id: <class 'str'>
document_type: <class 'str'>
विधियाँ
__init__(self, id: str, time: datetime.datetime, kind: str, title: str, comments: str, metadata: List[trustgraph.api.types.Triple], user: str, tags: List[str], parent_id: str = '', document_type: str = 'source') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
ProcessingMetadata
from trustgraph.api import ProcessingMetadata
एक सक्रिय दस्तावेज़ प्रसंस्करण कार्य के लिए मेटाडेटा।
फ़ील्ड:
id: <class 'str'>
document_id: <class 'str'>
time: <class 'datetime.datetime'>
flow: <class 'str'>
user: <class 'str'>
collection: <class 'str'>
tags: typing.List[str]
विधियाँ
__init__(self, id: str, document_id: str, time: datetime.datetime, flow: str, user: str, collection: str, tags: List[str]) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
CollectionMetadata
from trustgraph.api import CollectionMetadata
डेटा संग्रह के लिए मेटाडेटा।
संग्रह दस्तावेज़ों और ज्ञान ग्राफ डेटा के लिए तार्किक समूहीकरण और अलगाव प्रदान करते हैं।
विशेषताएं:
name: Human: पढ़ने योग्य संग्रह नाम
फ़ील्ड:
user: <class 'str'>
collection: <class 'str'>
name: <class 'str'>
description: <class 'str'>
tags: typing.List[str]
विधियाँ
__init__(self, user: str, collection: str, name: str, description: str, tags: List[str]) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
StreamingChunk
from trustgraph.api import StreamingChunk
स्ट्रीमिंग प्रतिक्रिया खंडों के लिए आधार वर्ग।
वेबसॉकेट-आधारित स्ट्रीमिंग कार्यों के लिए उपयोग किया जाता है, जहाँ प्रतिक्रियाएँ उत्पन्न होने पर क्रमिक रूप से भेजी जाती हैं।
फ़ील्ड:
content: <class 'str'>
end_of_message: <class 'bool'>
विधियाँ
__init__(self, content: str, end_of_message: bool = False) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
AgentThought
from trustgraph.api import AgentThought
एजेंट की तर्क/विचार प्रक्रिया का खंड।
यह एजेंट के निष्पादन के दौरान आंतरिक तर्क या योजना चरणों का प्रतिनिधित्व करता है। ये खंड दर्शाते हैं कि एजेंट समस्या के बारे में कैसे सोच रहा है।
फ़ील्ड:
content: <class 'str'>
end_of_message: <class 'bool'>
chunk_type: <class 'str'>
विधियाँ
__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'thought') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
AgentObservation
from trustgraph.api import AgentObservation
एजेंट टूल निष्पादन अवलोकन खंड।
यह किसी टूल या क्रिया को निष्पादित करने के परिणाम या अवलोकन को दर्शाता है। ये खंड दिखाते हैं कि एजेंट ने टूल का उपयोग करके क्या सीखा।
फ़ील्ड:
content: <class 'str'>
end_of_message: <class 'bool'>
chunk_type: <class 'str'>
विधियाँ
__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'observation') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
AgentAnswer
from trustgraph.api import AgentAnswer
एजेंट का अंतिम उत्तर खंड।
यह एजेंट की अंतिम प्रतिक्रिया का प्रतिनिधित्व करता है जो उपयोगकर्ता के प्रश्न का उत्तर देने के लिए अपनी तर्क क्षमता और टूल उपयोग को पूरा करने के बाद देता है।
विशेषताएं:
chunk_type: Always "final: उत्तर"
फ़ील्ड:
content: <class 'str'>
end_of_message: <class 'bool'>
chunk_type: <class 'str'>
end_of_dialog: <class 'bool'>
विधियाँ
__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'final-answer', end_of_dialog: bool = False) -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
RAGChunk
from trustgraph.api import RAGChunk
आरएजी (रीट्रिवल-ऑगमेंटेड जनरेशन) स्ट्रीमिंग चंक।
ग्राफ आरएजी, दस्तावेज़ आरएजी, टेक्स्ट कंप्लीशन, और अन्य जेनरेटिव सेवाओं से प्रतिक्रियाओं को स्ट्रीम करने के लिए उपयोग किया जाता है।
फ़ील्ड:
content: <class 'str'>
end_of_message: <class 'bool'>
chunk_type: <class 'str'>
end_of_stream: <class 'bool'>
error: typing.Dict[str, str] | None
मेथड
__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'rag', end_of_stream: bool = False, error: Dict[str, str] | None = None) -> None
स्वयं को इनिशियलाइज़ करें। सटीक सिग्नेचर के लिए help(type(self)) देखें।
--
ProvenanceEvent
from trustgraph.api import ProvenanceEvent
व्याख्यात्मकता के लिए उत्पत्ति घटना।
जब व्याख्यात्मक मोड सक्षम होता है तो GraphRAG प्रश्नों के दौरान उत्सर्जित। प्रत्येक घटना एक उत्पत्ति नोड का प्रतिनिधित्व करती है जो प्रश्न प्रसंस्करण के दौरान बनाई जाती है।
फ़ील्ड:
explain_id: <class 'str'>
explain_graph: <class 'str'>
event_type: <class 'str'>
विधियाँ
__init__(self, explain_id: str, explain_graph: str = '', event_type: str = '') -> None
स्वयं को आरंभ करें। सटीक हस्ताक्षर के लिए help(type(self)) देखें।
--
ProtocolException
from trustgraph.api import ProtocolException
जब वेबसॉकेट प्रोटोकॉल त्रुटियां होती हैं, तो यह त्रुटि उत्पन्न होती है।
--
TrustGraphException
from trustgraph.api import TrustGraphException
सभी ट्रस्टग्राफ सेवा त्रुटियों के लिए आधार वर्ग।
--
AgentError
from trustgraph.api import AgentError
एजेंट सेवा त्रुटि
--
ConfigError
from trustgraph.api import ConfigError
कॉन्फ़िगरेशन सेवा त्रुटि
--
DocumentRagError
from trustgraph.api import DocumentRagError
दस्तावेज़ पुनर्प्राप्ति त्रुटि।
--
FlowError
from trustgraph.api import FlowError
प्रवाह प्रबंधन त्रुटि
--
GatewayError
from trustgraph.api import GatewayError
एपीआई गेटवे त्रुटि
--
GraphRagError
from trustgraph.api import GraphRagError
ग्राफ आरएजी पुनर्प्राप्ति त्रुटि
--
LLMError
from trustgraph.api import LLMError
एलएलएम सेवा त्रुटि
--
LoadError
from trustgraph.api import LoadError
डेटा लोड करने में त्रुटि
--
LookupError
from trustgraph.api import LookupError
खोज/खोज त्रुटि
--
NLPQueryError
from trustgraph.api import NLPQueryError
एनएलपी क्वेरी सेवा त्रुटि
--
RowsQueryError
from trustgraph.api import RowsQueryError
पंक्तियों के क्वेरी सेवा त्रुटि
--
RequestError
from trustgraph.api import RequestError
अनुरोध प्रसंस्करण त्रुटि
--
StructuredQueryError
from trustgraph.api import StructuredQueryError
संरचित क्वेरी सेवा त्रुटि
--
UnexpectedError
from trustgraph.api import UnexpectedError
अप्रत्याशित/अज्ञात त्रुटि
--
ApplicationException
from trustgraph.api import ApplicationException
सभी ट्रस्टग्राफ सेवा त्रुटियों के लिए आधार वर्ग।
--