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 bereitzustellen, 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.
- Konfiguration ohne Code: 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
Einbauverfahren
- 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.
Verwendungsprozess
Front-End-Verwendung
- Interviews Reagieren Sie UI: Öffnen Sie Ihren Browser und besuchen Sie
http://localhost:8080
. - 添加新数据源: 导航到 “Sources” 页面,添加新的数据源。
- 配置同步计划: 在 “Schedules” 页面设置或查看同步计划。
- 监控同步任务: 在 “Jobs” 页面监控同步任务的状态。
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 /sources
- 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.
import asyncio
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.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()
except ApiError as e:
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_retries
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.
import httpx
from airweave import AirweaveSDK
client = AirweaveSDK(
...,
httpx_client=httpx.Client(proxies="http://my.test.proxy.example.com", transport=httpx.HTTPTransport(local_address="0.0.0.0")),
)