Allgemeine Einführung
Airweave ist ein Open-Source-Tool, das entwickelt wurde, um jede beliebige Anwendung durchsuchbar zu machen, indem es die Anwendungsdaten, APIs, Datenbanken und Websites eines Nutzers mit Graph- und Vektordatenbanken synchronisiert.Airweave vereinfacht den Prozess der Durchsuchbarkeit von strukturierten und unstrukturierten Daten, indem es deren Verarbeitung, Speicherung und Abruf durch Airweave ermöglicht. Airweave wurde mit dem Ziel entwickelt, eine einfache, skalierbare und transparente Lösung zu bieten, die es den Nutzern leicht macht, ihre Daten semantisch zu durchsuchen.
Funktionsliste
- Datensynchronisierung: unterstützt die Synchronisierung von Anwendungsdaten, APIs, Datenbanken und Website-Daten mit Kartierungs- und Vektordatenbanken.
- Multi-Datenquellen-Integration: Unterstützung von mehr als 20 Arten von Datenquellen-Integration, weiter zu erhöhen.
- Unterstützung von Vektordatenbanken: Weaviate-Instanzen werden standardmäßig verwendet, aber die Benutzer können auch ihre eigenen Vektordatenbanken konfigurieren.
- Codefreie Konfiguration: Benutzer können Anwendungen mit wenigen Klicks durchsuchbar machen, ohne Code zu schreiben.
- Asynchrone Verarbeitung: unterstützt die asynchrone Verarbeitung umfangreicher Datensynchronisationen.
- Open-Source-Kern: die Kernfunktion von Open-Source, die Zukunft wird mehr erweiterte kommerzielle Funktionen bieten.
Hilfe verwenden
Ablauf der Installation
- Klon-Lagerhaus:
git clone https://github.com/airweave-ai/airweave.git
cd airweave
- Es kann losgehen:
chmod +x start.sh
. /start.sh
Nach Ausführung des obigen Befehls wird Airweave lokal gestartet.
Verwendung Prozess
Front-End-Verwendung
- Interviews Reagieren Sie UI: Öffnen Sie Ihren Browser und besuchen Sie
http://localhost:8080
. - Hinzufügen einer neuen Datenquelle: Navigieren Sie zur Seite "Quellen" und fügen Sie eine neue Datenquelle hinzu.
- Konfigurieren Sie einen Synchronisierungszeitplan: Richten Sie einen Synchronisierungszeitplan ein oder zeigen Sie ihn auf der Seite Zeitpläne an.
- Synchronisierungsaufgaben überwachen: Überwachen Sie den Status der Synchronisierungsaufgaben auf der Seite Aufträge.
API-Verwendung
- So greifen Sie auf die Swagger-Dokumentation zu: Öffnen Sie einen Browser und besuchen Sie
http://localhost:8001/docs
Sehen Sie sich die API-Dokumentation an. - Alle Datenquellen abrufen:
GET /Quellen
- Verbinden Sie sich mit der Datenquelle:
POST /connections/{short_name}
Erweiterte Konfiguration
- Konfigurieren Sie eine benutzerdefinierte Vektordatenbank: Benutzer können ihre eigene Vektordatenbank in der Benutzeroberfläche der Anwendung oder über die API konfigurieren.
- Asynchroner Client: Airweave bietet einen asynchronen Client, der nicht-blockierende Aufrufe der API unterstützt.
asyncio importieren
from airweave import AsyncAirweaveSDK
client = AsyncAirweaveSDK(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api")
async def main(): await client.api_keys
await client.api_keys.create_api_key()
asyncio.run(main())
Behandlung von Ausnahmen
Die ApiError-Ausnahme wird ausgelöst, wenn die API einen nicht erfolgreichen Statuscode zurückgibt (Antwort 4xx oder 5xx).
from airweave.core.api_error import ApiError
try: client.api_keys.create_api_key()
client.api_keys.create_api_key()
except ApiError as e: print(e.status_code)
print(e.status_code)
print(e.body)
automatischer Wiederholungsversuch
Das SDK ist mit einem automatischen Wiederholungsmechanismus konfiguriert, und die Standardanzahl der Wiederholungsversuche beträgt 2. Benutzer können die max_wiederholungen
konfiguriert das Wiederholungsverhalten.
client.api_keys.create_api_key(... , request_options={"max_retries": 1})
Timeout-Einstellung
Die SDK-Standardzeitüberschreitung beträgt 60 Sekunden, und die Benutzer können die Zeitüberschreitung auf Client- oder Anfrageebene konfigurieren.
client = AirweaveSDK(... , timeout=20.0)
client.api_keys.create_api_key(... , request_options={"timeout_in_seconds": 1})
Kundenspezifische Kunden
Benutzer können den httpx-Client überschreiben, um eigene Anforderungen wie Proxies und Transporte zu unterstützen.
httpx importieren
von airweave importieren AirweaveSDK
client = AirweaveSDK(
... , httpx_client=httpx.Client=httpx.
httpx_client=httpx.Client(proxies="http://my.test.proxy.example.com", transport=httpx.HTTPTransport(local_address="0.0.0.0")), .
)