trustgraph/docs/python-api.tr.md
Alex Jenkins 8954fa3ad7 Feat: TrustGraph i18n & Documentation Translation Updates (#781)
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.
2026-04-14 12:08:32 +01:00

106 KiB
Raw Blame History

layout title parent
default TrustGraph Python API Referansı Turkish (Beta)

TrustGraph Python API Referansı

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.

Kurulum

pip install trustgraph

Hızlı Başlangıç

Tüm sınıflar ve tipler, trustgraph.api paketinden içe aktarılmıştır:

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"
)

İçindekiler

Çekirdek

Api

Akış İstemcileri

Flow FlowInstance AsyncFlow AsyncFlowInstance

WebSocket İstemcileri

SocketClient SocketFlowInstance AsyncSocketClient AsyncSocketFlowInstance

Toplu İşlemler

BulkClient AsyncBulkClient

Metrikler

Metrics AsyncMetrics

Veri Tipleri

Triple ConfigKey ConfigValue DocumentMetadata ProcessingMetadata CollectionMetadata StreamingChunk AgentThought AgentObservation AgentAnswer RAGChunk

İstisnalar

ProtocolException TrustGraphException AgentError ConfigError DocumentRagError FlowError GatewayError GraphRagError LLMError LoadError LookupError NLPQueryError RowsQueryError RequestError StructuredQueryError UnexpectedError ApplicationException

--

Api

from trustgraph.api import Api

Senkron ve asenkron işlemler için ana TrustGraph API istemcisi.

Bu sınıf, akış yönetimi, bilgi grafiği işlemleri, belge işleme, RAG sorguları ve daha fazlası dahil olmak üzere tüm TrustGraph hizmetlerine erişim sağlar. Hem REST tabanlı hem de WebSocket tabanlı iletişim modellerini destekler.

İstemci, otomatik kaynak temizliği için bir bağlam yöneticisi olarak kullanılabilir: python with Api(url="http://localhost:8088/") as api: result = api.flow().id("default").graph_rag(query="test")

Yöntemler

__aenter__(self)

Asenkron bağlam yöneticisine girin.

__aexit__(self, *args)

Asenkron bağlam yöneticisinden çıkın ve bağlantıları kapatın.

__enter__(self)

Senkron bağlam yöneticisine girin.

__exit__(self, *args)

Senkron bağlam yöneticisinden çıkın ve bağlantıları kapatın.

__init__(self, url='http://localhost:8088/', timeout=60, token: str | None = None)

TrustGraph API istemciyi başlatın.

Argümanlar:

url: TrustGraph API'si için temel URL (varsayılan: "http://localhost:8088/"") timeout: İstek zaman aşımı süresi (saniye cinsinden) (varsayılan: 60) token: İsteğe bağlı doğrulama için taşıyıcı belirteci

Örnek:

# Local development
api = Api()

# Production with authentication
api = Api(
    url="https://trustgraph.example.com/",
    timeout=120,
    token="your-api-token"
)

aclose(self)

Tüm asenkron istemci bağlantılarını kapatın.

Bu yöntem, asenkron WebSocket, toplu işlem ve akış bağlantılarını kapatır. Bu, asenkron bir bağlam yöneticisinden çıkıldığında otomatik olarak çağrılır.

Örnek:

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)

Asenkron toplu işlemler istemcisi alın.

WebSocket üzerinden asenkron/bekleme tarzı toplu içe/dışa aktarma işlemleri sağlar, böylece büyük veri kümelerinin verimli bir şekilde işlenmesini sağlar.

Döndürür: AsyncBulkClient: Asenkron toplu işlemler istemcisi

Örnek:

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)

Asenkron, REST tabanlı bir akış istemcisi alın.

Akış işlemlerine, async/await stili erişim sağlar. Bu, asenkron Python uygulamaları ve çerçeveleri (FastAPI, aiohttp, vb.) için tercih edilir.

Döndürür: AsyncFlow: Asenkron akış istemcisi

Örnek:

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)

Asenkron bir metrik istemcisi alın.

Prometheus metriklerine, async/await tarzında erişim sağlar.

Döndürür: AsyncMetrics: Asenkron metrik istemcisi

Örnek:

async_metrics = api.async_metrics()
prometheus_text = await async_metrics.get()
print(prometheus_text)

async_socket(self)

Akış işlemleri için asenkron bir WebSocket istemcisi alın.

Akış desteği ile asenkron/bekleme tarzı WebSocket erişimi sağlar. Bu, Python'da asenkron akış için tercih edilen yöntemdir.

Döndürür: AsyncSocketClient: Asenkron WebSocket istemcisi

Örnek:

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)

İçe/dışa aktarım için senkron toplu işlemler istemcisi alın.

Toplu işlemler, üçlüler, gömülü veriler, varlık bağlamları ve nesneler dahil olmak üzere büyük veri kümelerinin WebSocket bağlantıları aracılığıyla verimli bir şekilde aktarılmasını sağlar.

Döndürür: BulkClient: Senkron toplu işlemler istemcisi

Örnek:

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)

Tüm senkronize istemci bağlantılarını kapatın.

Bu yöntem, WebSocket ve toplu işlem bağlantılarını kapatır. Bir bağlam yöneticisinden çıkılırken otomatik olarak çağrılır.

Örnek:

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)

Veri koleksiyonlarını yönetmek için bir Collection istemcisi alın.

Koleksiyonlar, belgeleri ve bilgi grafiği verilerini, izolasyon ve erişim kontrolü için mantıksal gruplara ayırır.

Döndürür: Collection: Koleksiyon yönetimi istemcisi

Örnek:

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)

Yapılandırma ayarlarını yönetmek için bir Config istemcisi alın.

Döndürür: Config: Yapılandırma yönetimi istemcisi

Örnek:

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)

Akışları yönetmek ve etkileşim kurmak için bir Flow istemcisi edinin.

Akışlar, TrustGraph'ta birincil yürütme birimleridir ve ajanlar, RAG sorguları, gömme ve belge işleme gibi hizmetlere erişim sağlar.

Döndürür: Flow: Akış yönetimi istemcisi

Örnek:

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)

Bilgi grafiği çekirdeklerini yönetmek için bir Knowledge istemcisi edinin.

Döndürür: Knowledge: Bilgi grafiği yönetimi istemcisi

Örnek:

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)

Belge yönetimi için bir Kütüphane istemcisi edinin.

Bu kütüphane, belge depolama, meta veri yönetimi ve iş akışı koordinasyonu sağlar.

Döndürür: Library: Belge kütüphanesi yönetimi istemcisi

Örnek:

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)

İzleme için senkron bir ölçüm istemcisi alın.

İzleme ve gözlemlenebilirlik için TrustGraph hizmetinden Prometheus formatında ölçümleri alır.

Döndürür: Ölçümler: Senkron ölçüm istemcisi

Örnek:

metrics = api.metrics()
prometheus_text = metrics.get()
print(prometheus_text)

request(self, path, request)

Düşük seviyeli bir REST API isteği yapın.

Bu yöntem öncelikle dahili kullanım içindir, ancak gerektiğinde doğrudan API erişimi için kullanılabilir.

Argümanlar:

path: API uç noktası yolu (temel URL'ye göre) request: İstek yükü, bir sözlük olarak

Döndürür: dict: Yanıt nesnesi

Hatalar:

ProtocolException: Yanıt durum kodu 200 değilse veya yanıt JSON değilse ApplicationException: Yanıt bir hata içeriyorsa

Örnek:

response = api.request("flow", {
    "operation": "list-flows"
})

socket(self)

Akış işlemleri için senkron bir WebSocket istemcisi alın.

WebSocket bağlantıları, gerçek zamanlı yanıtlar için akış desteği sağlar ajanlardan, RAG sorgularından ve metin tamamlama işlemlerinden. Bu yöntem, WebSocket protokolünün senkron bir sarmalayıcısını döndürür.

Döndürür: SocketClient: Senkron WebSocket istemcisi

Örnek:

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

Blueprint ve akış örneği işlemlerini gerçekleştirmek için kullanılan akış yönetimi istemcisi.

Bu sınıf, akış blueprint'larını (şablonları) ve akış örneklerini (çalışan akışları) yönetmek için yöntemler sağlar. Blueprint'ler, akışların yapısını ve parametrelerini tanımlarken, örnekler, hizmetleri çalıştırabilen aktif akışları temsil eder.

Yöntemler

__init__(self, api)

Akış istemcisini başlat.

Argümanlar:

api: İstekler göndermek için kullanılan üst düzey Api örneği.

delete_blueprint(self, blueprint_name)

Bir akış blueprint'ini sil.

Argümanlar:

blueprint_name: Silinecek blueprint'in adı.

Örnek:

api.flow().delete_blueprint("old-blueprint")

get(self, id)

Çalışan bir akış örneğinin tanımını alın.

Argümanlar:

id: Akış örneği kimliği

Döndürür: dict: Akış örneği tanımı

Örnek:

flow_def = api.flow().get("default")
print(flow_def)

get_blueprint(self, blueprint_name)

Bir akış şema tanımını ada göre alın.

Argümanlar:

blueprint_name: Alınacak şemanın adı

Döndürür: dict: Şema tanımı bir sözlük olarak

Örnek:

blueprint = api.flow().get_blueprint("default")
print(blueprint)  # Blueprint configuration

id(self, id='default')

Belirli bir akış üzerinde işlemler yürütmek için bir FlowInstance alın.

Argümanlar:

id: Akış tanımlayıcısı (varsayılan: "default")

Döndürür: FlowInstance: Servis işlemleri için akış örneği

Örnek:

flow = api.flow().id("my-flow")
response = flow.text_completion(
    system="You are helpful",
    prompt="Hello"
)

list(self)

Tüm aktif akış örneklerini listele.

Döndürür: list[str]: Akış örnekleri kimliklerinin listesi

Örnek:

flows = api.flow().list()
print(flows)  # ['default', 'flow-1', 'flow-2', ...]

list_blueprints(self)

Mevcut tüm akış şemalarını listele.

Döndürür: list[str]: Şema adlarının listesi

Örnek:

blueprints = api.flow().list_blueprints()
print(blueprints)  # ['default', 'custom-flow', ...]

put_blueprint(self, blueprint_name, definition)

Bir akış şemasını oluştur veya güncelle.

Argümanlar:

blueprint_name: Şema için isim definition: Şema tanım sözlüğü

Örnek:

definition = {
    "services": ["text-completion", "graph-rag"],
    "parameters": {"model": "gpt-4"}
}
api.flow().put_blueprint("my-blueprint", definition)

request(self, path=None, request=None)

Akış kapsamlı bir API isteği yapın.

Argümanlar:

path: Akış uç noktaları için isteğe bağlı yol soneki request: İstek yükü sözlüğü

Döndürür: dict: Yanıt nesnesi

Hatalar:

RuntimeError: İstek parametresi belirtilmediyse

start(self, blueprint_name, id, description, parameters=None)

Bir şablondan yeni bir akış örneği başlatın.

Argümanlar:

blueprint_name: Oluşturulacak şablonun adı id: Akış örneği için benzersiz tanımlayıcı description: İnsan tarafından okunabilir açıklama parameters: İsteğe bağlı parametreler sözlüğü

Örnek:

api.flow().start(
    blueprint_name="default",
    id="my-flow",
    description="My custom flow",
    parameters={"model": "gpt-4"}
)

stop(self, id)

Çalışan bir akış örneğini durdurun.

Argümanlar:

id: Durdurulacak akış örneği kimliği

Örnek:

api.flow().stop("my-flow")

--

FlowInstance

from trustgraph.api import FlowInstance

Belirli bir akış üzerinde hizmetleri çalıştırmak için kullanılan akış örneği istemcisi.

Bu sınıf, aşağıdaki TrustGraph hizmetlerine erişim sağlar: Metin tamamlama ve gömme Durum yönetimi ile birlikte aracı işlemleri Grafik ve belge RAG sorguları Bilgi grafiği işlemleri (üçlüler, nesneler) Belge yükleme ve işleme Doğal dili GraphQL sorgusuna dönüştürme Yapılandırılmış veri analizi ve şema algılama MCP aracı yürütme İstek şablonlama

Hizmetler, ID ile tanımlanan çalışan bir akış örneği aracılığıyla erişilir.

Yöntemler

__init__(self, api, id)

FlowInstance'ı başlat.

Argümanlar:

api: Üst akış istemcisi id: Akış örneği tanımlayıcısı

agent(self, question, user='trustgraph', state=None, group=None, history=None)

Akıl yürütme ve araç kullanma yetenekleriyle bir aracı işlemi yürüt.

Aracıların çok adımlı akıl yürütme yapabilmesi, araçları kullanabilmesi ve etkileşimler arasında konuşma durumunu koruyabilmesi mümkündür. Bu, senkron, akışsız bir versiyondur.

Argümanlar:

question: Kullanıcı sorusu veya talimatı user: Kullanıcı tanımlayıcısı (varsayılan: "trustgraph") state: Durumlu konuşmalar için isteğe bağlı durum sözlüğü group: Çok kullanıcılı bağlamlar için isteğe bağlı grup tanımlayıcısı history: İsteğe bağlı olarak mesaj sözlükleri listesi olarak konuşma geçmişi

Döndürür: str: Aracının son cevabı

Örnek:

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)

Yapılandırılmış bir veri örneğinin veri türünü tespit edin.

Argümanlar:

sample: Analiz edilecek veri örneği (metin içeriği)

Döndürür: tespit_türü, güven ve isteğe bağlı meta verileri içeren bir sözlük.

diagnose_data(self, sample, schema_name=None, options=None)

Birleşik veri tanılama işlemini gerçekleştirin: türü tespit edin ve tanımlayıcı oluşturun.

Argümanlar:

sample: Analiz edilecek veri örneği (metin içeriği) schema_name: İsteğe bağlı, tanımlayıcı oluşturmak için hedef şema adı options: İsteğe bağlı parametreler (örneğin, CSV için ayraç)

Döndürür: tespit_türü, güven, tanımlayıcı ve meta verileri içeren bir sözlük.

document_embeddings_query(self, text, user, collection, limit=10)

Anlamsal benzerlik kullanarak belge parçalarına sorgu yapın.

Vektör gömüler kullanarak, içeriği giriş metnine anlamsal olarak benzeyen belge parçalarını bulur.

Argümanlar:

text: Anlamsal arama için sorgu metni user: Kullanıcı/keyspace tanımlayıcısı collection: Koleksiyon tanımlayıcısı limit: Maksimum sonuç sayısı (varsayılan: 10)

Döndürür: dict: Parçaları içeren sonuçlar, chunk_id ve puan ile birlikte.

Örnek:

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)

Belge tabanlı Geliştirilmiş Bilgi Alma (RAG) sorgusunu çalıştırın.

Belge RAG, ilgili belge parçalarını bulmak için vektör gömülerini kullanır, ardından bu parçaları bağlam olarak kullanarak bir LLM ile bir yanıt oluşturur.

Argümanlar:

query: Doğal dil sorgusu user: Kullanıcı/keyspace tanımlayıcısı (varsayılan: "trustgraph") collection: Koleksiyon tanımlayıcısı (varsayılan: "default") doc_limit: Alınacak maksimum belge parçası sayısı (varsayılan: 10)

Döndürür: str: Belge bağlamını içeren oluşturulan yanıt

Örnek:

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)

Bir veya daha fazla metin için vektör gömme işlemleri gerçekleştirin.

Metinleri, semantik arama ve benzerlik karşılaştırması için uygun olan yoğun vektör gösterimlerine dönüştürür.

Argümanlar:

texts: Gömülecek giriş metinlerinin listesi

Döndürür: list[list[list[float]]]: Vektör gömmeleri, her giriş metni için bir set.

Örnek:

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)

Belirli bir şemaya yapılandırılmış veri eşlemesi için bir tanımlayıcı oluşturun.

Argümanlar:

sample: Analiz edilecek veri örneği (metin içeriği) data_type: Veri türü (csv, json, xml) schema_name: Tanımlayıcı oluşturmak için hedef şema adı options: İsteğe bağlı parametreler (örneğin, CSV için ayraç)

Döndürür: tanımlayıcı ve meta verileri içeren sözlük

graph_embeddings_query(self, text, user, collection, limit=10)

Anlamsal benzerlik kullanarak bilgi grafiği varlıklarını sorgulayın.

Vektör gömüler kullanarak, giriş metnine anlamsal olarak benzer açıklamaları olan bilgi grafiğindeki varlıkları bulur.

Argümanlar:

text: Anlamsal arama için sorgu metni user: Kullanıcı/keyspace tanımlayıcısı collection: Koleksiyon tanımlayıcısı limit: Maksimum sonuç sayısı (varsayılan: 10)

Döndürür: dict: Benzer varlıklarla birlikte sorgu sonuçları

Örnek:

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)

Grafik tabanlı, Bilgiyle Zenginleştirilmiş Üretim (RAG) sorgusunu çalıştırın.

Grafik RAG, ilgili bağlamı bulmak için bilgi grafiği yapısını kullanarak, varlık ilişkilerini izleyerek ve ardından bir LLM kullanarak bir yanıt oluşturur.

Argümanlar:

query: Doğal dil sorgusu user: Kullanıcı/veri kümesi tanımlayıcısı (varsayılan: "trustgraph") collection: Koleksiyon tanımlayıcısı (varsayılan: "default") entity_limit: Alınacak maksimum varlık sayısı (varsayılan: 50) triple_limit: Her varlık için maksimum üçlü sayısı (varsayılan: 30) max_subgraph_size: Alt grafik içindeki maksimum toplam üçlü sayısı (varsayılan: 150) max_path_length: Maksimum gezinme derinliği (varsayılan: 2)

Döndürür: str: Grafik bağlamını içeren oluşturulmuş yanıt

Örnek:

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)

Bir belgeyi işleme için yükleyin.

Bir belgeyi (PDF, DOCX, resimler, vb.) çıkarma ve iş akışının belge işleme hattı aracılığıyla işlenmesi için yükleyin.

Argümanlar:

document: Belge içeriği (bayt olarak) id: İsteğe bağlı belge tanımlayıcısı (None ise otomatik olarak oluşturulur) metadata: İsteğe bağlı meta veri (Üçlüler listesi veya emit yöntemine sahip nesne) user: Kullanıcı/veri alanı tanımlayıcısı (isteğe bağlı) collection: Koleksiyon tanımlayıcısı (isteğe bağlı)

Döndürür: dict: İşleme yanıtı

Hatalar:

RuntimeError: Meta veri sağlanırsa ancak kimlik belirtilmezse

Örnek:

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)

İşlenmek üzere metin içeriğini yükleyin.

Metin içeriğini, akışın metin işleme hattı aracılığıyla çıkarma ve işleme için yükler.

Argümanlar:

text: Metin içeriği (bayt olarak) id: İsteğe bağlı belge tanımlayıcısı (None ise otomatik olarak oluşturulur) metadata: İsteğe bağlı meta veri (Üçlüler listesi veya emit yöntemine sahip nesne) charset: Karakter kodlaması (varsayılan: "utf-8") user: Kullanıcı/keyspace tanımlayıcısı (isteğe bağlı) collection: Koleksiyon tanımlayıcısı (isteğe bağlı)

Döndürür: dict: İşleme yanıtı

Hatalar:

RuntimeError: Meta veri sağlanmış ancak id belirtilmemişse

Örnek:

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={})

Bir Model Bağlam Protokolü (MCP) aracını çalıştırın.

MCP araçları, ajanlar ve iş akışları için genişletilebilir işlevsellik sağlar, ve harici sistemler ve hizmetlerle entegrasyon imkanı sunar.

Argümanlar:

name: Araç adı/tanımlayıcı parameters: Araç parametreleri sözlüğü (varsayılan: {})

Döndürür: str veya dict: Aracın çalıştırma sonucu

Hatalar:

ProtocolException: Yanıt formatı geçersizse

Örnek:

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)

Doğal bir dil sorusunu GraphQL sorgusuna dönüştürün.

Argümanlar:

question: Doğal dil sorusu max_results: Döndürülecek maksimum sonuç sayısı (varsayılan: 100)

Döndürür: graphql_query, variables, detected_schemas, confidence alanlarını içeren bir sözlük.

prompt(self, id, variables)

Değişken yerleştirmesiyle bir istem şablonunu çalıştırın.

İstek şablonları, dinamik değişkenlerle yeniden kullanılabilir istek kalıplarına olanak tanır ve tutarlı istek mühendisliği için kullanışlıdır.

Argümanlar:

id: İstek şablonu tanımlayıcısı variables: Değişken adı ile değer eşlemelerinin sözlüğü

Döndürür: str veya dict: Oluşturulmuş istek sonucu (metin veya yapılandırılmış nesne)

Hatalar:

ProtocolException: Yanıt formatı geçersizse

Örnek:

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)

Bu işlem örneği üzerinden bir hizmet isteği oluşturun.

Parametreler:

path: Hizmet yolu (örneğin, "service/text-completion") request: İstek yükü sözlüğü

Dönüş: dict: Hizmet yanıtı

row_embeddings_query(self, text, schema_name, user='trustgraph', collection='default', index_name=None, limit=10)

İndekslenmiş alanlar üzerinde semantik benzerlik kullanarak satır verilerini sorgulayın.

İndeksli alan değerlerinin, vektör gömüler kullanılarak, giriş metnine anlamsal olarak benzer olduğu satırları bulur. Bu, yapılandırılmış veriler üzerinde bulanık/anlamsal eşleşme sağlar.

Argümanlar:

text: Anlamsal arama için sorgu metni schema_name: İçinde arama yapılacak şema adı user: Kullanıcı/veri tabanı tanımlayıcısı (varsayılan: "trustgraph") collection: Koleksiyon tanımlayıcısı (varsayılan: "default") index_name: Aramayı belirli bir indekse sınırlamak için isteğe bağlı indeks adı limit: Maksimum sonuç sayısı (varsayılan: 10)

Döndürür: dict: Eşleşmeleri içeren, index_name, index_value, text ve score alanlarını içeren sorgu sonuçları

Örnek:

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)

Bilgi grafiğindeki yapılandırılmış satırlara karşı bir GraphQL sorgusu çalıştırın.

GraphQL sözdizimini kullanarak yapılandırılmış verileri sorgular, bu sayede filtreleme, toplama ve ilişki taraması gibi karmaşık sorgular mümkün hale gelir.

Parametreler:

query: GraphQL sorgu dizesi user: Kullanıcı/veri alanı tanımlayıcısı (varsayılan: "trustgraph") collection: Koleksiyon tanımlayıcısı (varsayılan: "default") variables: İsteğe bağlı sorgu değişkenleri sözlüğü operation_name: Çoklu işlem belgeleri için isteğe bağlı işlem adı

Döndürür: dict: 'data', 'errors' ve/veya 'extensions' alanlarına sahip GraphQL yanıtı

Hatalar:

ProtocolException: Sistem düzeyinde bir hata oluşursa

Örnek:

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)

Bir veri örneği için, istem analizi kullanarak eşleşen şemaları seçin.

Argümanlar:

sample: Analiz edilecek veri örneği (metin içeriği) options: İsteğe bağlı parametreler

Döndürür: schema_matches dizisi ve meta veriler içeren bir sözlük.

structured_query(self, question, user='trustgraph', collection='default')

Yapılandırılmış verilere karşı doğal dil sorgusu yürütün. NLP sorgu dönüşümü ve GraphQL yürütmeyi birleştirir.

Argümanlar:

question: Doğal dil sorgusu user: Cassandra keyspace tanımlayıcısı (varsayılan: "trustgraph") collection: Veri koleksiyonu tanımlayıcısı (varsayılan: "default")

Döndürür: veri ve isteğe bağlı hataları içeren bir sözlük.

text_completion(self, system, prompt)

İş akışının LLM'sini kullanarak metin tamamlama işlemini yürütün.

Argümanlar:

system: Yardımcının davranışını tanımlayan sistem istemi prompt: Kullanıcı istemi/sorusu

Döndürür: str: Oluşturulan yanıt metni

Örnek:

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)

Desen eşleştirme kullanarak bilgi grafiği üçlülerini sorgulayın.

Belirtilen konu, yüklem ve/veya nesne desenlerine uyan RDF üçlülerini arar. Belirtilmemiş parametreler, joker karakter olarak işlev görür.

Argümanlar:

s: Konu URI'si (isteğe bağlı, joker karakter için None kullanın) p: Yüklem URI'si (isteğe bağlı, joker karakter için None kullanın) o: Nesne URI'si veya Literal (isteğe bağlı, joker karakter için None kullanın) user: Kullanıcı/veri tabanı tanımlayıcısı (isteğe bağlı) collection: Koleksiyon tanımlayıcısı (isteğe bağlı) limit: Döndürülecek maksimum sonuç sayısı (varsayılan: 10000)

Döndürür: list[Triple]: Eşleşen Triple nesnelerinin listesi

Hatalar:

RuntimeError: s veya p bir Uri değilse veya o bir Uri/Literal değilse

Örnek:

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'sini kullanan asenkron akış yönetimi istemcisi.

Listeleme, akışları başlatma, durdurma ve akış sınıf tanımlarını yönetme gibi, async/await tabanlı akış yönetimi işlemleri sağlar. Ayrıca, ajanlar, RAG ve sorgular gibi akış kapsamlı hizmetlere, akış olmayan REST uç noktaları aracılığıyla erişim sağlar.

Not: Akış desteği için, AsyncSocketClient'ı kullanın.

Yöntemler

Yöntemler

__init__(self, url: str, timeout: int, token: str | None) -> None

Asenkron akış istemciyi başlat.

Argümanlar:

url: TrustGraph API'si için temel URL timeout: İstek zaman aşımı (saniye cinsinden) token: Kimlik doğrulama için isteğe bağlı taşıyıcı belirteci

aclose(self) -> None

Asenkron istemciyi kapatın ve kaynakları temizleyin.

Not: Temizleme, aiohttp oturum bağlam yöneticileri tarafından otomatik olarak yapılır. Bu yöntem, diğer asenkron istemcilerle tutarlılık sağlamak için sağlanmıştır.

delete_class(self, class_name: str)

Bir akış sınıf tanımını silin.

Sistemden bir akış sınıf şablonunu kaldırır. Çalışan akış örneklerini etkilemez.

Argümanlar:

class_name: Silinecek akış sınıf adı

Örnek:

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]

Akış tanımını al.

Sınıf adı, açıklaması ve parametreleri dahil olmak üzere eksiksiz akış yapılandırmasını alır.

Argümanlar:

id: Akış tanımlayıcısı

Döndürür: dict: Akış tanımı nesnesi

Örnek:

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]

Akış sınıfı tanımını alın.

Bir akış sınıfının, yapılandırma şeması ve hizmet bağlamaları dahil olmak üzere, temel tasarım tanımını alır.

Parametreler:

class_name: Akış sınıfı adı

Döndürür: dict: Akış sınıfı tanım nesnesi

Örnek:

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)

Asenkron akış örneği istemciyi alın.

Belirli bir akışın hizmetleriyle etkileşim kurmak için bir istemci döndürür (ajan, RAG, sorgular, gömme vb.).

Argümanlar:

flow_id: Akış tanımlayıcısı

Döndürür: AsyncFlowInstance: Akışa özel işlemler için istemci

Örnek:

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]

Tüm akış tanımlayıcılarını listele.

Sistemde şu anda dağıtılmış olan tüm akışların kimliklerini alır.

Döndürür: list[str]: Akış tanımlayıcılarının listesi

Örnek:

async_flow = await api.async_flow()

# List all flows
flows = await async_flow.list()
print(f"Available flows: {flows}")

list_classes(self) -> List[str]

Tüm akış sınıfı adlarını listele.

Sistemdeki mevcut tüm akış sınıfı (şablon) adlarını alır.

Döndürür: list[str]: Akış sınıfı adlarının listesi

Örnek:

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])

Bir akış sınıf tanımını oluşturun veya güncelleyin.

Akışları örneklemek için kullanılabilecek bir akış sınıf şablonunu saklar.

Argümanlar:

class_name: Akış sınıf adı definition: Akış sınıf tanımı nesnesi

Örnek:

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]

Gateway API'sine asenkron HTTP POST isteği gönderin.

TrustGraph API'sine kimlik doğrulaması yapılmış istekler göndermek için kullanılan iç metot.

Argümanlar:

path: API uç noktası yolu (temel URL'ye göre) request_data: İstek yükü sözlüğü

Döndürür: dict: API'den gelen yanıt nesnesi

Hatalar:

ProtocolException: HTTP durum kodu 200 değilse veya yanıt geçerli bir JSON değilse ApplicationException: API bir hata yanıtı döndürürse

start(self, class_name: str, id: str, description: str, parameters: Dict | None = None)

Yeni bir akış örneği başlatın.

Belirtilen parametrelerle, bir akış sınıf tanımından bir akış oluşturur ve başlatır.

Argümanlar:

class_name: Oluşturulacak akış sınıfının adı id: Yeni akış örneği için tanımlayıcı description: Akışın insan tarafından okunabilir açıklaması parameters: Akış için isteğe bağlı yapılandırma parametreleri

Örnek:

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)

Çalışan bir akışı durdur.

Bir akış örneğini durdurur ve kaldırır, böylece kaynakları serbest bırakılır.

Argümanlar:

id: Durdurulacak akış tanımlayıcısı

Örnek:

async_flow = await api.async_flow()

# Stop a flow
await async_flow.stop("my-flow")

--

AsyncFlowInstance

from trustgraph.api import AsyncFlowInstance

Asenkron akış örneği istemcisi.

Ajanlar, RAG sorguları, gömülme işlemleri ve grafik sorguları dahil olmak üzere akış kapsamındaki hizmetlere asenkron/bekleme erişimi sağlar. Tüm işlemler, eksiksiz yanıtları (akışsız) döndürür.

Not: Akış desteği için, AsyncSocketFlowInstance'ı kullanın.

Yöntemler

__init__(self, flow: trustgraph.api.async_flow.AsyncFlow, flow_id: str)

Asenkron akış örneğini başlatır.

Argümanlar:

flow: Üst düzey AsyncFlow istemcisi flow_id: Akış tanımlayıcısı

agent(self, question: str, user: str, state: Dict | None = None, group: str | None = None, history: List | None = None, **kwargs: Any) -> Dict[str, Any]

Bir ajan işlemini (akışsız) yürütür.

Bir soruyu yanıtlamak için bir ajan çalıştırır, isteğe bağlı konuşma durumu ve geçmişi ile. Ajan işleme işlemini tamamladıktan sonra eksiksiz yanıtı döndürür.

Not: Bu yöntem akışı desteklemez. Gerçek zamanlı ajan düşünceleri ve gözlemler için, AsyncSocketFlowInstance.agent() yöntemini kullanın.

Argümanlar:

question: Kullanıcı sorusu veya talimatı user: Kullanıcı tanımlayıcısı state: İsteğe bağlı, konuşma bağlamı için durum sözlüğü group: İsteğe bağlı, oturum yönetimi için grup tanımlayıcısı history: İsteğe bağlı, konuşma geçmişi listesi **kwargs: Ek, hizmete özgü parametreler

Döndürür: dict: Cevap ve meta verileri içeren eksiksiz ajan yanıtı

Örnek:

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

Belge tabanlı RAG sorgusunu (akışsız) çalıştırın.

Belge gömüler kullanarak, bilgi artırılmış metin oluşturma işlemini gerçekleştirir. Anlamsal arama yoluyla ilgili belge parçalarını alır ve ardından alınan belgelerle ilişkili bir yanıt oluşturur. Tam yanıtı döndürür.

Not: Bu yöntem akışı desteklemez. Akışlı RAG yanıtları için, bunun yerine AsyncSocketFlowInstance.document_rag() yöntemini kullanın.

Argümanlar:

query: Kullanıcı sorgusu metni user: Kullanıcı kimliği collection: Belgeleri içeren koleksiyon kimliği doc_limit: Alınacak maksimum belge parçası sayısı (varsayılan: 10) **kwargs: Ek hizmete özgü parametreler

Döndürür: str: Belge verilerine dayalı olarak oluşturulan tam yanıt

Örnek:

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)

Girdi metinleri için gömme (embedding) oluşturur.

Metinleri, akışın yapılandırılmış gömme modelini kullanarak sayısal vektör gösterimlerine dönüştürür. Anlamsal arama ve benzerlik karşılaştırmaları için kullanışlıdır.

Argümanlar:

texts: Gömülecek girdi metinlerinin listesi **kwargs: Ek hizmete özgü parametreler

Döndürür: dict: Gömme vektörlerini içeren yanıt

Örnek:

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)

Anlamsal varlık araması için grafik gömme verilerini sorgular.

Varlıkların anlamsal olarak aranmasını, grafik varlık gömmeleri üzerinde gerçekleştirerek, giriş metnine en uygun varlıkları bulur. Benzerliğe göre sıralanmış varlıkları döndürür.

Argümanlar:

text: Anlamsal arama için sorgu metni user: Kullanıcı kimliği collection: Grafik gömmelerini içeren koleksiyon kimliği limit: Döndürülecek maksimum sonuç sayısı (varsayılan: 10) **kwargs: Ek hizmete özel parametreler

Döndürür: dict: Sıralanmış varlık eşleşmelerini ve benzerlik puanlarını içeren yanıt

Örnek:

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

Grafik tabanlı RAG sorgusunu (akışsız) çalıştırın.

Bilgi grafi veri kullanarak, bilgiyle zenginleştirilmiş metin üretimi gerçekleştirir. İlgili varlıkları ve bunların ilişkilerini belirler, ardından grafiğin yapısına dayalı olarak bir yanıt oluşturur. Tam yanıtı döndürür.

Not: Bu yöntem akışı desteklemez. Akışlı RAG yanıtları için, bunun yerine AsyncSocketFlowInstance.graph_rag() kullanın.

Argümanlar:

query: Kullanıcı sorgusu metni user: Kullanıcı kimliği collection: Bilgi grafiğini içeren koleksiyon kimliği max_subgraph_size: Her alt grafik için maksimum üçlü sayısı (varsayılan: 1000) max_subgraph_count: Alınacak maksimum alt grafik sayısı (varsayılan: 5) max_entity_distance: Varlık genişletmesi için maksimum grafik mesafesi (varsayılan: 3) **kwargs: Ek hizmete özgü parametreler

Döndürür: str: Grafik verilerine dayalı olarak oluşturulan tam yanıt

Örnek:

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]

Bir akış kapsamındaki bir hizmete istek gönderin.

Bu akış örneği içindeki hizmetleri çağırmak için kullanılan iç metot.

Argümanlar:

service: Hizmet adı (örneğin, "agent", "graph-rag", "triples") request_data: Hizmet isteği yükü

Döndürür: dict: Hizmet yanıt nesnesi

Hatalar:

ProtocolException: İstek başarısız olursa veya yanıt geçersizse ApplicationException: Hizmet bir hata döndürürse

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)

Yapılandırılmış veriler üzerinde semantik arama için satır gömme vektörlerini sorgular.

Satır indeks gömme vektörleri üzerinde semantik arama gerçekleştirir ve giriş metnine en benzer indeksli alan değerlerine sahip satırları bulur. Yapılandırılmış veriler üzerinde bulanık/semantik eşleşme sağlar.

Argümanlar:

text: Semantik arama için sorgu metni schema_name: Arama yapılacak şema adı user: Kullanıcı kimliği (varsayılan: "trustgraph") collection: Koleksiyon kimliği (varsayılan: "default") index_name: Aramayı belirli bir indekse sınırlamak için isteğe bağlı indeks adı limit: Döndürülecek maksimum sonuç sayısı (varsayılan: 10) **kwargs: Ek hizmete özgü parametreler

Döndürür: dict: index_name, index_value, text ve score ile eşleşmeleri içeren yanıt

Örnek:

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)

Saklanan satırları kullanarak bir GraphQL sorgusu çalıştırın.

GraphQL sözdizimini kullanarak yapılandırılmış veri satırlarını sorgular. Değişkenler ve adlandırılmış işlemler içeren karmaşık sorguları destekler.

Argümanlar:

query: GraphQL sorgu dizesi user: Kullanıcı tanımlayıcısı collection: Satırları içeren koleksiyon tanımlayıcısı variables: İsteğe bağlı GraphQL sorgu değişkenleri operation_name: Çoklu işlem sorguları için isteğe bağlı işlem adı **kwargs: Ek hizmete özgü parametreler

Döndürür: dict: Veri ve/veya hataları içeren GraphQL yanıtı

Örnek:

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

Metin tamamlama oluşturun (akış olmadan).

Bir sistem istemi ve kullanıcı istemi verildiğinde, bir LLM'den metin yanıtı oluşturur. Tam yanıt metnini döndürür.

Not: Bu yöntem akışı desteklemez. Akışlı metin oluşturma için, bunun yerine AsyncSocketFlowInstance.text_completion() yöntemini kullanın.

Argümanlar:

system: LLM'nin davranışını tanımlayan sistem istemi prompt: Kullanıcı istemi veya sorusu **kwargs: Ek hizmete özgü parametreler

Döndürür: str: Tam oluşturulmuş metin yanıtı

Örnek:

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)

Desen eşleştirme kullanarak RDF üçlülerini sorgulayın.

Belirtilen konu, yüklem ve/veya nesne desenlerine uyan üçlüleri arar. Desenler, herhangi bir değeri eşleştirmek için "None" değerini joker karakter olarak kullanır.

Argümanlar:

s: Konu deseni (joker karakter için "None") p: Yüklem deseni (joker karakter için "None") o: Nesne deseni (joker karakter için "None") user: Kullanıcı kimliği (tüm kullanıcılar için "None") collection: Koleksiyon kimliği (tüm koleksiyonlar için "None") limit: Döndürülecek maksimum üçlü sayısı (varsayılan: 100) **kwargs: Ek hizmete özgü parametreler

Döndürür: dict: Eşleşen üçlüleri içeren yanıt

Örnek:

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

Akış işlemleri için senkron WebSocket istemcisi.

WebSocket tabanlı TrustGraph hizmetlerine senkron bir arayüz sağlar, kullanımı kolaylaştırmak için senkron oluşturucularla asenkron WebSocket kütüphanesini sarar. Ajanlardan gelen akış yanıtlarını, RAG sorgularını ve metin tamamlama işlemlerini destekler.

Not: Bu, asenkron WebSocket işlemlerinin etrafında oluşturulmuş bir senkron katmandır. Gerçek asenkron destek için AsyncSocketClient'ı kullanın.

Yöntemler

__init__(self, url: str, timeout: int, token: str | None) -> None

Senkron WebSocket istemcisini başlatın.

Argümanlar:

url: TrustGraph API'si için temel URL (HTTP/HTTPS, WS/WSS'ye dönüştürülecektir) timeout: Saniyeler cinsinden WebSocket zaman aşımı token: İsteğe bağlı kimlik doğrulama için taşıyıcı belirteci

close(self) -> None

WebSocket bağlantılarını kapatın.

Not: Temizleme, asenkron kodda bağlam yöneticileri tarafından otomatik olarak yapılır.

flow(self, flow_id: str) -> 'SocketFlowInstance'

WebSocket akış işlemleri için bir akış örneği alın.

Argümanlar:

flow_id: Akış tanımlayıcısı

Döndürür: SocketFlowInstance: Akış yöntemleri içeren akış örneği

Örnek:

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

Akış işlemleri için senkron WebSocket akışı örneği.

REST FlowInstance ile aynı arayüzü sağlar, ancak gerçek zamanlı yanıtlar için WebSocket tabanlı akış desteği sunar. Tüm yöntemler, kademeli sonuç teslimini etkinleştirmek için isteğe bağlı streaming parametresini destekler.

Yöntemler

__init__(self, client: trustgraph.api.socket_client.SocketClient, flow_id: str) -> None

Soket akışı örneğini başlatır.

Argümanlar:

client: Üst SoketClient flow_id: Akış tanımlayıcısı

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]

Akış desteği ile bir ajan işlemi gerçekleştirin.

Ajanlar, araç kullanımıyla çok aşamalı akıl yürütme yapabilir. Bu yöntem, streaming=False olsa bile, her zaman akış parçaları (düşünceler, gözlemler, cevaplar) döndürür, böylece ajanın akıl yürütme süreci gösterilir.

Argümanlar:

question: Kullanıcı sorusu veya talimatı user: Kullanıcı kimliği state: Durumlu konuşmalar için isteğe bağlı durum sözlüğü group: Çok kullanıcılı bağlamlar için isteğe bağlı grup kimliği history: İsteğe bağlı olarak mesaj sözlüklerinin listesi olarak konuşma geçmişi streaming: Akış modunu etkinleştir (varsayılan: False) **kwargs: Ajan hizmetine iletilen ek parametreler

Döndürür: Iterator[StreamingChunk]: Ajanın düşüncelerinin, gözlemlerinin ve cevaplarının akışı

Örnek:

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]

ıklanabilirlik desteğiyle bir ajan işlemini yürütün.

Hem içerik parçalarını (AgentThought, AgentObservation, AgentAnswer) ve kaynak olaylarını (ProvenanceEvent) akışa aktarır. Kaynak olayları, ayrıntılı bilgi almak için ExplainabilityClient kullanılarak alınabilen URI'ler içerir ve ajanın akıl yürütme süreci hakkında.

Ajan izi şunlardan oluşur: Oturum: Başlangıç sorusu ve oturum meta verileri Yinelemeler: Her düşünce/eylem/gözlem döngüsü Sonuç: Nihai cevap

Argümanlar:

question: Kullanıcı sorusu veya talimatı user: Kullanıcı tanımlayıcısı collection: Kaynak depolama için koleksiyon tanımlayıcısı state: Durumlu konuşmalar için isteğe bağlı durum sözlüğü group: Çoklu kullanıcı bağlamları için isteğe bağlı grup tanımlayıcısı history: İsteğe bağlı olarak mesaj sözlüklerinin listesi olarak konuşma geçmişi **kwargs: Ajan hizmetine iletilen ek parametreler Yields: Union[StreamingChunk, ProvenanceEvent]: Ajan parçaları ve kaynak olayları

Örnek:

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]

Anlamlı benzerlik kullanarak belge parçalarını sorgulayın.

Argümanlar:

text: Anlamlı arama için sorgu metni user: Kullanıcı/veri kümesi tanımlayıcısı collection: Koleksiyon tanımlayıcısı limit: Maksimum sonuç sayısı (varsayılan: 10) **kwargs: Hizmete iletilen ek parametreler

Dönüş: dict: Eşleşen belge parçalarının chunk_id'leri ile birlikte sorgu sonuçları

Örnek:

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]

Belge tabanlı RAG sorgusunu, isteğe bağlı olarak akış modunda çalıştırın.

İlgili belge parçalarını bulmak için vektör gömülmelerini kullanır, ardından bir LLM kullanarak bir yanıt oluşturur. Akış modu, sonuçları kademeli olarak sunar.

Argümanlar:

query: Doğal dil sorgusu user: Kullanıcı/veri kümesi tanımlayıcısı collection: Koleksiyon tanımlayıcısı doc_limit: Alınacak maksimum belge parçası sayısı (varsayılan: 10) streaming: Akış modunu etkinleştir (varsayılan: False) **kwargs: Hizmete iletilen ek parametreler

Döndürür: Union[str, Iterator[str]]: Tam yanıt veya metin parçalarının akışı

Örnek:

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]

ıklanabilirlik desteğiyle belge tabanlı RAG sorgusunu çalıştırın.

Hem içerik parçalarını (RAGChunk) hem de kaynak olaylarını (ProvenanceEvent) akışa aktarır. Kaynak olayları, yanıtın nasıl oluşturulduğuna dair ayrıntılı bilgi almak için ExplainabilityClient kullanılarak alınabilen URI'ler içerir.

Belge RAG izi şunlardan oluşur: Soru: Kullanıcının sorgusu Keşif: Belge deposundan alınan parçalar (parça_sayısı) Sentez: Oluşturulan yanıt

Argümanlar:

query: Doğal dil sorgusu user: Kullanıcı/keyspace tanımlayıcısı collection: Koleksiyon tanımlayıcısı doc_limit: Alınacak maksimum belge parçası sayısı (varsayılan: 10) **kwargs: Hizmete iletilen ek parametreler Yields: Union[RAGChunk, ProvenanceEvent]: İçerik parçaları ve kaynak olayları

Örnek:

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]

Bir veya daha fazla metin için vektör gömme işlemleri gerçekleştirin.

Argümanlar:

texts: Gömülecek giriş metinlerinin listesi **kwargs: Hizmete iletilen ek parametreler

Döndürür: dict: Vektörleri içeren (her giriş metni için bir set) yanıt

Örnek:

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]

Anlamsal benzerlik kullanarak bilgi grafiği varlıklarını sorgulayın.

Argümanlar:

text: Anlamsal arama için sorgu metni user: Kullanıcı/veri kümesi tanımlayıcısı collection: Koleksiyon tanımlayıcısı limit: Maksimum sonuç sayısı (varsayılan: 10) **kwargs: Hizmete iletilen ek parametreler

Dönüş: dict: Benzer varlıklarla birlikte sorgu sonuçları

Örnek:

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]

İsteğe bağlı akışla, grafik tabanlı RAG sorgusunu çalıştırın.

İlgili bağlamı bulmak için bilgi grafiği yapısını kullanır, ardından bir LLM kullanarak bir yanıt oluşturur. Akış modu, sonuçları kademeli olarak sunar.

Argümanlar:

query: Doğal dil sorgusu user: Kullanıcı/veri kümesi tanımlayıcısı collection: Koleksiyon tanımlayıcısı max_subgraph_size: Alt grafikteki maksimum toplam üçlü sayısı (varsayılan: 1000) max_subgraph_count: Maksimum alt grafik sayısı (varsayılan: 5) max_entity_distance: Maksimum gezinme derinliği (varsayılan: 3) streaming: Akış modunu etkinleştir (varsayılan: False) **kwargs: Hizmete iletilen ek parametreler

Döndürür: Union[str, Iterator[str]]: Tam yanıt veya metin parçalarının akışı

Örnek:

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]

ıklanabilirlik desteğiyle grafik tabanlı RAG sorgusunu çalıştırın.

Hem içerik parçalarını (RAGChunk) hem de kaynak olaylarını (ProvenanceEvent) iletir. Kaynak olayları, yanıtın nasıl oluşturulduğuna dair ayrıntılı bilgi almak için ExplainabilityClient kullanılarak alınabilen URI'ler içerir.

Argümanlar:

query: Doğal dil sorgusu user: Kullanıcı/keyspace tanımlayıcısı collection: Koleksiyon tanımlayıcısı max_subgraph_size: Alt grafik içindeki maksimum toplam üçlü sayısı (varsayılan: 1000) max_subgraph_count: Maksimum alt grafik sayısı (varsayılan: 5) max_entity_distance: Maksimum gezinme derinliği (varsayılan: 3) **kwargs: Hizmete iletilen ek parametreler Yields: Union[RAGChunk, ProvenanceEvent]: İçerik parçaları ve kaynak olayları

Örnek:

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]

Bir Model Bağlam Protokolü (MCP) aracını çalıştırın.

Argümanlar:

name: Araç adı/tanımlayıcı parameters: Araç parametreleri sözlüğü **kwargs: Hizmete iletilen ek parametreler

Döndürür: dict: Aracın çalıştırma sonucu

Örnek:

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]

İsteğe bağlı akışla bir istem şablonunu yürütün.

Argümanlar:

id: İstem şablonu tanımlayıcısı variables: Değişken adı ile değer eşlemelerinin sözlüğü streaming: Akış modunu etkinleştir (varsayılan: False) **kwargs: Hizmete iletilen ek parametreler

Döndürür: Union[str, Iterator[str]]: Tam yanıt veya metin parçacıklarının akışı

Örnek:

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]

İndekslenmiş alanlar üzerinde semantik benzerlik kullanarak sorgu satır verilerini alın.

Giriş metnine semantik olarak benzer olan, indekslenmiş alan değerlerine sahip satırları bulur, vektör gömme teknikleri kullanılarak. Bu, yapılandırılmış veriler üzerinde bulanık/semantik eşleşme sağlar.

Argümanlar:

text: Anlamsal arama için sorgu metni schema_name: İçinde arama yapılacak şema adı user: Kullanıcı/veri tabanı tanımlayıcısı (varsayılan: "trustgraph") collection: Koleksiyon tanımlayıcısı (varsayılan: "default") index_name: Aramayı belirli bir indekse sınırlamak için isteğe bağlı indeks adı limit: Maksimum sonuç sayısı (varsayılan: 10) **kwargs: Hizmete iletilen ek parametreler

Döndürür: dict: Eşleşmeleri içeren, index_name, index_value, text ve score alanlarını içeren sorgu sonuçları

Örnek:

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]

Yapılandırılmış satırlara karşı bir GraphQL sorgusu çalıştırın.

Argümanlar:

query: GraphQL sorgu dizesi user: Kullanıcı/keyspace tanımlayıcısı collection: Koleksiyon tanımlayıcısı variables: İsteğe bağlı sorgu değişkenleri sözlüğü operation_name: Çoklu işlem belgeleri için isteğe bağlı işlem adı **kwargs: Hizmete iletilen ek parametreler

Döndürür: dict: Veri, hatalar ve/veya uzantılar içeren GraphQL yanıtı

Örnek:

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]

İsteğe bağlı akışla metin tamamlama işlemini gerçekleştirin.

Argümanlar:

system: Asistanın davranışını tanımlayan sistem istemi prompt: Kullanıcı istemi/sorusu streaming: Akış modunu etkinleştir (varsayılan: False) **kwargs: Hizmete iletilen ek parametreler

Dönüş: Union[str, Iterator[str]]: Tamamlanmış yanıt veya metin parçalarının akışı

Örnek:

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]]

Desen eşleştirme kullanarak bilgi grafiği üçlülerini sorgulayın.

Argümanlar:

s: Konu filtresi - URI dizesi, Terim sözlüğü veya joker karakter için None p: Özne filtresi - URI dizesi, Terim sözlüğü veya joker karakter için None o: Nesne filtresi - URI/literal dizesi, Terim sözlüğü veya joker karakter için None g: Adlandırılmış grafik filtresi - URI dizesi veya tüm grafikler için None user: Kullanıcı/uzay kimlik tanımlayıcısı (isteğe bağlı) collection: Koleksiyon kimlik tanımlayıcısı (isteğe bağlı) limit: Döndürülecek maksimum sonuç sayısı (varsayılan: 100) **kwargs: Hizmete geçirilecek ek parametreler

Döndürür: List[Dict]: Tel formatındaki eşleşen üçlülerin listesi

Örnek:

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]]]

Akışlı toplu işlemlerle bilgi grafiği üçlülerini sorgulayın.

Üçlüleri geldikleri gibi toplu olarak döndürür, böylece ilk sonuç alma süresini ve büyük sonuç kümeleri için bellek yükünü azaltır.

Parametreler:

s: Konu filtresi - URI dizesi, Terim sözlüğü veya joker karakter için None p: Özne filtresi - URI dizesi, Terim sözlüğü veya joker karakter için None o: Nesne filtresi - URI/literal dizesi, Terim sözlüğü veya joker karakter için None g: Adlandırılmış grafik filtresi - URI dizesi veya tüm grafikler için None user: Kullanıcı/keyspace tanımlayıcısı (isteğe bağlı) collection: Koleksiyon tanımlayıcısı (isteğe bağlı) limit: Döndürülecek maksimum sonuç sayısı (varsayılan: 100) batch_size: Toplu işlemdeki üçlü sayısı (varsayılan: 20) **kwargs: Hizmete geçirilecek ek parametreler Yields: List[Dict]: Tel formatındaki üçlü topları

Örnek:

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

Asenkron WebSocket istemcisi

Yöntemler

__init__(self, url: str, timeout: int, token: str | None)

Kendini başlat. Doğru imza için help(type(self))'e bakın.

aclose(self)

WebSocket bağlantısını kapat

flow(self, flow_id: str)

WebSocket işlemleri için asenkron akış örneğini al

--

AsyncSocketFlowInstance

from trustgraph.api import AsyncSocketFlowInstance

Asenkron WebSocket akışı örneği

Yöntemler

__init__(self, client: trustgraph.api.async_socket_client.AsyncSocketClient, flow_id: str)

Kendini başlat. Doğru imza için help(type(self))'e bakın.

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

İsteğe bağlı akışa sahip ajan

document_rag(self, query: str, user: str, collection: str, doc_limit: int = 10, streaming: bool = False, **kwargs)

İsteğe bağlı akışa sahip RAG dokümanı

embeddings(self, texts: list, **kwargs)

Metin gömülmelerini oluştur

graph_embeddings_query(self, text: str, user: str, collection: str, limit: int = 10, **kwargs)

Anlamsal arama için grafik gömülmelerini sorgula

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)

İsteğe bağlı akışa sahip grafik RAG

mcp_tool(self, name: str, parameters: Dict[str, Any], **kwargs)

MCP aracını çalıştır

prompt(self, id: str, variables: Dict[str, str], streaming: bool = False, **kwargs)

İsteğe bağlı akışa sahip istemi çalıştır

row_embeddings_query(self, text: str, schema_name: str, user: str = 'trustgraph', collection: str = 'default', index_name: str | None = None, limit: int = 10, **kwargs)

Yapılandırılmış veriler üzerinde anlamsal arama için satır gömülmelerini sorgula

rows_query(self, query: str, user: str, collection: str, variables: Dict | None = None, operation_name: str | None = None, **kwargs)

Yapılandırılmış satırlara karşı GraphQL sorgusu

text_completion(self, system: str, prompt: str, streaming: bool = False, **kwargs)

İsteğe bağlı akışa sahip metin tamamlama

triples_query(self, s=None, p=None, o=None, user=None, collection=None, limit=100, **kwargs)

Üçlü desen sorgusu

--

build_term(value: Any, term_type: str | None = None, datatype: str | None = None, language: str | None = None) -> Dict[str, Any] | None

Bir değerden tel formatlı Term sözlüğünü oluştur.

Otomatik algılama kuralları (term_type None olduğunda): Zaten 't' anahtarına sahip bir sözlük -> olduğu gibi döndür (zaten bir Term) http://, https://, urn: ile başlıyorsa -> IRI <> (örneğin, http://...) içinde ise -> IRI (köşeli parantezler kaldırılır) Başka bir şey -> literal

Argümanlar:

value: Term değeri (string, sözlük veya None) term_type: 'iri', 'literal' veya otomatik algılama için datatype: Literal nesneler için veri türü (örneğin, xsd:integer) language: Literal nesneler için dil etiketi (örneğin, en)

Döndürür: sözlük: Tel formatlı Term sözlüğü veya değer None ise None

--

BulkClient

from trustgraph.api import BulkClient

İçe/dışa aktarım için senkron toplu işlemler istemcisi.

Büyük veri kümeleri için WebSocket üzerinden verimli toplu veri aktarımı sağlar. Kullanım kolaylığı için asenkron WebSocket işlemlerini senkron oluşturucularla birleştirir.

Not: Gerçek asenkron destek için, AsyncBulkClient'ı kullanın.

Yöntemler

__init__(self, url: str, timeout: int, token: str | None) -> None

Senkron toplu istemciyi başlatır.

Argümanlar:

url: TrustGraph API'si için temel URL (HTTP/HTTPS, WS/WSS'ye dönüştürülecektir). timeout: WebSocket zaman aşımı (saniye cinsinden). token: İsteğe bağlı, kimlik doğrulama için taşıyıcı belirteci.

close(self) -> None

Bağlantıları kapatır.

export_document_embeddings(self, flow: str, **kwargs: Any) -> Iterator[Dict[str, Any]]

Bir akıştan toplu belge gömme çıktılarını dışa aktarır.

Tüm belge parçası gömmelerini WebSocket akışı üzerinden verimli bir şekilde indirir.

Argümanlar:

flow: Akış tanımlayıcısı. **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır).

Döndürür: Iterator[Dict[str, Any]]: Gömme sözlüklerinin akışı.

Örnek:

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]]

Bir akıştan toplu olarak varlık bağlamlarını dışa aktarın.

Tüm varlık bağlamı bilgilerini WebSocket akışı aracılığıyla verimli bir şekilde indirir.

Argümanlar:

flow: Akış tanımlayıcısı **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Döndürür: Iterator[Dict[str, Any]]: Bağlam sözlüklerinin akışı

Örnek:

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]]

Bir akıştan toplu grafik gömme verilerini dışa aktarın.

Tüm grafik varlık gömme verilerini WebSocket üzerinden verimli bir şekilde indirir.

Parametreler:

flow: Akış tanımlayıcısı **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Döndürür: Iterator[Dict[str, Any]]: Gömme sözlüklerinin akışı

Örnek:

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]

Bir akıştan RDF üçlülerini toplu olarak dışa aktarın.

Tüm üçlüleri WebSocket akışı aracılığıyla verimli bir şekilde indirir.

Argümanlar:

flow: Akış tanımlayıcısı **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Döndürür: Iterator[Triple]: Triple nesnelerinin akışı

Örnek:

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

Bir akışa belge gömme verilerini toplu olarak aktarın.

Belge parçası gömme verilerini, belge RAG sorgularında kullanılmak üzere, WebSocket akışı aracılığıyla verimli bir şekilde yükler.

Argümanlar:

flow: Akış tanımlayıcısı embeddings: Gömme sözlükleri üreten yineleyici **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Örnek:

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

Bir akışa toplu olarak varlık bağlamlarını aktarın.

Varlık bağlamı bilgilerini WebSocket akışı aracılığıyla verimli bir şekilde yükler. Varlık bağlamları, grafik varlıkları hakkında ek metinsel bağlam sağlar ve geliştirilmiş RAG performansı için kullanılır.

Argümanlar:

flow: Akış tanımlayıcısı contexts: Bağlam sözlükleri üreten yineleyici metadata: id, metadata, kullanıcı, koleksiyon içeren meta veri sözlüğü batch_size: Toplu iş başına bağlam sayısı (varsayılan 100) **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Örnek:

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

Bir akışa toplu olarak grafik gömme verilerini aktarın.

Grafik varlık gömme verilerini WebSocket üzerinden verimli bir şekilde yükleyin.

Parametreler:

flow: Akış tanımlayıcısı embeddings: Gömme sözlükleri üreten yineleyici **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Örnek:

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

Bir akışa yapılandırılmış satırları toplu olarak aktarın.

Yapılandırılmış veri satırlarını, GraphQL sorgularında kullanılmak üzere WebSocket akışı aracılığıyla verimli bir şekilde yükleyin.

Argümanlar:

flow: Akış tanımlayıcısı rows: Satır sözlükleri üreten yineleyici **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Örnek:

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

Bir akışa RDF üçlülerini toplu olarak aktarın.

Büyük miktarlarda üçlü verisini WebSocket akışı aracılığıyla verimli bir şekilde yükler.

Parametreler:

flow: Akış tanımlayıcısı triples: Triple nesneleri üreten yineleyici metadata: id, metadata, kullanıcı, koleksiyon içeren meta veri sözlüğü batch_size: Her topluluktaki üçlü sayısı (varsayılan 100) **kwargs: Ek parametreler (gelecekteki kullanım için ayrılmıştır)

Örnek:

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

Asenkron toplu işlemler istemcisi

Yöntemler

__init__(self, url: str, timeout: int, token: str | None) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

aclose(self) -> None

Bağlantıları kapat

export_document_embeddings(self, flow: str, **kwargs: Any) -> AsyncIterator[Dict[str, Any]]

WebSocket üzerinden belge gömme verilerini toplu olarak dışa aktar

export_entity_contexts(self, flow: str, **kwargs: Any) -> AsyncIterator[Dict[str, Any]]

WebSocket üzerinden varlık bağlamlarını toplu olarak dışa aktar

export_graph_embeddings(self, flow: str, **kwargs: Any) -> AsyncIterator[Dict[str, Any]]

WebSocket üzerinden grafik gömme verilerini toplu olarak dışa aktar

export_triples(self, flow: str, **kwargs: Any) -> AsyncIterator[trustgraph.api.types.Triple]

WebSocket üzerinden üçlüleri toplu olarak dışa aktar

import_document_embeddings(self, flow: str, embeddings: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None

WebSocket üzerinden belge gömme verilerini toplu olarak içe aktar

import_entity_contexts(self, flow: str, contexts: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None

WebSocket üzerinden varlık bağlamlarını toplu olarak içe aktar

import_graph_embeddings(self, flow: str, embeddings: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None

WebSocket üzerinden grafik gömme verilerini toplu olarak içe aktar

import_rows(self, flow: str, rows: AsyncIterator[Dict[str, Any]], **kwargs: Any) -> None

WebSocket üzerinden satırları toplu olarak içe aktar

import_triples(self, flow: str, triples: AsyncIterator[trustgraph.api.types.Triple], **kwargs: Any) -> None

WebSocket üzerinden üçlüleri toplu olarak içe aktar

--

Metrics

from trustgraph.api import Metrics

Senkron ölçüm istemcisi

Yöntemler

__init__(self, url: str, timeout: int, token: str | None) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

get(self) -> str

Prometheus ölçümlerini metin olarak al

--

AsyncMetrics

from trustgraph.api import AsyncMetrics

Asenkron metrik istemcisi

Yöntemler

__init__(self, url: str, timeout: int, token: str | None) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

aclose(self) -> None

Bağlantıları kapat

get(self) -> str

Prometheus metriklerini metin olarak al

--

ExplainabilityClient

from trustgraph.api import ExplainabilityClient

ıklanabilirlik varlıklarını, nihai tutarlılık işleme ile getirmek için kullanılan istemci.

Aşağıdaki dinlenme algılama yöntemini kullanır: getirme, bekleme, tekrar getirme, karşılaştırma. Sonuçlar aynıysa, veri kararlıdır.

Yöntemler

__init__(self, flow_instance, retry_delay: float = 0.2, max_retries: int = 10)

ıklanabilirlik istemcisini başlat.

Argümanlar:

flow_instance: Üçlüleri sorgulamak için bir SocketFlowInstance. retry_delay: Tekrar denemeler arasındaki gecikme (varsayılan: 0.2). max_retries: Maksimum tekrar deneme sayısı (varsayılan: 10).

detect_session_type(self, session_uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> str

Bir oturumun GraphRAG veya Agent türünde olup olmadığını tespit edin.

Argümanlar:

session_uri: Oturum/soru URI'si. graph: Adlandırılmış grafik. user: Kullanıcı/keyspace tanımlayıcısı. collection: Koleksiyon tanımlayıcısı.

Döndürür: "graphrag" veya "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]

Bir oturum URI'sinden başlayarak, tamamlanmış Agent izini alın.

Aşağıdaki köken zincirini izleyin: Soru -> Analiz(ler) -> Sonuç.

Argümanlar:

session_uri: Agent oturum/soru URI'si. graph: Adlandırılmış grafik (varsayılan: urn:graph:retrieval). user: Kullanıcı/keyspace tanımlayıcısı. collection: Koleksiyon tanımlayıcısı. api: Kütüphaneci erişimi için TrustGraph Api örneği (isteğe bağlı). max_content: Sonuç için maksimum içerik uzunluğu.

Döndürür: Soru, yinelemeler (Analiz listesi), sonuç varlıkları ile birlikte bir Sözlük.

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]

Bir soru URI'sinden başlayarak, tamamlanmış DocumentRAG izini alın.

Aşağıdaki köken zincirini izleyin: Soru -> Yerleştirme -> Keşif -> Sentez.

Argümanlar:

question_uri: Soru varlık URI'si. graph: Adlandırılmış grafik (varsayılan: urn:graph:retrieval). user: Kullanıcı/keyspace tanımlayıcısı. collection: Koleksiyon tanımlayıcısı. api: Kütüphaneci erişimi için TrustGraph Api örneği (isteğe bağlı). max_content: Sentez için maksimum içerik uzunluğu.

Döndürür: Soru, yerleştirme, keşif, sentez varlıkları ile birlikte bir Sözlük.

fetch_document_content(self, document_uri: str, api: Any, user: str | None = None, max_content: int = 10000) -> str

Bir belge URI'si tarafından kütüphaneciden içerik alın.

Argümanlar:

document_uri: Kütüphanecideki belge URI'si. api: Kütüphaneci erişimi için TrustGraph Api örneği. user: Kütüphaneci için kullanıcı tanımlayıcısı. max_content: Döndürülecek maksimum içerik uzunluğu.

Döndürür: Belge içeriğini bir dize olarak.

fetch_edge_selection(self, uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> trustgraph.api.explainability.EdgeSelection | None

Bir kenar seçimi varlığı alın (Focus tarafından kullanılır).

Argümanlar:

uri: Kenar seçimi URI'si. graph: Sorgulanacak adlandırılmış grafik. user: Kullanıcı/keyspace tanımlayıcısı. collection: Koleksiyon tanımlayıcısı.

Döndürür: EdgeSelection veya bulunamazsa None.

fetch_entity(self, uri: str, graph: str | None = None, user: str | None = None, collection: str | None = None) -> trustgraph.api.explainability.ExplainEntity | None

Bir URI'yi, olası tutarlılık yönetimi ile bir açıklanabilirlik varlığı olarak alın.

Aşağıdaki durgunluk tespitini kullanır:

  1. URI için üçlüleri alın
  2. Sıfır sonuç varsa, tekrar deneyin
  3. Sıfır olmayan sonuçlar varsa, bekleyin ve tekrar alın
  4. Aynı sonuçlar varsa, veri kararlıdır - ayrıştırın ve döndürün
  5. Farklı sonuçlar varsa, veri hala yazılıyor - tekrar deneyin

Argümanlar:

uri: Alınacak varlık URI'si graph: Sorgulanacak adlandırılmış grafik (örneğin, "urn:graph:retrieval") user: Kullanıcı/anahtar alanı tanımlayıcısı collection: Koleksiyon tanımlayıcısı

Döndürür:ıklanabilir Varlık alt sınıfı veya bulunamazsa 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

Bir Focus varlığını ve tüm kenar seçimlerini alın.

Argümanlar:

uri: Focus varlık URI'si graph: Sorgulanacak adlandırılmış grafik user: Kullanıcı/anahtar alanı tanımlayıcısı collection: Koleksiyon tanımlayıcısı

Döndürür: Doldurulmuş kenar_seçimleri ile Focus veya bulunamazsa 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]

Bir soru URI'sinden başlayarak, tamamlanmış GraphRAG izini alın.

Aşağıdaki köken zincirini izler: Soru -> Yerleştirme -> Keşif -> Focus -> Sentez

Argümanlar:

question_uri: Soru varlık URI'si graph: Adlandırılmış grafik (varsayılan: urn:graph:retrieval) user: Kullanıcı/anahtar alanı tanımlayıcısı collection: Koleksiyon tanımlayıcısı api: Kütüphaneci erişimi için TrustGraph Api örneği (isteğe bağlı) max_content: Sentez için maksimum içerik uzunluğu

Döndürür: Soru, yerleştirme, keşif, focus, sentez varlıkları ile Sözlük

list_sessions(self, graph: str | None = None, user: str | None = None, collection: str | None = None, limit: int = 50) -> List[trustgraph.api.explainability.Question]

Bir koleksiyondaki tüm açıklanabilirlik oturumlarını (soruları) listeleyin.

Argümanlar:

graph: Adlandırılmış grafik (varsayılan: urn:graph:retrieval) user: Kullanıcı/anahtar alanı tanımlayıcısı collection: Koleksiyon tanımlayıcısı limit: Döndürülecek maksimum oturum sayısı

Döndürür: Zaman damgasına göre sıralanmış (en yeni ilk) Soru varlıkları listesi

resolve_edge_labels(self, edge: Dict[str, str], user: str | None = None, collection: str | None = None) -> Tuple[str, str, str]

Bir kenar üçlüsünün tüm bileşenleri için etiketleri çözün.

Argümanlar:

edge: "s", "p", "o" anahtarlarına sahip Sözlük user: Kullanıcı/anahtar alanı tanımlayıcısı collection: Koleksiyon tanımlayıcısı

Döndürür: (s_etiketi, p_etiketi, o_etiketi) tuple'ı

resolve_label(self, uri: str, user: str | None = None, collection: str | None = None) -> str

Bir URI için rdfs:label'i, önbellekleme ile çözün.

Argümanlar:

uri: Etiketi alınacak URI user: Kullanıcı/anahtar alanı tanımlayıcısı collection: Koleksiyon tanımlayıcısı

Döndürür: Bulunursa etiketi, aksi takdirde URI'yi kendisi

--

ExplainEntity

from trustgraph.api import ExplainEntity

ıklanabilirlik varlıkları için temel sınıf.

Alanlar:

uri: <class 'str'> entity_type: <class 'str'>

Yöntemler

__init__(self, uri: str, entity_type: str = '') -> None

Kendini başlatır. Doğru imza için help(type(self))'e bakın.

--

Question

from trustgraph.api import Question

Soru varlığı - oturumu başlatan kullanıcının sorgusu.

Alanlar:

uri: <class 'str'> entity_type: <class 'str'> query: <class 'str'> timestamp: <class 'str'> question_type: <class 'str'>

Yöntemler

__init__(self, uri: str, entity_type: str = '', query: str = '', timestamp: str = '', question_type: str = '') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

Exploration

from trustgraph.api import Exploration

Keşif varlığı - bilgi deposundan alınan kenarlar/parçalar.

Alanlar:

uri: <class 'str'> entity_type: <class 'str'> edge_count: <class 'int'> chunk_count: <class 'int'> entities: typing.List[str]

Yöntemler

__init__(self, uri: str, entity_type: str = '', edge_count: int = 0, chunk_count: int = 0, entities: List[str] = <factory>) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

Focus

from trustgraph.api import Focus

Odak varlığı - LLM akıl yürütmesiyle seçilen kenarlar (yalnızca GraphRAG).

Alanlar:

uri: <class 'str'> entity_type: <class 'str'> selected_edge_uris: typing.List[str] edge_selections: typing.List[trustgraph.api.explainability.EdgeSelection]

Yöntemler

__init__(self, uri: str, entity_type: str = '', selected_edge_uris: List[str] = <factory>, edge_selections: List[trustgraph.api.explainability.EdgeSelection] = <factory>) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

Synthesis

from trustgraph.api import Synthesis

Sentez varlığı - nihai cevap.

Alanlar:

uri: <class 'str'> entity_type: <class 'str'> document: <class 'str'>

Yöntemler

__init__(self, uri: str, entity_type: str = '', document: str = '') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

Analysis

from trustgraph.api import Analysis

Analiz varlığı - bir düşünme/eylem/gözlem döngüsü (Sadece Ajan).

Alanlar:

uri: <class 'str'> entity_type: <class 'str'> action: <class 'str'> arguments: <class 'str'> thought: <class 'str'> observation: <class 'str'>

Yöntemler

__init__(self, uri: str, entity_type: str = '', action: str = '', arguments: str = '', thought: str = '', observation: str = '') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

Conclusion

from trustgraph.api import Conclusion

Sonuç varlığı - kesin cevap (Sadece Ajan).

Alanlar:

uri: <class 'str'> entity_type: <class 'str'> document: <class 'str'>

Yöntemler

__init__(self, uri: str, entity_type: str = '', document: str = '') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

EdgeSelection

from trustgraph.api import EdgeSelection

GraphRAG Odak adımı tarafından sağlanan bir mantıkla seçilen bir kenar.

Alanlar:

uri: <class 'str'> edge: typing.Dict[str, str] | None reasoning: <class 'str'>

Yöntemler

__init__(self, uri: str, edge: Dict[str, str] | None = None, reasoning: str = '') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

wire_triples_to_tuples(wire_triples: List[Dict[str, Any]]) -> List[Tuple[str, str, Any]]

Kablolu üçlüleri (s, p, o) demetlerine dönüştürün.

--

extract_term_value(term: Dict[str, Any]) -> Any

Bir kablolu Term sözlüğünden değer çıkarın.

--

Triple

from trustgraph.api import Triple

Bilgi grafiği ifadesini temsil eden RDF üçlüsü.

Alanlar:

s: <class 'str'> p: <class 'str'> o: <class 'str'>

Yöntemler

__init__(self, s: str, p: str, o: str) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

Uri

from trustgraph.api import Uri

str(nesne='') -> str str(bayt_veya_tampon[, kodlama[, hatalar]]) -> str

Verilen nesneden yeni bir dize nesnesi oluşturur. Eğer kodlama veya hatalar belirtildiyse, nesne, belirtilen kodlama ve hata işleyicisi kullanılarak çözümlenecek bir veri tamponu içermelidir. Aksi takdirde, object.str()'nin sonucunu (eğer tanımlıysa) veya repr(object)'in sonucunu döndürür. kodlama varsayılan olarak 'utf-8' değerine sahiptir. hatalar varsayılan olarak 'strict' değerine sahiptir.

Metotlar

is_literal(self)

is_triple(self)

is_uri(self)

--

Literal

from trustgraph.api import Literal

str(nesne='') -> str str(bayt_veya_tampon[, kodlama[, hatalar]]) -> str

Verilen nesneden yeni bir dize nesnesi oluşturur. Eğer kodlama veya hatalar belirtildiyse, nesne, belirtilen kodlama ve hata işleyici kullanılarak çözümlenecek bir veri tamponu içermelidir. Aksi takdirde, nesnenin object.str() (eğer tanımlıysa) veya repr(nesne) sonucunu döndürür. kodlama varsayılan olarak 'utf-8' değerine sahiptir. hatalar varsayılan olarak 'strict' değerine sahiptir.

Yöntemler

is_literal(self)

is_triple(self)

is_uri(self)

--

ConfigKey

from trustgraph.api import ConfigKey

Yapılandırma anahtar tanımlayıcısı.

Alanlar:

type: <class 'str'> key: <class 'str'>

Yöntemler

__init__(self, type: str, key: str) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

ConfigValue

from trustgraph.api import ConfigValue

Yapılandırma anahtar-değer çifti.

Alanlar:

type: <class 'str'> key: <class 'str'> value: <class 'str'>

Metotlar

__init__(self, type: str, key: str, value: str) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

DocumentMetadata

from trustgraph.api import DocumentMetadata

Kütüphanedeki bir belge için meta veri.

Özellikler:

parent_id: Parent document ID for child documents (empty for top: level docs)

Alanlar:

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'>

Yöntemler

__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

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

ProcessingMetadata

from trustgraph.api import ProcessingMetadata

Etkin bir belge işleme işi için meta veriler.

Alanlar:

id: <class 'str'> document_id: <class 'str'> time: <class 'datetime.datetime'> flow: <class 'str'> user: <class 'str'> collection: <class 'str'> tags: typing.List[str]

Yöntemler

__init__(self, id: str, document_id: str, time: datetime.datetime, flow: str, user: str, collection: str, tags: List[str]) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

CollectionMetadata

from trustgraph.api import CollectionMetadata

Bir veri koleksiyonu için meta veri.

Koleksiyonlar, belgeler ve bilgi grafiği verileri için mantıksal gruplama ve izolasyon sağlar.

Özellikler:

name: Human: okunabilir koleksiyon adı

Alanlar:

user: <class 'str'> collection: <class 'str'> name: <class 'str'> description: <class 'str'> tags: typing.List[str]

Yöntemler

__init__(self, user: str, collection: str, name: str, description: str, tags: List[str]) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

StreamingChunk

from trustgraph.api import StreamingChunk

Akış yanıtı parçacıkları için temel sınıf.

Yanıtların üretildikleri gibi kademeli olarak iletildiği, WebSocket tabanlı akış işlemlerinde kullanılır.

Alanlar:

content: <class 'str'> end_of_message: <class 'bool'>

Yöntemler

__init__(self, content: str, end_of_message: bool = False) -> None

Kendini başlatır. Doğru imza için help(type(self))'e bakın.

--

AgentThought

from trustgraph.api import AgentThought

Ajanın muhakeme/düşünce süreci parçası.

Ajanın yürütme sırasında kullandığı iç muhakeme veya planlama adımlarını temsil eder. Bu parçalar, ajanın problemi nasıl düşündüğünü gösterir.

Alanlar:

content: <class 'str'> end_of_message: <class 'bool'> chunk_type: <class 'str'>

Yöntemler

__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'thought') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

AgentObservation

from trustgraph.api import AgentObservation

Ajan aracı yürütme gözlemi parçası.

Bir aracın veya eylemin yürütülmesinden elde edilen sonucu veya gözlemi temsil eder. Bu parçalar, ajanın araçları kullanmaktan ne öğrendiğini gösterir.

Alanlar:

content: <class 'str'> end_of_message: <class 'bool'> chunk_type: <class 'str'>

Yöntemler

__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'observation') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

AgentAnswer

from trustgraph.api import AgentAnswer

Ajanın son yanıt parçası.

Kullanıcının sorgusuna, akıl yürütme ve araç kullanımını tamamladıktan sonra, ajanın verdiği son yanıtı temsil eder.

Özellikler:

chunk_type: Always "final: answer"

Alanlar:

content: <class 'str'> end_of_message: <class 'bool'> chunk_type: <class 'str'> end_of_dialog: <class 'bool'>

Yöntemler

__init__(self, content: str, end_of_message: bool = False, chunk_type: str = 'final-answer', end_of_dialog: bool = False) -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

RAGChunk

from trustgraph.api import RAGChunk

RAG (Retrieval-Augmented Generation) akışı parçası.

Grafik RAG, belge RAG, metin tamamlama, ve diğer üretken hizmetlerden gelen yanıtları akış için kullanılır.

Alanlar:

content: <class 'str'> end_of_message: <class 'bool'> chunk_type: <class 'str'> end_of_stream: <class 'bool'> error: typing.Dict[str, str] | None

Yöntemler

__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

Kendini başlatır. Doğru imza için help(type(self))'e bakın.

--

ProvenanceEvent

from trustgraph.api import ProvenanceEvent

ıklanabilirlik için köken olayları.

ıklanabilir mod etkinleştirildiğinde GraphRAG sorguları sırasında yayımlanır. Her olay, sorgu işleme sırasında oluşturulan bir köken düğümünü temsil eder.

Alanlar:

explain_id: <class 'str'> explain_graph: <class 'str'> event_type: <class 'str'>

Yöntemler

__init__(self, explain_id: str, explain_graph: str = '', event_type: str = '') -> None

Kendini başlat. Doğru imza için help(type(self))'e bakın.

--

ProtocolException

from trustgraph.api import ProtocolException

WebSocket protokolü hataları oluştuğunda tetiklenir.

--

TrustGraphException

from trustgraph.api import TrustGraphException

Tüm TrustGraph hizmeti hataları için temel sınıf.

--

AgentError

from trustgraph.api import AgentError

Ajan hizmeti hatası

--

ConfigError

from trustgraph.api import ConfigError

Yapılandırma hizmeti hatası

--

DocumentRagError

from trustgraph.api import DocumentRagError

Belge RAG (Retrieval-Augmented Generation) alma hatası

--

FlowError

from trustgraph.api import FlowError

Akış yönetimi hatası

--

GatewayError

from trustgraph.api import GatewayError

API Ağ Geçidi hatası

--

GraphRagError

from trustgraph.api import GraphRagError

Grafik RAG geri alma hatası

--

LLMError

from trustgraph.api import LLMError

LLM hizmeti hatası

--

LoadError

from trustgraph.api import LoadError

Veri yükleme hatası

--

LookupError

from trustgraph.api import LookupError

Arama/ara hata

--

NLPQueryError

from trustgraph.api import NLPQueryError

NLP sorgu hizmeti hatası

--

RowsQueryError

from trustgraph.api import RowsQueryError

Satır sorgu hizmeti hatası

--

RequestError

from trustgraph.api import RequestError

İstek işleme hatası

--

StructuredQueryError

from trustgraph.api import StructuredQueryError

Yapılandırılmış sorgu hizmeti hatası

--

UnexpectedError

from trustgraph.api import UnexpectedError

Beklenmedik/bilinmeyen hata

--

ApplicationException

from trustgraph.api import ApplicationException

Tüm TrustGraph hizmeti hataları için temel sınıf.

--