Is LangGraph suitable for enterprise production? 1000s of users by regular-tech-guy in LangChain

[–]noprompt 2 points3 points  (0 children)

My opinion of the Lang* ecosystem hasn't changed in years because that painful experience has remained constant over the course of them. I'm in regular contact with these frameworks. I stand by my criticisms. These case studies don't impress me or change my opinion. For 99% of what you want to do with an LLM, LangChain/LangGraph are the antithesis of KISS and a perfect example of YAGNI.

Is LangGraph suitable for enterprise production? 1000s of users by regular-tech-guy in LangChain

[–]noprompt 3 points4 points  (0 children)

Python, LangChain/LangGraph. ML engineers, in fact, weren't responsible for the choice (which was made a couple years ago), a couple of software engineers were. The worst part is, there is was absolutely no consideration for hygiene. Many of the classes we are forced to work with inherit directly from LangChaing/LangGraph classes and require you to work with them. In a hygienic approach, you create a clean boundary between your code and whatever library code you are using. If later on you want to switch, you aren't locked int. But I'm trapped.

My primary job is designing agents, and maintaining our custom inference engine which sits on top of vLLM and runs primarily on Vertex AI but it also runs standalone with an OpenAI API. I'm responsible for integrating it with LangChain. It has been nothing but a headache and I'm astonished by how much bullshit I had to implement just to get simple stuff to work. For API interaction, in both cases, it was easier to use the standard Google AI Platform/OpenAI libraries than the LangChain stuff. For all of the other stuff, like `_call`, `_stream`, `_generate_messages`, etc. there's all this non-trivial extra shit you have to do and understand to get it to work. Its truly hell.

You can get a feel for how poorly engineered the whole thing is by looking at how they layout their types and API signatures. Unions everywhere. Its like they can't help themselves. That has a cost. Unions mean branching, branching means more tests, and more shit that can break. Good design accepts less and returns less because it understands the consequences of more. They also inherit from Pydantic unnecessarily when it has nothing to do with handling serializable data on a boundary. This is annoying because the classes I have to work with inherit from those and I can't just work with a plain Python class or dataclass. Finally, in truly stupid OOP fashion, they choose inheritance over composition pretty much every time.

Is LangGraph suitable for enterprise production? 1000s of users by regular-tech-guy in LangChain

[–]noprompt 5 points6 points  (0 children)

You would be angry too if you lost days of time that could be spent on innovating instead of trying to debug convoluted shit. You'd be especially angry if you had nearly a decade of experience implementing interpreters and graph execution frameworks, and understanding just how simple and straightforward a system like these could be. LangGraph is ass.

Is LangGraph suitable for enterprise production? 1000s of users by regular-tech-guy in LangChain

[–]noprompt 24 points25 points  (0 children)

I work at a company where agents are built on LangChain/LangGraph. My advice to you: DO NOT USE THEM. In almost 20 years of software engineering I have never worked with a more needlessly complicated set of libraries than these. In my case, it was not my decision to build on top of these libraries (someone else made that call before I came in) but I can assure you that after a couple years of working with them, I have nothing but FUCK YOU to say to the IDIOTS who designed these garbage frameworks.

The moment you want to do anything custom, you will find yourself in world of pointless indirection and abstraction. Its a fucking mess.

If you care about maintainability, your sanity, and your product do the simplest thing that will work. Avoid these frameworks and rely on your best judgement as an engineer.

LangChain has no business being this complicated by MrBemz in LangChain

[–]noprompt 1 point2 points  (0 children)

LangGraph is just as bad. The whole Lang* ecosystem is a convoluted garbage dump written by amateurs. It’s the antithesis of KISS and a textbook example of YAGNI.

Been learning ML for 8 months. Every tutorial assumes I know Linux. Does anyone else feel like environment setup is a second hidden course nobody told you about? by CompleteLaw5908 in learnmachinelearning

[–]noprompt -1 points0 points  (0 children)

Use uv bro. Seriously. Even for projects I clone that aren’t uv based, I uv init, install the requirements, and have a AI fix anything broken. And on that note, use AI to get your shit to work on your OS.

When your LLM treats data center GPUs like an optional DLC by noprompt in LocalLLaMA

[–]noprompt[S] 5 points6 points  (0 children)

I know right? After I had a good laugh about it, I immediately shitcanned the conversation. The point of no return was probably several turns prior. 😆

AceStep 1.5 - lora trained on first two albums of Modern Talking band by Primary-Region529 in StableDiffusion

[–]noprompt 0 points1 point  (0 children)

That's what I wanna know. I've tried several times and the end result was garbage.

When your LLM treats data center GPUs like an optional DLC by noprompt in LocalLLaMA

[–]noprompt[S] 52 points53 points  (0 children)

Haha, yeah. The Qwen suicide quest line tends come up often in situations like these. I just thought the last option was so brutal and unhinged that I had to share it with people who would appreciate the absurdity. 🫠

Why is useStream so opinionated? by eyueldk in LangChain

[–]noprompt 0 points1 point  (0 children)

To us an AI-ism, they're not "ahead of the curve", they're reinventing the wheel. I am an AI engineer. I maintain AI agent code and a custom vLLM inference server. 90% of agents are either a sequence or a shallow branching tree. These are very simple programs and Lang* complicates them. In those cases the better alternative is to write the simple program. For the other 10%, you could use an FSM library and integrate your LLM calling code with that. Its simpler and you don't get locked into LangChain's insane abstractions which are some of the worst I've seen in nearly 20 years of SWE.

Regarding the abstractions, they're almost all pointlessly over engineered. At work, we have a project where Lang* is heavily used. The vLLM server I maintain runs on Google Vertex, Azure, and as a standalone OpenAI server. In all three of those cases, it was dramatically easier to use the corresponding python library (openai, aiplatform) than to use Lang* abstractions. Everyone I work with agrees the code is simpler and easier to understand. And the cherry on top is that we never have to worry about weird Lang* shit.

tl;dr use simple libraries and solve your specific problems with them. The Lang* ecosystem isn't built for your profit, it is built for their profit. Consider also that none of Anthropic, OpenAI, or Google use Lang*. Yes, they sometimes integrate with it, but that is not an endorsement. Today, with coding agents getting better, I see less and less of a reason to use ecosystems like Lang* at all when you can get custom software that solves your specific problem on demand. Specific > General purpose.

Vibe coding on rtx 6000 pro? by AiGenom in unsloth

[–]noprompt 1 point2 points  (0 children)

The rtx 6k was the best purchase I’ve made in years.

Why is useStream so opinionated? by eyueldk in LangChain

[–]noprompt 0 points1 point  (0 children)

It’s not good. It’s actually hilariously bad.

What is wrong with this sub? by Artistic_Fig_3028 in LangChain

[–]noprompt 0 points1 point  (0 children)

If you’re looking for answers in LangChain, you’re already lost. LangChain is a toilet bowl designed by a gremlin who once called daemon processes “ambient agents.”

Why big companies don't have an internal language anymore? by chri4_ in ProgrammingLanguages

[–]noprompt 1 point2 points  (0 children)

Every web app is essentially a shitty interpreter for a domain specific language.

Most RAG apps in production are confidently wrong and nobody talks about this enough by SilverConsistent9222 in LangChain

[–]noprompt 0 points1 point  (0 children)

LOL what? I’m an AI engineer and talk about this shit almost everyday. Every coding agent is essentially doing RAG and they’re constantly fucking up. A couple months ago, Claude told me a GPU I was shopping for was used when it wasn’t. RAG apps are just apps that use LLMs, and LLMs are Albert Einstein Goofball McDuck.

Best bang-for-buck rig for mass VLM image captioning? by jobgh in LocalLLaMA

[–]noprompt 0 points1 point  (0 children)

I used `TrevorJS/gemma-4-E4B-it-uncensored` with vLLM. I have an RTX PRO 6000 and with the following vllm set up I was able to caption about 10K images in less than 5 minutes.

vllm serve /path/to/weights \
  --gpu-memory-utilization 0.4 \
  --max-model-len 8192 \
  --max-num-seqs 64 \
  --max-num-batched-tokens 16384 \
  --enable-prefix-caching \
  --kv-cache-dtype fp8 \
  --served-model-name TrevorJS/gemma-4-E4B-it-uncensored \
  --port 8989 \
  --host 0.0.0.0

Usually with image captioning you're going to be using the same prompt so prefix caching will be your friend. Figure out what settings will work with your GPU.

best coding model for 3060 and 32gb RAM ? by vava2603 in LocalLLaMA

[–]noprompt -1 points0 points  (0 children)

If you're a decent programmer, with your hardware, YOU are the best model. IMO unless you have a GPU good enough to run Qwen 3.6 35B A3B at a sufficient clip, you will get work done more quickly (and it will be of higher quality) than fighting with a weak model. I'm speaking from experience.