JoshuaC215 / agent-service-toolkit

Full toolkit for running an AI agent service built with LangGraph, FastAPI and Streamlit
https://agent-service-toolkit.streamlit.app
MIT License
232 stars 39 forks source link

Add pyproject.toml support #13

Open 3x10RaiseTo8 opened 3 weeks ago

3x10RaiseTo8 commented 3 weeks ago

Here is the owner's comment. I messed up with the renaming and deleting branches, oops.

@JoshuaC215, I have couple of questions.

  1. Why not use the latest Pydantic as they already maintain v1 namespace in v2 package? During my initial try, uv was getting stuck since LangSmith (dependency by langchain_community) depends on Pydantic v2 and FastAPI <0.100 depends on Pydantic v1. Its a mess to say the least. But as long as the application is running fine, its alright, right?
  2. Above raises a question that why we require FastAPI to be <0.100. I have tested in my personal projects that as long as you stick to v1 namespace, the project works fine.
  3. Can you share a bit more about python <3.12.4 requirement?
  4. Can you share why you pinned minor versions most of the packages?
JoshuaC215 commented 2 weeks ago

I took a pass at this and was having trouble due to the issues with the langchain dependencies + pydantic + fastapi. I think some of this will be resolved with langchain v0.3 which is supposed to release fairly soon. This is also the cause for the questions you raised. Check out the issues linked in the comments in requirements.txt

May spend some more time on it if I get spare time but it might be on the back burner for a few weeks until the langchain v0.3. I have a few agent improvements in the works so that may take precedence.

3x10RaiseTo8 commented 2 weeks ago

Makes sense. Thank you! :smile:

JoshuaC215 commented 1 week ago

I made some progress yesterday on adding pyproject.toml and getting some updated installation instructions that work, and using it in CI + docker builds.

I kept requirements.txt for now since it's still a bit confusing and doesn't work as easily as I want (due to the same issues I mentioned above). Hopefully langchain v0.3 will ship soon and it'll be an easy update from there.

Issues to watch on langchain v0.3: https://github.com/langchain-ai/langchain/discussions/19339 https://github.com/langchain-ai/langchain/discussions/24405

I want to get a lock file working (mostly likely with uv lock) before loosening the version restrictions on various libraries and fully removing requirements.txt.