はじめに
Airweaveは、ユーザーのアプリケーション・データ、API、データベース、ウェブサイトをグラフやベクトル・データベースに同期させることで、あらゆるアプリケーションを検索可能にするために設計されたオープン・ソース・ツールです。Airweaveは、構造化、非構造化を問わず、データをAirweaveで処理、保存、検索できるようにすることで、検索可能にするプロセスを簡素化します。Airweaveは、ユーザーが簡単にデータを意味的に検索できるようにする、シンプルでスケーラブル、かつ透明性の高いソリューションを提供することを目標に設計されました。
機能一覧
- データ同期:ユーザーのアプリケーション・データ、API、データベース、ウェブサイト・データと、マッピングおよびベクトル・データベースとの同期をサポート。
- マルチデータソース統合:20種類以上のデータソース統合をサポートし、今後も増え続けます。
- ベクターデータベースのサポート:Weaviateインスタンスはデフォルトで使用されるが、ユーザーは独自のベクターデータベースを設定することもできる。
- ノーコード設定:ユーザーはコードを書くことなく、数クリックでアプリケーションを検索可能にできる。
- 非同期処理:大規模データ同期の非同期処理をサポート。
- オープンソースの中核:オープンソースの中核機能で、将来はより高度な商用機能を提供する。
ヘルプの使用
設置プロセス
- クローン倉庫
git clone https://github.com/airweave-ai/airweave.git
cd airweave
- 稼働中:
chmod +x start.sh
./start.sh
上記のコマンドを実行すると、Airweaveがローカルで起動します。
使用プロセス
フロントエンド
- インタビュー 反応 UI: ブラウザを開き、次のサイトにアクセスする。
http://localhost:8080
. - 新しいデータソースの追加:「ソース」ページに移動し、新しいデータソースを追加する。
- 同期スケジュールの設定:「スケジュール」ページで同期スケジュールを設定または表示します。
- 同期タスクの監視:ジョブページで同期タスクのステータスを監視します。
APIの使用
- Swaggerドキュメントにアクセスするには: ブラウザを開き、次のサイトにアクセスします。
http://localhost:8001/docs
APIドキュメントを見る - すべてのデータソースを取得する:
GET /sources
- データソースに接続する:
POST /connections/{short_name}
高度な設定
- カスタムベクターデータベースの設定: ユーザーはアプリケーションのUIまたはAPIを介して独自のベクターデータベースを設定できます。
- 非同期クライアント: Airweaveは、APIへのノンブロッキングコールをサポートする非同期クライアントを提供します。
インポート 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
await client.api_keys.create_api_key()
asyncio.run(main())
例外処理
ApiError例外は、APIが成功しなかったステータスコード(4xxまたは5xxレスポンス)を返したときにスローされる。
from airweave.core.api_error import ApiError
try: client.api_keys.create_api_key()
クライアント.api_keys.create_api_key()
except ApiError as e: print(e.status_code)
print(e.status_code)
print(e.body)
自動リトライ
SDKは自動リトライ機構を備えており、デフォルトのリトライ回数は2回です。ユーザーは 最大リトライ回数
オプションはリトライの動作を設定する。
client.api_keys.create_api_key(...)。...、request_options={"max_retries": 1})
タイムアウト設定
SDKのデフォルトのタイムアウトは60秒で、ユーザーはクライアントまたはリクエストレベルでタイムアウトを設定できる。
クライアント = AirweaveSDK(...)タイムアウト=20.0)
client.api_keys.create_api_key(... , request_options={"timeout_in_seconds": 1})...、request_options={"timeout_in_seconds": 1})
カスタム顧客
ユーザーはhttpxクライアントをオーバーライドして、プロキシやトランスポートなどのカスタム要件をサポートすることができる。
インポート httpx
from airweave import AirweaveSDK
クライアント = AirweaveSDK(
...httpx_client=httpx.Client=httpx.Client(proxies="", トランスポート="").
httpx_client=httpx.Client(proxies="http://my.test.proxy.example.com", transport=httpx.HTTPTransport(local_address="0.0.0.0")), .
)