Here is my use case. We have hundreds of clients who each have dozens of videos on our platform. Videos are grouped in collections. For each video we have structured content (think of it like a complex mashup of transcript + other info). I would like to be able to send the API a group of 13 documents, grouped into a collection called "User123_collection2" or whatever. And then run natural language queries against that through an LLM.
A. Do I understand correctly that you allow to send and organize documents programmatically? Are there any length restrictions?
B. In your demo, Vellum simply grabs the top 3 most relevant snippets (and those seem to be relatively short snippets). Can this be customized (longer snippets and more of them?)
C. Can I get the "sources" cited with the answer? Let's say I run a query on these snippets such as the ones in your demo. (An "end user" kind of question). Similar to how Bing's chatbot will give the links to the pages used to build the answer, I'd like the response I get to tell me it comes from Document 7 in collection "User123_collection2". Even better if I can get the response to tell me where in the document (otherwise I'd have to split my documents into smaller pieces when uploading).
D. Do you offer any guarantees of privacy of, not only the data, but also the prompts? I think that these prompts might be one of the valuable "trade secrets" for startups who want to add LLM features. If the prompt is leaked publicly or to another Vellum customer/stakeholder then it makes the feature replicable.
E. How much latency does this additional layer tack onto typical response times? If I was going to make an API request to OpenAI, how much longer does my app wait for the response?
I'm impressed by where you're going. It's a brilliant idea and I hope we get to be a customer, rather than build the whole LangChain/GPT-Index idea we were going to run with up until I read your post :)