4 ms·
Why do people need LangChain or AutoChain? I don’t really get it in the first place. Genuinely want to get more information. It seems to me that this can be ea
by EGreg 3y ago
Why do people need LangChain or AutoChain? I don’t really get it in the first place. Genuinely want to get more information.
It seems to me that this can be easily added ad-hoc by programmers in their projects. But the biggest reason I see may be standardization of some kind? For interoperable building blocks maybe
- supermdguy 3y agoI used it to prototype an app, and it was nice to be able to get started quickly without worrying about writing prompts or writing a vector store integration. But once I settled on the components I was using it made more sense to use a custom implementation.
- yilu331 3y agoexactly, i found the same thing which motivated me to create a lightweight version of it for rapid iteration. There are a lot of customizations i found needed when i try to wrap a practical prototype for LLM agent
- minimaxir 3y agoRelevant discussion: https://news.ycombinator.com/item?id=36725982 https://news.ycombinator.com/item?id=36725982
- yilu331 3y agogreat discussion. there are a lot of problems with LangChain for sure. hopefully we are trying to make it easier for exploring different ideas
- reallymental 3y agoLangChain is just too much, personal solutions are great, until you need to compare metrics or methodologies of prompt generation. Then the onus is on these n-parties who are sharing their resources to ensure that all of them used the same templates, they were generated the same way, with the only diff being the models these prompts were run on. So maybe a simpler library like Microsoft's Guidance (https://github.com/microsoft/guidance https://github.com/microsoft/guidance)? It does this really well. Also LangChain has a lot of integrations, that just pop up as soon as new API for anything LLM pops up, so that helps with new user onboarding as well.
- msp26 3y agoI wouldn't rely on guidance. I've been waiting for them to approve a commit for something as basic as token counts for OAI models for weeks now. It's just not actively developed enough for serious use cases.
- reallymental 3y agoI wouldn't count anything out as of yet, the trend is usually that people move towards simpler tools that are also widely used by others. Kind of a chicken-and-egg problem (to be widely used, it helps to be simple, but not all simple-to-use products make it to being widely used). TensorFlow vs PyTorch anyone? Now, which will be more likely to be widely adopted? No one knows, just keep using both, learning both linguistics and hopefully one of them gets enough traction and all your effort put into building something with these two doesn't go to waste, fingers crossed.
- msp26 3y agoI do have some guidance code (running on a more universal wrapper I made for LLMs) sitting in my prompts directory. I'm not going to throw it out but I don't see the point in maintaining it.
- kmod 3y agoSame reason javascript needs an is-even library
- drittich 3y agoAnd a cant-even library.
- jondwillis 3y agoThis has been discussed ad-nauseum in the comment section of anything pertaining to LangChain over the past few weeks or couple of months. It’s simple: a bit of cargo culting and the real advantage that LangChain provides in its interoperability with various other useful systems.
- yilu331 3y agowith openai function calling, it is definitely getting easier and easier to build llm agent into a prototype. There are a few benefits of using AutoChain. 1) get started easily; plug and play different ideas before building into a product 2) AutoChain introduces a novel evaluation framework for evaluating LLM agent's ability to perform multi-turn conversation under different user scenarios. In addition, when it comes to prototyping for a specific use case, we found it is often more than just calling the model but also the orchestration process matters, for example, when should LLM agent stop answering questions, fix input argument, ask a custom clarifying questions and more. Hope AutoChain makes your exploration easier and more robust!
- J_Shelby_J 3y agoI use Langchain for the slack/discord bots I built for my current company. Langchain is a swiss army knife of tools. And while that can be a good thing, it's mostly a bad thing when you're trying to build something for production. It's also not very flexible... when you're trying to do anything beyond the pre-built stuff, you have to edit the package itself... which means maintaining your own forked version or submitting a PR with your changes. For example, I improved upon the main text splitter Langchain recommends (https://github.com/ShelbyJenkins/langchain/blob/ca14d3028a579c127ea3bf8e4169e67d110b595b/langchain/text_splitter.py#L1005 https://github.com/ShelbyJenkins/langchain/blob/ca14d3028a57...), but I just haven't gotten around to doing everything required for a PR to add the feature (tests, docs, notebooks). So now I have two repos to maintain... But I also really don't want to take the time to set up a web scraper for a dozen different document sources when Langchain has tools that will work with a minimal amount of tweaking. So, I'm happy to use it for things like that, and happy to recommend it for it's community built pocket-knife tools!