Escolhas inteligentes de restaurantes com MongoDB Atlas e Vertex AI
Avalie esse Vídeo
00:00:00Introdução ao RAG e ao Vector Atlas Search
The sesseuon begeuns weuth an euntroducteuon to the concepts of Retreueval Augmented Generateuon (RAG) and vector search, explaeuneung theeur seugneufeucance eun the context of Aeu and MongoDB Atlas.00:10:00Construindo um Pipeline RAG
The deuscusseuon moves on to constructeung a RAG peupeleune, detaeuleung the steps eunvolved eun retreueveung data, augmenteung prompts, and generateung responses useung Aeu models.00:20:00Vector Atlas Search no MongoDB Atlas
The veudeo heughleughts the functeuonaleuty of vector search weutheun MongoDB Atlas, showcaseung how eut enables semanteuc search by compareung vector embeddeungs.00:30:00Demonstração: recomendações de restaurantes
A leuve demonstrateuon eus proveuded, eullustrateung how the RAG archeutecture can be appleued to generate restaurant recommendateuons based on user quereues and reveuews.00:40:00passo a passo do código
The presenter walks through the Python code used eun the demo, explaeuneung the key functeuons and how they contreubute to the RAG process.00:50:00Perguntas e respostas e considerações finais
The sesseuon concludes weuth a P&A segment, addresseung questeuons from the audeuence and offereung feunal eunseughts on the future of RAG and euts appleucateuons.01:00:00Considerações finais
The veudeo wraps up weuth closeung remarks, encourageung veuewers to expereument weuth RAG and vector search eun theeur own projects.O foco principal do vídeo é demonstrar como as tecnologias de AI , especificamente a Geração Aumentada de Recuperação (RAG) e o Atlas Search vetorial, podem ser integradas ao MongoDB Atlas para criar aplicativos inteligentes que fornecem respostas semelhantes a especialistas com base em dados personalizados.
} Pontos-chave
- RAG é uma arquitetura que combina a recuperação de dados privados ou que mudam rapidamente com modelos de AI para gerar respostas.
- Vector Atlas Search no MongoDB Atlas permite a Atlas Search semântica comparando vetores (embeddings) em vez de palavras-chave.
- A adaptabilidade do RAG a modelos de AI novos e em desenvolvimento garante sua relevância e utilidade em vários aplicativos.
- O MongoDB Atlas facilita a atualização e o dimensionamento de dados vetoriais juntamente com dados operacionais, tornando-o adequado para aplicativos de escala empresarial.
Links relacionados
Transcrição completa do vídeo
[Music] [Music] [Music] [Music] hello everybody and welcome yet again to another live stream I'm Shane mallister I'm on the developer relations team here at mongod mongodb and I'm thrilled to have you join us for what looks to be an exciting session on Smart restaurant choices with mongod Atlas and vertex AI but as ever before we do that a little bit of housekeeping so while we gear up for the live stream do drop a shout out in the chat on LinkedIn and YouTube and tell us where you're joining from and who you are we love to hear from our fantastic viewers wherever they might be in the world and use the same chat on LinkedIn and YouTube Once the show kicks off to pop any burning questions into the chat and we'll either tackle them live as we go through our show or we'll take care of them towards the end of the show as well too so please do use that opportunity to send me and our guest questions as we go through the show as ever this live stream is being recorded So once it's finished it will be available again back on our YouTube and Linkedin so if life drags you away or something comes up or you miss the start or you can't make it till the end don't worry the recording will exist and you can pop back in and have a look there as well too and of course while on our YouTube page and Linkedin don't forget to YouTube like And subscribe as ever and on LinkedIn to follow to make sure you keep up to date with these sort of events that happen on mongodb's mongodb TV channels and also the hottest news and the latest posts Etc as well too so if you're a season viewer it's really good to have you back and if you're new H you're very very welcome it's great to have you do dive into any of the past shows that we've had to see this and other content from my other colleagues here at mangad TV anyway today we have a very special guest with us norri Halperin from plus n Consulting but also a longstanding Mong goody be champion and I'm really delighted to be joined by Nuri today based in California Nuri is here to share his insights as to how AI Cutting Edge tools are transforming app development so we're going to dive deep into Concepts like retrieval augmented generation which is rag vector search techniques and the integration of AI via mongod Atlas and particularly mongod Atlas Vector search which we announced nearly a year ago now H which is superb time flies but earlier this month at local New York our largest. looc event for mongodb we also announce that it will be coming Vector search will be coming to our community and Enterprise on premise version of mongodb um I know that's a question come up a lot when we do shows like this on AI anyway Nuri is going to walk us through how these Technologies enable smarter decision making providing expert-like responses using personalized data and we're going to see a demonstration of this in action showing how we can enhance in this instance and in this example restaurant recommendations and operations so if you're a tech Enthusiast a business owner a developer a dabler or just curious about the future of AI in Practical applications you've come to the right place so without further Ado Nuri you're very welcome to mongodb TV Cloud connect how are you I'm good thanks Shane for uh having me on your Show excellent listen I'm delighted that you can join us I think and I there's very few of these Nuri but I've met you a few times in person which is always makes shows like this much easier to do but I'm delighted to have got your arm Twisted to join us on cloud connect as well too by way of introduction H can you I always like to get our guests to tell us a little bit about their career path to date and what got them to where they are now so I'd love to do a bit of that and they also want to talk to what I mentioned at the beginning of the intro about you being a Monga to be Champion as well so how did you get here Nuri what's what's been the role or the path to date for you um let's see I think uh I probably started uh in high school with uh uh with a Radio Shack uh TRS 40 um trying to you're showing your age now you yeah but maybe we should Zoom 40 years forward I I uh I have uh I went to to school for computer science and I I've done uh uh software uh for most of my professional career um I uh was part of um uh uh some startups uh doing online dating for many years so that's where I got my feet wet on both the software side and database side because we needed to kind of scale and be able to handle you know web traffic and stuff like that okay so that's kind of where you know I I'm I'm software uh software developer at heart uh but very versed in databases because that's where the business is really I believe and then uh with mongodb I started around I think 2011 um I don't use exclusively mongodb but I use it for everywhere that it fits um and uh I I really liked how Mongo's approach to storing data and retrieving data for applications for workloads uh is is is is really uh phenomenal and and made us able to go through startup with uh social photo sharing and stuff like that uh and really build things and iterate rapidly and deliver fast um uh with the knowledge that uh that that the the cluster is going to be there and thata uh you know availability and and U and uh uh durability is there um anecdotally I left a startup and two years later I spoke to some folks there and I said okay so who's DBA who's doing stuff and they're like um nobody it just runs so I think th those kind of things I like to hear you left it in good shape so so you you started Mong be experience in 2011 obviously you know I'm I'm in mongod be since 2020 so you're well ahead of me in terms of my my curve of learning in mongodb but at that time obviously it was very different than what it is now it was pre Atlas Etc as well too so you were it was on premise Mong B um that you were using at that time right and and uh uh I don't know if I should mention it on this podcast but mango is still available off Prem or or on Prem off Cloud uh for those who need it uh and uh and um you know there there is an aspect of of devop DBA work that needs to be there I believe that job is not gone even if you're on Atlas it's just an atlas all of the mundane tasks are automated but you still need to keep a watchful eye understand where things are going optimize workloads things like that that you know um I think that's where my emphasis is on education I have uh some courses on plural site some of them are uh quite old by now um but uh I I speak about um you know uh mongodb I'm doing a mongodb first steps even uh this weekend at uh SQL Saturday um because I believe people should know about how things work and how to exploit their strengths um you know just this idea that you just have a URL and you throw data at it and you expect it to come back is is okay uh it's it's a nice little Walled Garden but as you mature into you know high demand applications you want to go past that you want to really understand what's going on behind the scenes and how things work and I like to Tinker with things so it's kind of my alley so SQL Saturday they still let a nosql document databased Champion come through the door for that event um you know uh the more you learn right I mean this is a good sign right it's a sign that uh folks in the data Community recognize that this is a polyglot world it's not only Oracle it's not only SQL server or pogress or MySQL or Maria or a plethora of others so um some stuff um is still SQL language at the top and I think some folks are happy to just do that for their whole career some people want to see SQL at the top but on the bottom something completely different which for analytics and for uh large scale uh data lakes and stuff like that is is somewhat available even in [ __ ] uh some bi connectors and stuff like that and uh and some folks are like like I don't care what language what anything like it's it's all about infrastructure and learning new things and being able to store and process massive amounts of data and take on workloads and you to just choose what's the right tool for you so exactly the right tool for the job so you you you started with mongodb in 2011 when did you become a mongodb champion Nuri and what does that entail for you from your perspective um well well I was nominated gracefully to be a recipient of the William Zola award by mango um I don't recall the exact year and so I was an inaug inaugural recipient of that award uh because as I learned [ __ ] as a speaker an a frequent speaker at conferences and uh Tech events I I spoke a lot about [ __ ] I also uh was on stack Overflow uh kind of trying to get other community members engaged understanding and talking about it because let's face it we we don't know everything I I always love to learn from others and share my knowledge um so being a champion I guess at some point there was um the program was named different things over the years but uh I think in the 2015 era or something like that I started being engaged in that and what that gets is a little more exposure as in my name as out there somewhere but um from my own practice it's pretty much I do what I do anyway I'm a trador I I like to you know share the art and uh my discoveries and uh meet others who are in the field and learn from them and share ideas that's kind of what I do anyway yeah and and I know as I said we we've met in person a number of times a couple of mang. local some of our partner events most recently at Google Cloud next as well too norri which is where I first came across the content that you're going to talk about today as well too so um I suppose given your long history as a inquisitive developer and somebody in the data space for a long time everything that we see and do these days and I know somebody comment that every event is an AI event now every company is an AI company before we get stuck into the meat of what you're going to show us what's your thoughts on kind of this what to the outside world has seen you know 18 months of Rapid innovation in this generative AI space in particular where do you think you know what's your thoughts and viewpoints on gen AI overall um well so there's Ai and there's gen ai ai has been hyping and spiking for decades now um geni I think is very interesting because I think we are seeing finally products that where the AI is really capable of delivering products that humans didn't painstakingly make on the spot it doesn't mean they never made them because it's based on learning what humans have done before um but I think you know having for myself if I need some graphics for some promo or something like that and I can go to some system and say hey make me a picture that looks like this and this and that and not have a a human you know painstakingly work on it for for hours or days um you know that's a win now is the quality of it is the innovation of it is the uh product really what you need I don't know I don't think we've gotten to that point where you can blindly trust AI um yes yeah or the product uh but you know it's it's a great tool like we had code generators right that said oh you know automate all that craft I want to just deal you know do do all the needful and then I'll come in as an expert and and work with it and shorten my uh my workload therefore make me more productive I think this is a very mapable uh a very u a very close match to that same Paradigm it's a tool that accelerates some of the mundane work or some of the footwork that someone would have done um but it falls short of I think creating things that were never conceived of before in that since it doesn't really have understanding um or knowledge it it relies only on previous knowledge it is not actually creating so much new discovery it is just reshaping and uh um you know summarizing uh knowledge that has previously done so that's kind of my view of it um I'm excited I think the results are really impressive and it's fun to play with um you know I I don't think I need AI to make me a hamburger but I would love for AI to tell me of all of the hamburger choices where I should go get one uh that's kind of my my approach to it excellent and and and look that's a very good segue into the topic we have uh today which is you know smart restaurant choices so let's dive into that subject and um let's get your we've got a couple of slides and a demo which is always good I love to have demos on the on on on the show too so NRI why don't you start going through kind of the Genesis of this and why you put this demo and example together and what inspired you to do this and and as I said at the beginning anybody with questions on link or YouTube please add them into the chat and if they are you know aligned with what we're talking about the moment we'll bring them straight on air and answer them straight away so please throw them up there and if not we'll take care of the rest towards the end of the stream as well too so Nuri over to you why don't we get started and and we'll make our way through this ah sure thing Shane so uh this uh this slide deck was uh developed uh to kind of showcase uh using AI for making smart restaurant choices um and I'm using vertex AI uh but uh really it's an open source repo and uh I'll I'll flash that URL later maybe uh Shane um so people can just download the code and adapt it and you can use you know chat GPT or your own uh whatever model endpoint I'm just demonstrating kind of the architecture there um so the thing though from educational perspective or from what I want to deliver is is this notion of using AI in a practical application uh so there's a few things I want to impress on y'all uh first of all that there is no real ai ai is a marketing term for using techniques of machine learning and um and and and quite honestly math uh to to produce certain transforms on inputs to uh that gives you certain outputs uh at the end of the day this is all of computer science right you have some inputs you put it in the meat grinder machine and you get out some outputs and uh you you just have to find the right grinding in order to to get you the outputs you want I love that that there's no AI only math I've heard others describe AI as neither artificial nor necessarily intelligent as well too and I love the focus on this and how helps definitely yeah I mean mathematically speaking uh I don't know about intelligence because you have to reason about what intelligence is but there is a chance for AI to produce things that us as human would never think because of our own constraints either constraints of time or constraints of uh social conditioning or anything that we will oh we will never think that uh but the AI is like I just think in all directions so you know so there there are aspects of of machine learning and things that that to us uh either things are imperceptible in the inputs or Unthinkable as humans that AI just cuts through so that's maybe a chance for Innovation I don't know true um but I'm I'm not trying to dig too deep here I'm just trying to harness these things uh which is a standing on the shoulders of giants aspect here which is you know there are already Frameworks and uh do I have the uh the the budget to compete with uh people who spend Millions tens of millions or hundreds of millions to to build pre to to train models to to make them work I don't have that budget but I can use that right I can rent a slice of it and uh that's kind of where I'm going in a pragmatic approach to to harness this um and you mentioned that there were Choice obviously you used vertex AI in this instance in this demo Nuri um but there are choices and obviously with the anyone can take the repo and choose their own why was there any reason to choose vertex AI for you in building this was it easier to get up and running with did you understand it more what was the reasoning in this instance um I think I built several iterations of this um and vertex AI for uh Google Cloud next was a good fit um obviously uh I would say that from a API surface perspective um the various libraries in Python that interact with vendor a or ver vendor B could be somewhat different uh and there is the chance of of using Lang chain or something that abstracts that API from you and just haha just works um and power to you if if this just works for you but uh one things I one thing I do like is digging in and exploiting um the exact nuances of stuff so I like to work as close as possible to the driver or to the API caller and putting it together uh because that's a way for me to understand better what is going on um uh so vertex API exposes a fairly clean API to do that you create an object you know connected to your account and boom uh others have similar um yet not completely um uh identical steps to get there um I I did work with you know Azure um Azure machine Learning Studio and uh using their API on uh uh for for chat GPT interface um similar I think in effort um and then again there's there's Al always the option to host your own model and not use a that talks to somebody else hosting your model and embedding it but then you know it becomes a hardware issue you need you know a good G to make things run fast enough um so so yeah so that's uh yeah so yes I think how how did I choose that exactly I don't know that I chose that exactly it was fit for the presentation um of course but I did play around with several of them and I can say that to date I found the process to be less than um less than perfect in any ones that I tried in the sense that just get pull and then compile run or run interpreter and run never worked out of the box there's always these things to take care of like oh oh and you have to do this Li oh and this is the real stable one for the version and oh somebody just update uh there's stuff there's stuff yeah okay okay you you've got choices essentially maybe that's something for uh open AI to uh or for any company to to kind of to Kind of Perfect is the setup process for things yes yeah most definitely okay okay good somebody would say Docker I'm sure but yeah yeah please add in the comments if you have any particular choices or any particular favorites and other others that we could swwa in vertex AI instead of Etc as well too so yeah okay so uh in order to make things practical uh let's just list what I'm after here what what was my goal in this little project so I want to have a user ask a question so this is a chat type uh sure bot API application whatever and I want the answer uh to be such that it is using my own data uh and using my language let's speak English here uh and then I wanted to respond in a way that sounds like an expert meaning I don't want to just go and say oh here's a document read the PDF I want it to summarize tell me something in my language and say aha you asked me to for a restaurant recommendation here it is here's what I think in that color because that gives you a humanik interaction that that I like and I wanted to be a little more intelligent than just uh doing um you know like I found exactly what you want or I found nothing I wanted to be like I kind of understand what you're looking for so let me suggest this one even if it's not a match right yeah and and that's the thing I you know hit the search button wait three seconds and like we found nothing you're wrong why did you ask us this question like no dude like be nicer yeah yeah yeah that that that makes a ton of sense and and obviously you know what we're doing here you know is is and we look we'll get into it it's semantic search it's not keyword search etc etc so you'd want some suggestions you want a bit of intelligence right right so as a software architect I drew this diagram uh B's hungry okay there's a user Bob they're like where should I eat and then the apps has to act like an expert and give him like Hey this place slaps um I know this is recorded and slaps will come out of uh colloquial use in about five minutes so so slaps means here this is great uh so yes yeah as opposed to so slaps is because it yeah it could it could be either way right so slaps is great right as opposed to this sucks in in this five minute in time yes uh until all of the cool kids decide that it's not the word to use no more or maybe they have decided and I don't know it yet who knows yeah perfect well look I mean this is a the one thing I liked about this when I saw it first time was you know we've all used similar apps for these sort of things kind of you know trying to find use Yelp or Google Maps or all of these other things to help us find places and you know uh they're they're they're messy they're just big long lists of things based on whatever you may have searched for not necessar an expert right which is what I'm uh trying to impress on us here is that you know the idea of keyword search um is is fine and was fine for an era uh before we we had that we had to employ humans like painstakingly predicting what you want and giving you constrained dropdowns or checkbox lists to say I want the restaurant that has a burger that is open that is blah and okay that's that's reasonable to to say aha you'll match exactly those things because you know a priori that this is these are things that people supposedly care about but they weren't expressing nuances right uh so there's trouble with keyword-based stuff which is it's very synonym driven uh meaning somebody has to compile uh the list of CN synonyms for certain things uh so a word like slaps or or uh awesome or uh I don't know whatever uh could could all kind of mean the same thing right it's a positive sentiment about something uh but we couldn't do this for the whole query for the whole language we we we used keyword matching and keyword matching relies on uh a prior knowing how to map certain tokens uh and then stemming um depending on your language in in English it's a it's a big deal uh you know being able to say these two words are the same you know octopus octopi uh horse is something um horses is something um you know uh so s um stemming would would make it so that the word horse or horses is the same but semantic semantic meaning doesn't always and if I say horse and I say seahorse you know there's two different animals don't live in the same realm at all um so so having having something that is beyond just a token matched um you know if I want to ride a horse uh is a seahorse ridable I don't know so so maybe few hundred of them might be yeah you a few hundred seahorses maybe you could do that right yeah maybe I don't know how trainable they are uh maybe they are I don't know indeed I digress yeah so so so the the reason I I I don't love the the idea of using search engines I think still search engines have their role and they're very controllable machines we we made very good search engines um the user ask a question yeah they allow that and the Machine does answer yes it does and it looks at your data meaning the data you fed into the search engine is the data that it's going to search over but it's not exactly using my language in other words all of us have been trained like in Google or in Bing or in whatever your search engine is to go in and say aha you know uh horse uh Nega you know minus sign C like horse but not seahorse or something like that but you know we we're we're kind of like trained to use its language it's not using my language it's not like hey man I'm like or like excuse me sir I would like to like it doesn't use my own language and my own way of thinking and saying things which means it doesn't understand me really no we're adopting and does response like an expert yeah we're adopting to how we know search engines work or have been adopting to how we know they work over the last 20 years right yeah we think we're training the dog the dog trained us to give it food whenever it looks at us a certain way so like are we communicating yes but we're communicating in their language not ours so it's it's a little weird yeah and and certainly it it doesn't respond like an expert because what it gives me back and that's my problem is I'm hungry I want food I want you to tell me what would match the experience that I'm describing and what you're giving me is like here's a list go and scroll through and read each one and try to understand why it came back and whether it really matched my query so so there's a issue of lack of trust it just give me a laundry list of things it thingss kind of matched most closely but it doesn't infer anything for for me it doesn't intelligently say aha this is what it is and give me in my language a reasoning of why I chose it so what I'm trying to do is reduce risk fatigue of having to scroll through results and tap and and go in I want to just get answer to my question that's kind of what I'm after it's it's a direct let go through a few more uh uh slides and let's see if if that kind of lays out uh um so to to do this this is where really I'm I'm uh going to use Rag and what what is rag rag is retrieval augmented generation uh so it's acronym and retrieval the r in rag means it's using my own data so uh we talked about pre-trained model I'm going to talk about it a little more let's leave that aside for a second put a inin in it and retrieval is the notion that I'm going to do a process where it's leveraging my own data augmented means that I'm going to do some prompt engineering I'm going to transform my query in a semantic way to be able to look for or look through or sift through my own data uh and then the generation is that with the own data that the augmentation the augmentation uh process will take some of my own data and shape it into a query to the llm the L large language model for it to then create the final answer so it's really kind of a pipeline um of saying okay let's let's do the retrieval the augmented in the generation uh part uh so what it looks like is a little more like this if we're digging into the architectural diagram where Bob says oh to the app oh where should I eat uh then that prompt uh gets uh sent to a embedding uh model uh and I get an embedding back we'll talk more about that and then with that embedding I go and query a vector search uh over my data so rather than doing keyword search I'm doing semantic search I'm doing Vector search uh and then I get back some of my data and with that data that I get at step five here I'm doing some prompt engineering packaging that data that I know is a response uh and transforming it into a query for the llm and saying hey given this now please distill this for me and give me the answer I want to read uh so I'm giving it to an llm and it creates a cision for me it and it generates a final answer and then that gets returned to the user MH so there are are several actors involved in here uh to to to be able to complete the task let me highlight though the rag right so the retrieval portion is really in rag is really that I'm taking the prompt I'm creating an embeding and I'm using this embedding which is just a vector to Vector search mhm yes yeah the augmented is the fact that given that search result from Vector search I am generating a a smart prompt for the large language model for the chat GPT of the world or vertex AI or whatever model you're using vertex is not a model vertex hosts models so whatever model I'm using with that and then finally the generation is that part of taking that engineered prompt feeding it to an llm getting the llm response uh that's the generation part so that's right very clear very clear yeah yeah um so what do the models really do the model is using that prompt uh and it is generating a completion so what the way models are built is they are mapping all of what they learned into an n-dimensional space and um a model is really when you give it a prompt it really says given that kind of prefix this kind of initial thing what is the most likely next token and token here means word so it says you know I went to the you know Bakery school work no not the work so it won't be work right I went to the you know mountains to the beach to the something right so a model learned a whole bunch of stuff and it never said saw I went to the work I went to work I never went to the work right so it's looking and frequency wise and otherwise it may see oh you know the most likely answer to I went to the is Beach M and then it says Ah Beach most likely and then maybe Park and then maybe you know concert and then maybe something else who knows uh so that's what models do really you you feed them something and they try to generate so the idea here is if I created a query that has the initial parts of you know I'm looking for a restaurant that really is instagrammable dishes then in all of what it learned about what instagrammable and things like that it is looking for tokens that it can complete aha I found this that and the other yes that's that's when you're augmenting then so you've done as you heardred the previous diagram you're augmenting what you're passing through into the llm for that proper final answer by giving it more context right right that makes sense yeah and and as we seen the more context the better I think people have heard the term prompt engineering over the last 18 months or more um so you know the more context and the more like we might get to see it now where you'll say you are an expert restaurant reviewer or something like that please return back extra yeah yeah we're um we're uh we're kind of on track as we're speaking on things but we may clarify a few things through the demo so um let me see if I can uh blast through these few and and we'll we'll see in the demo and maybe in the code even if we have time uh how how things are put together uh but I wanted to just touch on how models are built because we're really thinking of models as having like knowledge of any kind it it really is just mapping what it found in whatever it was trained on so models are trained on a bunch of text um that they found and it could be an article it could be a Q&A between you know systems that got recorded it could be books written it could be all kinds of stuff so the knowledge it Intimates is just the fact that there's a likely token after the previous token right it just kind of Intimates these things so it's able to kind of complete your sentence no matter where you are or go on and complete more sentences uh so it's important also when we pick models to pick models that are fit for our problem so if I if I I have a model that's been trained on on scientific papers uh I wouldn't ask it for slam poetry unless there's a lot of scientific papers on Slam poetry like there is some domain uh spec domain specific specificity about these things and uh some kind of interaction way that we as human expect so if I want a completion to sound like it's the right completion and I should have something that's been trained in in a similar way at very least understand my language it was trained on English Corpus and things like that yeah that makes sense it's a question we get all the time is how to choose the models it really depends on what you're trying to answer you know what what you're trying to produce at the end of the day yeah yeah um and the the the retrieval part which is really where I'm using mongodb Atlas is using what's called a vector search and a vector search is imagine all of these tokens we we don't really intimate the knowledge of you know the llm doesn't know physics or know anything it just you know knows that there's parts of words and things that it put together um and this is the most likely token the vector search is is is relying on the fact that in doing so in so doing when you train a model you're actually encoding everything into a vector a vector is just a sequence of numbers an array if you will and um whatever text came in it can map it to a vector and the important thing about that is that uh if I have a query I could transform it into a vector using the same engine that the model uh did and thereby say you know what if I can tag a piece of text and Digest it into a vector and I can tag my query and digest it into a vector I can compare these two vectors and if the meaning meaning the vector kind of you know got crunched into a vector that's really close from a um uh geomet geometrical uh comparison then it's likely about that it's likely semantically similar and if it is very different then it is not so this is really what Vector search is about about it uh in Vector search what we do is we encode the pieces of knowledge the text it could be images too by the way uh we encode those pieces of knowledge into vectors store them together in the database slap a vector index on them and then when we come with a query we transform the query into a vector and compare them against the vectors that already exist so it'é uma operação muito mecânica você sabe que é apenas matemática é como ei faça a distância uh então o próximo diagrama aqui é sobre o fato de que há maneiras diferentes de comparar vetores um você sabe que o vetor v aqui em verde é um determinado vetor vamos dizer e tem uma similaridade diferente com os outros vetores já existentes nos documentos ab e c e poderíamos compará-los sobre o ângulo entre eles uh, podemos compará-los com o significado do ponto final sobre onde o ponto está no final do tipo de seta uma coisa uh ou poderíamos fazer um produto pontual que é uh examinando uh normalizando o comprimento do vetor e uh e examinando o ângulo ao mesmo tempo então uh há diferentes maneiras de comparar vetores e qual você escolher uh deve corresponder à incorporação modelo que você escolheu, então isso é muito importante se eu tiver um modelo de incorporação que foi formado com cosseno, devo usar a similaridade de cosseno quando estiver definindo meu uh meu vetor no Atlas perfeita perfeita explicar talvez rapidamente e é difícil de entender fim porque estamos em 3 384 D espaços e talvez entendamos a quarta dimensão, mas o espaço n Nuri uh sim, então você conhece duas duas Dimensões aqui em um gráfico é meio fácil três dimensões Talvez eu possa espremer a quarta dimensão invisível para eu um uh, mas a dimensão n apenas significa que há mais e mais dimensões e essas são você sabe que essa é uma construção matemática, então a matemática em si não se limita apenas ao que vemos, uh, a razão pela qual a codificamos em vetores mais longos é porque ela permite mais nuances em um espaço maior, então visualize que estou codificando dois conceitos muito separados em um espaço unidimensional. pelo espaço de forma que as coisas que estão realmente próximas em significado estejam próximas e as coisas que estão realmente distantes estejam em outro lugar, mas no espaço dimensional final Eu tenho mais lugares para enfiar e colocar clusters de coisas que são meio que você conhece então as pessoas codificam em dimensões maiores do que duas ou três hm, na verdade, há muita matemática por trás disso e muitas pesquisas verificam que ter um vetor mais longo não necessariamente dá a você um modelo melhor, mas uh, mas há certas s só para chegar talvez a uma demonstração porque nós estamos meio que uh longo é uma boa conversa embora sim, por favor sim um então Vector Atlas Search o o tldr para isso é que você sabe que é um índice especializado ou banco de dados que permite que você ao Atlas Search forneceu um vetor, então estamos familiarizados com os mecanismos do Atlas Search que fornecemos a eles você conhece algumas palavras palavra-chave com alguns ands e ores entre elas e aspas e sinais negativos e sinais de mais um você conhece SQL uh você fornece termos e igualdade desigualdade ou reic Max, coisas como aquela mango que você dá a ela MQL um query com alguma correspondência bem aqui é também uma query com uma correspondência em em mango mas contra um índice de vetor e o índice de vetor está esperando em um vetor para ser dado a ele e ele dá a você quais documentos têm um vetor que está mais próximo dele isso é o que ele faz sim, bem, explica e, como eu disse no início, nós fizemos um ano ou quase um ano desde que lançamos o Vector Atlas Search lá fora e a verdade é que há muitos bancos de dados que lidam com o Vector Atlas Search, mas de uma perspectiva do MongoDB armazenamos as incorporações sobre as quais você está falando, Nuri, juntamente com seus dados operacionais existentes, para que você não faça nenhuma viagem de ida e volta extra ao criar em seus aplicativos de geração isso mesmo e isso é uh como se eu tivesse uma coleção aqui uh isso Armazenei minha avaliação do restaurante, então uma avaliação do restaurante é realmente ele tem quaisquer campos que eu tivesse nele de qualquer maneira, eu só tinha alguns dados sobre ele uh quem é o revisor e quando eles fizeram a avaliação e qual a classificação que eles deram e algum texto de o que eles realmente digitaram e então eu apenas para usar o Atlas Search tudo o que fez foi codificar o documento com um vetor representando este texto de revisão MH para que eu ainda possa usar esta coleção para o mesmo volume de trabalho oltp que fazia antes, se quiser mostrá-la ou manipulá-lo toda vez que eu re precisa atualizar sua revisão A atualização deste vetor é feita quase ao mesmo tempo e os vetores uh e o índice vetorial também serão atualizados automaticamente para eu pelo fato de que eu o escrevi mhm, então não preciso construir infraestrutura em torno de um feeder e um rastreador e um myob e tudo isso posso bordar tudo muito rapidamente uh usando um bem e offline ou uh incorporado em meu aplicativo ou em uh um modo de trigger uh sempre que eu esse direito acontecer trigger em ação que apenas reanexe um vetor e eu estou feito sim, deixe-me mostrar aqui porque nós estamos você sabe uh falando sobre Atlas a aparência é que, se eu tiver um banco de dados um vamos ver aqui então eu tenho um banco de dados e em uma coleção um na demonstração uh banco de dados I tem uma coleção de avaliações de restaurantes e há simplesmente Eu criei um índice do Atlas Search nele um e esse Atlas Search no índice uh é um vetor tipo de índice do Atlas Search então eu posso um eu posso ver a definição de índice que eu disse ei, crie-me um índice em um campo específico mhm mhm uh uh é um índice vetorial uh e estou usando similaridade de cosseno porque o modelo de incorporação que usei é cosseno uh e o número de dimensões que essa incorporação uh está usando e é isso que é Eu disse uh você sabe me dê um índice de algo sim isso é muito simples, muito claro e temos muitas pessoas familiarizadas com o Mong para serem desenvolvedores Centro onde a equipe de relações com desenvolvedores e outros publicam seu conteúdo um você encontrará muitos exemplos de construção de tipo de rasgo t tipos de aplicativos lá também e, como você disse, tiraremos o URL do repositório de você no final do fluxo também, colocaremos isso nos comentários ótimo demais um então sim então isso é Vector Atlas Search I vamos usar uh Atlas Atlas usa algo chamado a&n um que é diferente de KNN, então KNN é K vizinhos mais próximos a muito que você conhece o workhorse de cluster e similaridade no mundo do aprendizado de máquina ou AI é um vizinho uh mais próximo e eles diferem na precisão uh K&N exigiria que eu comparasse o vetor com todos os vetores no banco de dados e se você tiver um 100 documentos bem, você sabe que comparar 100 vezes não é grande coisa, mas se você tiver um íon bem que se torna bastante desajeitado e o desempenho uh pode sofrer, então Ann tenta resolvê-lo usando algo chamado mundo hierárquico navegável navegável pequeno é principalmente uma estrutura de árvore que divide o espaço uh n espaço bem bidimensional algum espaço dimensional em blocos e meio que faz um detalhamento, diz: oh, eu tenho o mundo inteiro e, em seguida, eu tenho continentes e, em seguida, tenho uh Estados ou algo assim ou países e então eu tenho códigos postais, para que você saiba que tem esse tipo de hierarquia de blocos onde você dizer ah, bem, esse vetor parece estar se referindo a esse continente, esse país e esse CEP e, em seguida, já estou cinco por quatro etapas já estou no nível do CEP e agora você sabe que não tenho isso muitos para comparar sim e é aproximado porque você pode imaginar que você sabe se estou procurando alguém dentro do meu bloco qualquer que seja a definição de bloco se estou no centro e estou dizendo que todos no meu bloco estão próximos para Mim se eu estiver na borda do bloco bem, adivinhe qual pode ser o próximo bloco tem algo mais próximo de Mim de uma perspectiva física, mas acontece de não estar neste bloco, então é onde a aproximação pode ocorrer e uh você sacrifica alguma precisão por velocidade e eficiência e se isso não for adequado para você, você precisará fazer técnica, mas para os usos mais práticos isso é ótimo isso funciona sim, bem há sempre essa compensação precisão velocidade eficiência Etc quando examinamos esse tipo de exemplo e sim Ei especialmente quando como você diz, os conjuntos de dados podem ser enormes, você conhece centenas de milhares, senão milhões, que você está tentando Atlas Search também, então certo, certo, e esse é o problema com o MongoDB normalmente, você sabe que pode, pode alimentar aplicativo de qualquer tamanho e apoiá-lo com [ __ ], você sabe, especialmente nos dias iniciais de qualquer inicialização que você não começa com muitos dados, mas a capacidade de crescer e escalonar é realmente o que buscamos e é isso que eu gostaria de ter um Atlas Search vetorial para meus documentos porque não preciso me preocupar em gerenciar isso separadamente e ter uma infraestrutura separada e fazer um montão de Cru apenas para chegar lá sim, não, esse é um ponto válido, obrigado por apontar isso o até o e a outra coisa também sobre ter seus dados operacionais ao lado do seu vetorizador seus dados incorporados é que você pode pré-filtrar você sabe, como diz em certos exemplos, poderíamos percorrer vários países ou regiões ou algo parecido que permite que você para executar um essencialmente sua consulta você está incorporando consulta em um grupo muito menor de dados também então está certo isso mesmo sim então essa é realmente a vantagem de usar um robusto Atlas Search que não faz apenas vetor comparações ou ou uh ou a&n, mas ele tem a capacidade de pré-filtrar e tornar a quantidade de IO necessária ainda menor uh e você sabe que o excesso de velocidade tem tudo a ver com IO perfeita perfeita uh então, sim, então Vamos uh apenas dar uma olhada em uma rápida demonstração de como ele se parece e talvez AI Python para o código E-mail de comida Eu gostaria que você notasse aqui que não estou usando os termos do mecanismo de pesquisa do Atlas. então é computação e incorporação para esta query MH uh e então está criando uma query Atlas MQL para recuperar depois de recuperar o documento que corresponde ao melhor, então ele o entrega ao M MH e diz dado este documento que compus por favor sabe gerar uma recomendações para me que é isso uh dado esse fluxo talvez eu possa um vejamos aqui eu preciso do uh VS Code então você sabe que essa coisa toda é apenas um script um grupo de Python import uh que eu bootstrap com uma conexão para Atlas e assim por diante defini algumas funções de ajuda apenas para reduzir a quantidade de código que temos que ver uh, mas essencialmente estamos começando com algo chamado Transformador de frases e está usando um m de incorporação específico odel um e este era um trem cosseno então é esse que estou usando mhm uh e depois com um Transformer aceito a pergunta do usuário que foi ei, eu preciso de um restaurante com o melhor Pokey da região e ele só o codifica em um vetor e o transforma em uma lista Python porque é assim que eu gostaria de ver, então essa é a incorporação que obtive desse modo que incorporação Estou dando a algo para formatar uma query MQL então a query MQL um é não mais do que apenas preencher um modelo Estou fazendo uma estrutura de agregação de linguagem de query mango MQL uh Estou criando um vetor Atlas Search query uh tem que iniciar o pipeline começa com um vetor Atlas Search e eu estou incorporando a query é só isso e estou dizendo ei, você sabe me buscar até 180 resultados e isso e tudo, mas entre eles já estou fazendo um pouco mais de processamento estou pegando a revisão real o texto da revisão Veja e, em seguida, estou realmente agregando e dissendo Ei, preciso somar as pontuações de cada avaliação individual e o restante em torno dessa a maioria das avaliações relevantes para a minha query é nessa que eu gostaria de me concentrar bem, faz sentido sim, então ou seja, para reduzir a rolagem.Quero que ela me dê um resultado definitivo, então preciso escolher o que torna um resultado definitivo. Pude avaliar os resultados que ela me deu de diferentes maneiras. Escolhi essa explicação sim, é tão boa, considerando que uh então formato uma query MQL que é o pipeline e um e então estou usando um cliente [ __ ] uh porque preciso falar com [ __ ] dado o UR do Atlas e nessa collection eu apenas faço uma agregação com essa query de pipeline então isso é uma recuperação Recebo um documento Pego o primeiro Subzero um, então gostaria de criar um prompt llm, então a maneira como faço isso é pegar o documento que obtive e obter as avaliações dele Pego o primeiras visualizações até 10 de MH e eu apenas me junto a ele na linha b linha y I é uma engenharia de prompt muito simples aqui, mas adiciono este elemento aqui Digo resumir essas recomendações para me dizer por que devo Go ao restaurante de acordo com meus critérios então realmente é aqui que estou dizendo Ei, preciso que você raciocinar I quiser que você seja amigável e fale meu idioma e me diga, dado essas avaliações que eu reconheço que pertencem a Um restaurante que eu reconheço, na verdade, é uma das avaliações que teve pontuação alta dado isso, diga-me se devo realmente considerar ir lá sim sim o que é limpo, ele volta aos dialetos que você tinha anteriormente, você sabe onde está, você sabe colocar um contexto em torno da query, para que o llm volte com uma resposta adequada em meu próprio idioma exatamente sim uh uh e então você sabe então o resposta llm e o llm aqui uh por acaso é um Vertex, então tenho algumas coisas em torno de alimentar um llm que tem a ver com temperatura, como quão preciso versus experimentado SL atordoado eu permito que seja um e coisas assim, mas isso é que você sabe tipo de dependendo de llm uh, você terá que fazer experiências com isso um uh e estou usando um modelo específico que mencionei verx AI em si não é um modelo, é apenas uma hospedagem para modelos é uma framework para uh ter modelos como um serviço uh então, estou usando um modelo uh pré-treinado que parece ser modelado em corpuses do tipo Perguntas e Respostas, o que significa que esse tipo de pergunta e esperar um resultado é o seu caminho uh, então estou usando esse versus outras opções mas sim, sim, isso faz sentido, então, dado um modelo, eu apenas disse: ei, preveja para eu, por favor, essa é a parte de conclusão correta. é você sabe 80 100 linhas ímpares de código Python para fazer o que você acabou de fazer aqui, certo IU, talvez seja mais fácil expor uma função e coisas, mas essas são apenas para fins dáticos, se eu apenas apagar, desfocar tudo o que precisa poderia ser menos de 100 linhas de código e se eu usar um resumo, uma abstração superior, uma cadeia de lang ou algo assim, será ainda menos potencial, mas eu gostaria de procurar coisas, então isso me permite manipular um pouco as coisas mais facilmente perfeita sim não super clara ótima então sim, eis que são sempre os exemplos mais simples e limpos que são mais ilustrativos, então Nuri neste caso e temos alguns comentários chegando no chat em torno disso também para que possamos dar uma olhada em todas as pessoas com outras perguntas e obrigado por todos que se juntaram de todos os lugares, do Quênia, das Filipi, do México, do Brasil e etc., também foi ótimo ver, então, por favor, restaram alguns minutos qualquer outra pergunta chegar em Nuri como você está para mais algumas perguntas se eu puder interromper de qualquer forma, bem, nós nós, Sarah, espero ser o pronome de acordo com o seu nome corretamente de qualquer maneira e darei uma pequena tentativa nisto, mas gostaria de saber a sua parecer também um a adaptabilidade do rasgo Suponha que, no contexto disso, sim, seja um cenário de AI em constante mudança, mas você conhe muito mais rápido e muito mais lançamentos o tempo todo também, mas ainda assim a maioria dos llms disponíveis, se nem todos forem formados em informações disponíveis publicamente, não são formados em nada que possa ser privado para uma empresa ou para um organização também para que, no contexto do fato de que 80% dos dados disponíveis estão em formatos não estruturados, o que eu significa com isso, significa que você conhece documentos PDF, tudo que você pode imaginar é um formato não estruturado, até imagens e vídeos Etc também, então o app está em mecanismo e ferramenta de mecanismo e ferramenta credíveis e poderosas para permitir que você consulte o que pode ser privado e o que pode ser muito não estruturado e aumentar a query que você faz com o tipo de voz natural llms, tão próximo quanto nurro nos mostra isso também e então eu acha que o futuro do Rag e dos aplicativos de ras é Enorme Nuri um sim, eu estaria atrás de tudo o que você disse que eu adicionaria U talvez geeky uh observação que é uh ras uh, como shane salientou é uma arquitetura, não um llm e não um role de modelo é apenas a noção de construir esse pipeline mostrei a você que é tudo agora qual é o futuro do rasgo o futuro é radiante, pois neste método de pipeline isso chegou para ficar é útil porque seus dados são privados porque os dados estão mudando rapidamente porque porque porque está a desenvolver-se em si sim, essa arquitetura está realmente a desenvolver-se para uh ao descobrir que as pessoas diz aha em vez de usar um modelo completamente genérico como chat GPT ou algo assim ou uh qualquer que seja, baixar llama ou seja o que for que, em vez de fazer isso, vamos publicar Trin o modelo, vamos ajustar o modelo, então agora as pessoas estão fazendo ajuste fino em cima de um modelo de ajuste fino que eles ajustam ocasionalmente, mas mantêm o aspecto de fragmento rapidamente mudando ou mudando informações privadas ainda que aquele pedaço de uh Máquinas ainda por perto então uh. então as pessoas estão começando a fazer isso uh e, em seguida, o próprio rasgo é muito aberto em termos de um uh sua Evolução porque você pode mudar para usar um modelo diferente então uh I não estou preso no tempo é tipo oh meu deus oh aquele hate antigo não se eles atualizarem o modelo atualizarem a versão de um modelo ou se houver um modelo que tenha melhor desempenho para eu boom eu o mudo não, não, uh, então, acha que é uma maneira muito flexível e poderosa de lidar com as coisas sim,excelente e um acompanhamento de Saraht sobre isso também está em uma escala empresarial é fácil adicionar ou dimensionar o banco de dados vetorial com novos dados uma vez que a implementação de fragmentos já tenha sido movida para produção, bem, Nuri tocou nisso um pouco então sim, absolutamente sim, um retumbante sim é para isso que ela foi feita sim o como eu disse na demonstração uma vez que seu documento seja qual for a base que você está aprendendo ou quaisquer que sejam os documentos uh você pode trigger a mudança ao documento em si para apenas recodificá-lo e atualizá-lo e o Atlas Vector automaticamente o pega uh então, depois que você cria um índice vetorial, ele observa esses documentos e atualizará o índice para você automaticamente nos backstunds sem trabalho extra para você então é perfeitamente adequado para isso sim sim e é uma maneira ideal de manter tudo atualizado tudo atual então isso é ótimo qualquer outra pergunta nós temos alguns minutos para Go Nuri Suponha que uma das perguntas das mudanças que eu gostaria de aprender com meus convidados é como você se mantém atualizado como você mantém o controle das mudanças que estão ocorrendo nesse espaço que eles abordaram antes que ele esteja desenvolvendo rapidamente onde você Go para saber mais ou são blogs de podcasts o que você faz umm meu modo de aprendizado preferido é tentar uh o que significa como eu vejo blogs ou uh podcasts ou artigos do Centro de Desenvolvimento ou qualquer outra coisa um uh então eu gostaria de uh Go e tentar fazer algumas experiências I significa que isso nasceu de um experimento um então então eu gostaria de aprender por exemplos um e uh O MongoDB Dev Center tem um monte de coisas sobre isso e uh o que eu vi e não curto muito ou não aprenderam muito e aprenderam em Meu próprio, pesquisando mais e apenas sim, tudo bem, aprenda fazendo e começando a arregaçar as Mangas e ficar sob o capô e, enquanto Falo em conferências e Falo sobre isso, Falo com pessoas que fazem isso e então você sabe então aprendo e me exponha a mais ideias e mais nuances um Encontre mais problemas que as pessoas possam ter e isso ajuda a resolver e cimentar minha compreensão das coisas sim, ótimo, receba uma do DD no Youtube enquanto assistia à demonstração e parei para pensar se transformamos isso em um produto, o resultado do texto talvez não seja o formato ideal para um usuário que quer encontrar um restaurante certo Estou tentando descobrir o que você vai conseguir sim, eu saiba que você diz o que isso gera no final é uma recomendações que é texto você quer enviar uma mensagem de texto faça um discurso para ele e tenha uma voz sintética para dar um oi, acha que você deve Go para o que você precisa, com certeza, Go em frente se quiser que ele faça um gráfico com base nele, tudo bem se você quiser apenas retornar no final do dia o nome de o restaurante então eu não precisei gerar nenhum texto com o llm o vetor Atlas Search por si só pode ser suficiente e isso é algo a se entender como os blocos de construção de Rag são uma incorporação com o Vector Atlas Search uh e a parte llm se se tudo que você precisa é recuperar os resultados e você tem um maneira diferente de apresentá-los ou então se você sabe o que nós fazem no software o dia todo qual é o requisito oh, você quer fazer assim se tivesse na sua demonstração talvez tivéssemos passado por isso um pouco rápido demais se você estivesse retornando o restaurante com a melhor classificação e então executando todas as avaliações desse restaurante na melhor classificação para conseguir isso resumo de por que era o restaurante recomendado Eu era sim, estava colhendo as avaliações mais bem classificadas desse restaurante para alimenta-lo com o llm sob a teoria de que, se essas avaliações são muito adequadas à minha consulta, então esta é realmente a melhor base porque sim, um rest query Perguntava sobre o Pokey sobre a qualidade da comida sobre você conhece a melhor comida uh ou algo assim uh recuperando e gerando o melhor que geraria uma resposta estranha que é como oh, bem, este é um restaurante top, mas o gar você sabe que não é sobre o que eu perguntava sim e e e-mail muito ruim algumas avaliações não têm nada a ver com a comida pode ser sobre o estacionamento pode ser sobre a temperatura do restaurante não a comida e você sabe No momento, estou tentando agendar umas férias de verão para minha família e estou enjoando de ler avaliações de hotéis e lugares para ficar porque eles são muito variáveis, enquanto que se você usar algo no resumo como fez um, você sabe que isso pode delinear o você conhece os outliers como foram e dar a você mais informações concretas porque estamos todos um pouco sem tempo queremos obter o resumo geral e é aqui que você sabe, eu gostaria de dizer que você sabe que não SQL não significa não DBA uh AI como serviço não quer sabe que essas são perguntas para responder corretamente uh aquelas que são relevantes para a minha query e se eu escolher apenas a relevante para a minha query, talvez as outras coisas o superem tanto que eu não devesse Go até lá corretamente, então uh uma operação de ciência de dados adequada seria para observar o conjunto de dados em geral comparar essas comparações executar executar queries de usuários reais que entram veja os resultados comparar a classificação por estrelas com as avaliações talvez eu esteja recebendo avaliações otimistas realmente recomendando porque são as mais relevantes para a minha consulta mas estrelas avaliações que são muito baixas, posso jogar com o em e eu poderia tentar traçar e ajustar meu resultado ou minha alimentação ou minha engenharia de prompt para produzir algo que se baseie nisso e que é de novo três não acha que apenas oh Escrevi um pouco de Python Bum, terminei um projeto. Não, isso é algo que precisamos tomar conta e realmente entender e desenvolver também uh, não é uma vez. ex., grande e eu saiba que você o leu no VS Code na tela, mas há o endereço e eu só vamos colocá-lo nos comentários ou no URL do repositório H para isso, Nuri, presumi que você esteja aberto a pessoas que bifurcam essa clonagem que estão andando com ela de volta talvez criando algum relações públicas para você Etc também sim OSS sim absolutamente perfeita deixe-me colocar isso nos comentários também para que as pessoas possam pegá-los um, estamos prestes a encerrar up quaisquer palavras finais que você mencionou que você é um fazedor, então você tocou e você começou e você curte arregaçar as luva qualquer palavra final para aqueles que podem se ver inspiradas pelo que você mostrava aqui hoje agora Nuri uh que está aqui para ficar e que os resultados que ele pode produzir são realmente muito interessantes, parece que vale a pena o tempo sim, é ótimo ouvir, foi um Prazer ter você na nuvem conecte-se Comgo, Nuri é sempre um Prazer para conversar com você uh sequência Sábado é seu próximo evento e se você aodb eventos chegarem em seu futuro também uh eu poderia estar em alguns dos dias de desenvolvimento uh em torno de uh Califórnia um ou da costa oeste, vamos ver e uh, eu tenho a conferência de desenvolvedores kcdc em Kasnaphyllum. Estarei falando sobre uh, algumas coisas relacionadas a mango. tem um encontrar na próxima semana sim olhe meu olhe eu no LinkedIn você verá essas coisas sim, excelentes e obrigado por aqueles que fizeram as perguntas e pelos comentários gentis no final do programa, agradecemos como eu disse que transmitiremos muito regularmente esse programa uh geralmente era às quintas-feiras nos últimos nove 10 meses, estamos mudando para as terças-feiras a partir da próxima semana, então ligue-se para encontrar eventos uh listados em nosso LinkedIn e em nossa página do Youtube também para qualquer um desse tipo de conteúdo e qualquer uma das outras demos também Go para o desenvolvedor do mb.com que o colocará em nosso centro de programadores e, como sempre, se quiser interagir com nossa comunidade do MongoDB Go para a comunidade do MongoDB um e você encontrará nossos fóruns lá são fortemente trafegados por nossos usuários da comunidade mais ampla por nossos engenheiros e por nossa equipe de relações com desenvolvedores também e, como mencionamos lá, realizamos muitos eventos e temos nossa série de eventos locais que estão em 23 cidades ao redor do global, provavelmente fizemos cerca de nove ou 10 Aposto k ainda há algumas cidades para Go , mas se você for aos eventos do Mong Go , encontrará os detalhes deles. eventos locais e outros eventos em que o MongoDB está partici você criou e como ele foi criado e nos mostrando sob o capô o código dos clusters de volta a um MB o documento em que você tinha tudo lá foi super claro e espero que nosso público e visualizadores também curtam então obrigada mais uma vez obrigado, shane, foi um grande deleite e a todos os nossos telespectadores, obrigado por participar, mantenha-se atualizado no Youtube e LinkedIn do MongoDB para outros eventos e programas como esse, mas, por enquanto, para me juntando-se a nós de novo cuide-se bem boa sorte