Two Questions: 1. I use embedding model from Huggingface, and calculate embeddings myself. Can that be done inside the function that you showed? This requires importing some libs. 2. Are there other supported vector indexing algorithms? KNN has major issues with performance, I use HNSW (Hierarchical Small World Graph).
Hey there, great content! I code using Pythong but this video provided me direction. Btw, I think there was an up date in the interface of MongoDB and the code for creating a vector search might need to be updated.
I am really interested in implementing this in my microservices all written with Go. Can all of this be made programmatically with Mongo client for Go? Indexes can be created with the client, so I imagine that all of this can be done too.
I have a question, In this example it's going through plot which was saved as movie data. right? It then queries that plot for similar result, could it be done in a way where it goes through the actual movie and tries to figure out , oh there it is, a boy and a yellow dog, and then return that movie suggesting it might be the one we are referring to.
This worked for me. But some searches didn’t work as expected. I asked which is the first Bond movie. It gave me a list of bond movies. I understand the vector is only on plot. But can we vectorize the whole document ?
The search output is an exact text from DB or model twicks it the way it wants? Do i understand correct, model is just a search mechanism it does not changes found data it gives it to you as is?
Correct. It's a search mechanism, but it's a "semantic" search engine. The results it returns are exactly what you saved. If you want the models to change it, you have to send it to an LLM to do that and ask it nicely.
unfortunately, I just follow the guide from the doc, but I get this error | MongoServerError: $vectorSearch is not allowed or the syntax is incorrect, see the Atlas documentation for more information not sure why is that? anyone know? please help
You are correct. Currently, serverless clusters have some limitations. If you would like to test out all features you can use a free forever M0 cluster which has these features enabled. Here is a list of the current limitations on serverless clusters: www.mongodb.com/docs/atlas/reference/serverless-instance-limitations/#unsupported-actions
It does not work on my Atlas cluster. The trigger log is showing the following error message even when uploading only one record: [ "Processing document with id: 573a1390f29313caabcd4eaf", "Failed to receive embedding. Status code: 429" ] How can it be fixed?
I recommend re-running the REST call using your favorite client -- cURL, Bruno, Postman, etc. For me, it gave me more information -- I had no credit in my account.
✅ Sign-up for a free cluster at → mdb.link/free-1ZIYVNvRVsY
✅ Vector Search Documentation→ mdb.link/vector-search-1ZIYVNvRVsY
Linear Algebra wasn't a waste of time after all
and Statistics!
Two Questions:
1. I use embedding model from Huggingface, and calculate embeddings myself. Can that be done inside the function that you showed? This requires importing some libs.
2. Are there other supported vector indexing algorithms? KNN has major issues with performance, I use HNSW (Hierarchical Small World Graph).
Hey there, great content! I code using Pythong but this video provided me direction. Btw, I think there was an up date in the interface of MongoDB and the code for creating a vector search might need to be updated.
What about searching in multiple fields inside a document? Is it possible to embed and search not only the plot of the movie but 20 more properties?
Hello! Did you find the answer to this ? Because I am also looking for this only. But not able to find anything.
Hii.. Any update on this, did you find any way to do this?
Did u guys think of vectorizing all the properties of the document?
I am really interested in implementing this in my microservices all written with Go.
Can all of this be made programmatically with Mongo client for Go?
Indexes can be created with the client, so I imagine that all of this can be done too.
Wow I really want to learn to do this!
I have a question, In this example it's going through plot which was saved as movie data. right? It then queries that plot for similar result, could it be done in a way where it goes through the actual movie and tries to figure out , oh there it is, a boy and a yellow dog, and then return that movie suggesting it might be the one we are referring to.
Is there a score or some quantified notion of similarity that can be returned with each result?
You can, the relevance score is 1/1+distance. So higher the relevance score, the better is.
Can we create a new vector search index using code instead of going to the MongoDB UI?
This worked for me. But some searches didn’t work as expected. I asked which is the first Bond movie. It gave me a list of bond movies. I understand the vector is only on plot. But can we vectorize the whole document ?
cool. i will try it
The search output is an exact text from DB or model twicks it the way it wants?
Do i understand correct, model is just a search mechanism it does not changes found data it gives it to you as is?
Correct. It's a search mechanism, but it's a "semantic" search engine. The results it returns are exactly what you saved. If you want the models to change it, you have to send it to an LLM to do that and ask it nicely.
Love you so much
unfortunately, I just follow the guide from the doc, but I get this error |
MongoServerError: $vectorSearch is not allowed or the syntax is incorrect, see the Atlas documentation for more information
not sure why is that? anyone know? please help
Are you using the serverless?
Is it free to use in VPS server ( out of atlas ) where mongodb installed ?
This is only available through Atlas currently
I love that!
So this is only working with dedicated servers and not supported with the serverless option?
9 months pass and nothing works. My serverless cluster does not support triggers and also there is no search tab in my cluster.
You are correct. Currently, serverless clusters have some limitations. If you would like to test out all features you can use a free forever M0 cluster which has these features enabled. Here is a list of the current limitations on serverless clusters: www.mongodb.com/docs/atlas/reference/serverless-instance-limitations/#unsupported-actions
It does not work on my Atlas cluster. The trigger log is showing the following error message even when uploading only one record:
[
"Processing document with id: 573a1390f29313caabcd4eaf",
"Failed to receive embedding. Status code: 429"
]
How can it be fixed?
To me, the 429 looks like you exhausted some free resource, probably with openai.
Seems you got rate limited
I recommend re-running the REST call using your favorite client -- cURL, Bruno, Postman, etc. For me, it gave me more information -- I had no credit in my account.
Don't set your Trigger to trigger off updates too, or you'll create an infinite loop! Also... it's responseCode, not response_code.
Thats pretty cool
This is just too much. I feel like I am so far behind.