ArcMind Vector DB es una base de datos de búsqueda de similitud vectorial de alto rendimiento, flexible y ergonómica para la computadora de Internet. Está diseñado para ser una base de datos de búsqueda de similitud vectorial de uso general que puede usarse para una amplia gama de aplicaciones con IA, incluidos sistemas de recomendación, motores de búsqueda, generación de generación de recuperación (RAG) y memoria a largo plazo de agentes de IA autónomos como ArcMind AI.
Diagrama de flujo de secuencia 
cargo install cargo-audit
Si desea probar su proyecto localmente, puede usar los siguientes comandos:
# Starts the replica, running in the background
dfx start --background
# Deploys controller and brain canisters to the local replica
# Setup the environment variable: CONTROLLER_PRINCIPAL using using > dfx identity get-principal
./scripts/provision.sh El script de provisión implementará un bote arcmindvectordb .
Vea Candid para la API completa.
Se proporcionan scripts de shell de muestra para interactuar con los botes en el directorio Interact. El contenido de incrustaciones de muestra y sus vectores de incrustación se proporcionan en el directorio de incrustaciones.
Abrir y editar:
./interact/add_vector.shIntente agregar múltiples vectores de diferentes temas a VectorStore.
Luego busque vectores similares utilizando uno de los vectores que agregó como entrada. Debería devolver el mismo vector que el vector más similar y otros vectores similares del mismo tema. Vea cómo puede comprender los significados semánticos de los vectores con muchas dimensiones.
Abrir y editar:
./interact/search_vector.shTenga en cuenta que el mismo modelo de incrustación debe usarse para agregar y buscar vectores. Se recomienda que use el mismo modelo de incrustación en una sola tienda de vectores para obtener resultados consistentes.
Las incrustaciones en / incrustaciones / se generan utilizando el modelo OpenAI Text-Embedding-ADA-002 con su API de incrustación
Obtenga la cadena usando los comandos a continuación y luego póngala en los secretos de GitHub. Nota: Reemplace el valor predeterminado por el nombre de identidad que necesita.
awk 'NF {sub(/r/, ""); printf "%s\r\n",$0;}' ~/.config/dfx/identity/default/identity.pem
cat ~/.config/dfx/identity/default/wallets.json
Consulte el archivo de licencia para los derechos y limitaciones de la licencia (MIT).
Consulte Contriping.MD para obtener detalles sobre cómo contribuir a este proyecto.
Código y arquitectura: Henry Chan, [email protected], Twitter: @kinwo