RAG or function calling to build a chatbot on proprietary data?

I want to build a chatbot on my proprietary data like gmail, google drive, etc.

Should I embed and index all the content on a vector store and use RAG when a user chats with the chatbot? I think this is the recommended way 1 year ago.

Now that function calling is available. I think it’s more sensible and simplistic approach. But I am wondering if there is something I am missing. Is function calling right application for this?

What do you guys think? Please share some tips. Thanks.

welcome aboard Nithur

I would say it depends on your usecases. For example, if you want to call a specific action based on a user’s input (like sending an email, uploading something into google drive, etc.), function calling is obviously needed

But… if you just want to use specific data sets, & have long conversations, then i would strongly recommend assistants API with file searches

Try it on the playground a few times, and see if a mix and match will help

Good luck