2026-04-10 23:20:41 -04:00
---
layout: default
title: "TrustGraph Python API Referansı "
parent: "Turkish (Beta)"
---
2026-04-10 12:22:20 -04:00
# TrustGraph Python API Referansı
2026-04-10 23:20:41 -04:00
> **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.
2026-04-10 12:22:20 -04:00
## Kurulum
```bash
pip install trustgraph
```
## Hı zlı Başlangı ç
Tüm sı nı flar ve tipler, `trustgraph.api` paketinden içe aktarı lmı ştı r:
```python
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 ](#api )
### Akı ş İstemcileri
[Flow ](#flow )
[FlowInstance ](#flowinstance )
[AsyncFlow ](#asyncflow )
[AsyncFlowInstance ](#asyncflowinstance )
### WebSocket İstemcileri
[SocketClient ](#socketclient )
[SocketFlowInstance ](#socketflowinstance )
[AsyncSocketClient ](#asyncsocketclient )
[AsyncSocketFlowInstance ](#asyncsocketflowinstance )
### Toplu İşlemler
[BulkClient ](#bulkclient )
[AsyncBulkClient ](#asyncbulkclient )
### Metrikler
[Metrics ](#metrics )
[AsyncMetrics ](#asyncmetrics )
### Veri Tipleri
[Triple ](#triple )
[ConfigKey ](#configkey )
[ConfigValue ](#configvalue )
[DocumentMetadata ](#documentmetadata )
[ProcessingMetadata ](#processingmetadata )
[CollectionMetadata ](#collectionmetadata )
[StreamingChunk ](#streamingchunk )
[AgentThought ](#agentthought )
[AgentObservation ](#agentobservation )
[AgentAnswer ](#agentanswer )
[RAGChunk ](#ragchunk )
### İstisnalar
[ProtocolException ](#protocolexception )
[TrustGraphException ](#trustgraphexception )
[AgentError ](#agenterror )
[ConfigError ](#configerror )
[DocumentRagError ](#documentragerror )
[FlowError ](#flowerror )
[GatewayError ](#gatewayerror )
[GraphRagError ](#graphragerror )
[LLMError ](#llmerror )
[LoadError ](#loaderror )
[LookupError ](#lookuperror )
[NLPQueryError ](#nlpqueryerror )
[RowsQueryError ](#rowsqueryerror )
[RequestError ](#requesterror )
[StructuredQueryError ](#structuredqueryerror )
[UnexpectedError ](#unexpectederror )
[ApplicationException ](#applicationexception )
--
## `Api`
```python
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:**
```python
# 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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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`
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
api.flow().stop("my-flow")
```
--
## `FlowInstance`
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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`
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
async_flow = await api.async_flow()
# Stop a flow
await async_flow.stop("my-flow")
```
--
## `AsyncFlowInstance`
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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`
```python
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:**
```python
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`
```python
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:**
```python
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]`
Açı 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:**
```python
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:**
```python
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:**
```python
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]`
Açı 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:**
```python
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:**
```python
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:**
```python
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:**
```python
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]`
Açı 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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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`
```python
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`
```python
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`
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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:**
```python
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`
```python
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`
```python
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`
```python
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`
```python
from trustgraph.api import ExplainabilityClient
```
Açı 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)`
Açı 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:** Açı 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`
```python
from trustgraph.api import ExplainEntity
```
Açı 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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
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`
```python
from trustgraph.api import ProvenanceEvent
```
Açı klanabilirlik için köken olayları .
Açı 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`
```python
from trustgraph.api import ProtocolException
```
WebSocket protokolü hataları oluştuğunda tetiklenir.
--
## `TrustGraphException`
```python
from trustgraph.api import TrustGraphException
```
Tüm TrustGraph hizmeti hataları için temel sı nı f.
--
## `AgentError`
```python
from trustgraph.api import AgentError
```
Ajan hizmeti hatası
--
## `ConfigError`
```python
from trustgraph.api import ConfigError
```
Yapı landı rma hizmeti hatası
--
## `DocumentRagError`
```python
from trustgraph.api import DocumentRagError
```
Belge RAG (Retrieval-Augmented Generation) alma hatası
--
## `FlowError`
```python
from trustgraph.api import FlowError
```
Akı ş yönetimi hatası
--
## `GatewayError`
```python
from trustgraph.api import GatewayError
```
API Ağ Geçidi hatası
--
## `GraphRagError`
```python
from trustgraph.api import GraphRagError
```
Grafik RAG geri alma hatası
--
## `LLMError`
```python
from trustgraph.api import LLMError
```
LLM hizmeti hatası
--
## `LoadError`
```python
from trustgraph.api import LoadError
```
Veri yükleme hatası
--
## `LookupError`
```python
from trustgraph.api import LookupError
```
Arama/ara hata
--
## `NLPQueryError`
```python
from trustgraph.api import NLPQueryError
```
NLP sorgu hizmeti hatası
--
## `RowsQueryError`
```python
from trustgraph.api import RowsQueryError
```
Satı r sorgu hizmeti hatası
--
## `RequestError`
```python
from trustgraph.api import RequestError
```
İstek işleme hatası
--
## `StructuredQueryError`
```python
from trustgraph.api import StructuredQueryError
```
Yapı landı rı lmı ş sorgu hizmeti hatası
--
## `UnexpectedError`
```python
from trustgraph.api import UnexpectedError
```
Beklenmedik/bilinmeyen hata
--
## `ApplicationException`
```python
from trustgraph.api import ApplicationException
```
Tüm TrustGraph hizmeti hataları için temel sı nı f.
--