|
|
|
|
|
by CharlesW
1055 days ago
|
|
I think you've explained the "LangChain alternative" motivation pretty well, but as someone who hasn't yet worked with LLMs from a development perspective, what are the primary benefits of a framework like this? Does the framework help with building the vector store? If not, are there complementary frameworks you use and/or would recommend? I'd think one would want something that watches a collection of source documents (with lots of supported formats) and updates the vector store as those change. One of the primary benefits of a framework seems to be to act as an abstraction for LLMs and vector stores. I see LLMFlows supports Pinecone. Does it support others (e.g. pgvector)? Does it support LLMs other than OpenAI LLMs? |
|
Building apps with LLMs is fundamentally an exercise of manipulating strings and making API calls (Both LLM and vector db APIs). When apps are more complex and start including multiple LLM calls and prompts that can change dynamically some additional challenges start to emerge. e.g figuring out:
- When was a particular LLM called?
- How much time did it take?
- What were the input variables?
- What did the prompt look like?
- What was the exact configuration of each LLM?
- How many times did we retry the request?
- What was the raw data the API returned?
- What was exactly returned from the vector store and fed into an LLM?
- How many tokens were used?
- What was the final result for each call?
- How do you make API calls in parallel?
I think a framework like this should provide abstractions that allow people to focus on the important part like prompt engineering and productionizing the app and worry less about how to figure out stuff like this.
Right now LLMFlows supports only OpenAI models and Pinecone but I am working on classes for Chroma and Weaviate. And I would like to also provide support for Bard and Claude once I get access.