Comments (5)
Hi, and thanks for valuable feedback!
It seems to me from your comments above that it is easier for you to work on the schema file (.sd) directly and not generate it using the Python API. It also seems that you prefer to spin up the container manually. All of this is great, and resembles what one usually does in https://docs.vespa.ai/en/vespa-quick-start.html.
A more barebones example using pyvespa is https://pyvespa.readthedocs.io/en/latest/examples/pyvespa-examples.html#Neighbors
We have learned that it can be a bit overwhelming to get started, as using vectors in Vespa is almost just like using any other field type. Most applications do not use vectors in isolation but in a combo with other filters and ranking signals. So bear with us ;-)
The two key config files are the schema and services definition, e.g.:
- https://github.com/vespa-engine/sample-apps/blob/master/vector-streaming-search/schemas/mail.sd
- https://github.com/vespa-engine/sample-apps/blob/master/vector-streaming-search/services.xml
I think this is what you are looking for wrt simple configuration - it is essentially the schema file that is important. services.xml is about how to run it, multiple options at https://docs.vespa.ai/en/getting-started.html - from laptop deployment, through multinode system and also the Vespa Cloud service.
To keep this short, maybe run trough https://docs.vespa.ai/en/vespa-quick-start.html to familiarize with the two files / deployment, then explore how to add a field for the embeddings (curious to learn about your thoughts there), and finally look at options for how to query Vespa - let's do that in later comments
from pyvespa.
For the initialization I found a schema setup example here, I'll be following that. But then I want to define a simple client in which I can insert random embeddings and query for random embeddings, without too many configurations initially.
from pyvespa.
My suggestion would be to simplify a lot the Quick Start example. It's showing too many features, too many initial configurations. When the main functionality is vector archive, indexing and search.
Thanks a lot for the great work you are doing, and please consider my comments as of a fan. It looks great all of Vespa and pyvespa. I hope there is something useful for you to be extracted from my comments.
best regards.
from pyvespa.
these are a couple of open source benchmark tools that I'm kind of following for insights as well - https://github.com/zilliztech/VectorDBBench/tree/main/vectordb_bench/backend/clients and https://github.com/qdrant/vector-db-benchmark/tree/master/engine/clients
maybe they are of interest for you. :)
from pyvespa.
Thanks for your swift and complete answer @kkraune . As I said I'm working on a client so we here can loadtest vespa db. Hope I can get some of it open source, at least on those benchmarks I shared.
I'll study the documentations you shared and try to make the best of it.
Best regards!
from pyvespa.
Related Issues (20)
- OSError when using multiple async feed_batch() instead of feed_data_point() HOT 2
- Access to user query in reranking phase when using approximate neighbor search HOT 1
- Use rank profile inputs HOT 4
- What about increasing the minimum required Python version? HOT 1
- Add field to schema HOT 2
- No document can be fed because ostensibly there isn't enough disk space HOT 7
- Allow to add configuration to content HOT 2
- Dependency Dashboard
- Types for RankProfile.inputs HOT 1
- VespaSync::delete_all_docs only makes a single delete call HOT 1
- Better feed implementation/interface HOT 1
- Deprecation of PyVespa functionality HOT 1
- Add support for mode streaming with pyvespa HOT 1
- Add support for node resource specification and count
- Remove dependency on pandas
- Struct inconsistencie HOT 3
- Manually deployed vespa with docker compose Failed to establish a new connection: [Errno 111] HOT 15
- clear explanation where does the docker container stores files HOT 1
- Type hint of RankProfile inputs HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pyvespa.