For context I prefer to use pure Python. I think frameworks like crew and autogen are too limiting. Langchain is annoyingly over bloated and made super confusing (just check on reddit).
I use Python, pydantic for data validation and vector dbs. I use a combo of openai and open source models for the LLM. It seems to work well so far and I can control what I want the bot to do