Introdução geral
O Airweave é uma ferramenta de código aberto projetada para tornar qualquer aplicativo pesquisável, sincronizando dados de aplicativos, APIs, bancos de dados e sites do usuário com bancos de dados de gráficos e vetores. O Airweave simplifica o processo de tornar os dados pesquisáveis, tanto estruturados quanto não estruturados, permitindo que sejam processados, armazenados e recuperados pelo Airweave. Os principais recursos incluem sincronização de dados, integração com várias fontes de dados, suporte a vários bancos de dados vetoriais etc. O Airweave foi projetado com o objetivo de fornecer uma solução simples, dimensionável e transparente que facilita aos usuários a pesquisa semântica de seus dados.
Lista de funções
- Sincronização de dados: oferece suporte à sincronização de dados de aplicativos, APIs, bancos de dados e dados de sites dos usuários com bancos de dados vetoriais e de mapeamento.
- Integração de várias fontes de dados: suporta mais de 20 tipos de integração de fontes de dados e continua aumentando.
- Suporte a banco de dados vetorial: as instâncias do Weaviate são usadas por padrão, mas os usuários também podem configurar seus próprios bancos de dados vetoriais.
- Configuração sem código: os usuários podem tornar os aplicativos pesquisáveis em poucos cliques, sem escrever código.
- Processamento assíncrono: oferece suporte ao processamento assíncrono de sincronização de dados em grande escala.
- Núcleo de código aberto: a função principal do código aberto, o futuro fornecerá funções comerciais mais avançadas.
Usando a Ajuda
Processo de instalação
- Armazém de Clonagem:
git clone https://github.com/airweave-ai/airweave.git
cd airweave
- Em funcionamento:
chmod +x start.sh
. /start.sh
Depois de executar o comando acima, o Airweave será iniciado localmente.
Processo de uso
Uso de front-end
- entrevistas Reagir UI: Abra seu navegador e acesse
http://localhost:8080
. - Adicionar uma nova fonte de dados: Navegue até a página "Sources" (Fontes) e adicione uma nova fonte de dados.
- Configurar uma agenda de sincronização: Configure ou visualize uma agenda de sincronização na página Agendas.
- Monitorar tarefas de sincronização: Monitore o status das tarefas de sincronização na página Jobs.
Uso da API
- Para acessar a documentação do Swagger: abra um navegador e visite
http://localhost:8001/docs
Veja a documentação da API. - Obter todas as fontes de dados:
GET /sources
- Conecte-se à fonte de dados:
POST /connections/{short_name}
Configuração avançada
- Configurar um banco de dados vetorial personalizado: os usuários podem configurar seu próprio banco de dados vetorial na interface do usuário do aplicativo ou por meio da API.
- Cliente assíncrono: o Airweave fornece um cliente assíncrono que suporta chamadas sem bloqueio para a API.
importar asyncio
da airweave import AsyncAirweaveSDK
cliente = 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())
Tratamento de exceções
A exceção ApiError é lançada quando a API retorna um código de status sem êxito (resposta 4xx ou 5xx).
from airweave.core.api_error import ApiError
try: cliente.api_keys.create_api_key()
cliente.api_keys.create_api_key()
except ApiError as e: print(e.status_code)
print(e.status_code)
print(e.body)
repetição automática
O SDK é configurado com um mecanismo de repetição automática e o número padrão de tentativas é 2. Os usuários podem usar a opção max_retries
configura o comportamento de nova tentativa.
client.api_keys.create_api_key(... , request_options={"max_retries": 1})
configuração de tempo limite
O tempo limite padrão do SDK é de 60 segundos, e os usuários podem configurar o tempo limite no nível do cliente ou da solicitação.
cliente = AirweaveSDK(... , timeout=20.0)
client.api_keys.create_api_key(... , request_options={"timeout_in_seconds": 1})
Clientes personalizados
Os usuários podem substituir o cliente httpx para dar suporte a requisitos personalizados, como proxies e transportes.
importar httpx
from airweave import AirweaveSDK
cliente = AirweaveSDK(
... 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")), .
)