A critical bug causing assertion errors in the LangChain agents executor has been identified, posing a significant risk to the project's stability and functionality.
James Braza (jamesbraza)
packaging
versions (#22792).libs/core/poetry.lock
, libs/core/pyproject.toml
Jacob Lee (jacoblee93)
docs/docs/concepts.mdx
, docs/docs/how_to/structured_output.ipynb
Karim Lalani (lalanikarim)
libs/experimental/langchain_experimental/llms/ollama_functions.py
, libs/experimental/tests/integration_tests/llms/test_ollama_functions.py
Christophe Bornet (cbornet)
HyoJin Kang (hyorea1)
libs/community/langchain_community/utilities/sql_database.py
Severity: High
Issue #22585 reports an assertion error in the langchain agents executor
. This is a critical component of the project, and such errors can severely impact stability and functionality.
Next Steps:
Severity: Medium
Frequent collaborations with certain team members like Bagatur suggest potential areas where disagreements might arise. Persistent disagreements can slow down development and lead to suboptimal solutions.
Next Steps:
Severity: Medium
Several non-critical PRs have been left open without updates, which can slow down development progress and indicate potential bottlenecks in the review process.
Next Steps:
stream_usage
) to ChatOpenAI, raising questions about its implementation. This will impact how developers use this feature.Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Erick Friis | ![]() |
3 | 9/7/2 | 8 | 42 | 16890 |
vs. last report | -1 | -4/-3/+2 | -20 | -41 | -15130 | |
Bagatur | ![]() |
5 | 9/8/0 | 27 | 41 | 12124 |
vs. last report | = | -19/-17/= | -10 | -40 | +4702 | |
Eugene Yurtsev | ![]() |
4 | 10/8/1 | 13 | 106 | 2455 |
vs. last report | -1 | +5/+7/+1 | -2 | +94 | +1308 | |
Nithish Raghunandanan | ![]() |
1 | 0/0/0 | 1 | 23 | 2127 |
Nicolas Nkiere | ![]() |
1 | 0/0/0 | 1 | 6 | 2088 |
Jacob Lee | ![]() |
5 | 11/8/0 | 15 | 28 | 1284 |
vs. last report | +4 | +2/-2/= | +5 | +3 | -516 | |
X-HAN | ![]() |
1 | 1/1/0 | 2 | 8 | 1121 |
vs. last report | = | =/=/= | +1 | +3 | +585 | |
Greg Tracy | ![]() |
1 | 0/0/0 | 1 | 2 | 1091 |
Aayush Kataria | ![]() |
1 | 0/0/0 | 1 | 14 | 1014 |
Isaac Francisco | ![]() |
6 | 6/2/1 | 21 | 8 | 980 |
vs. last report | +3 | -1/-3/+1 | +7 | -2 | +371 | |
ccurme | ![]() |
3 | 12/10/0 | 18 | 24 | 818 |
vs. last report | = | +5/+4/= | +4 | +4 | +11 | |
Philippe PRADOS | ![]() |
1 | 6/3/0 | 4 | 13 | 726 |
vs. last report | = | +6/+3/= | +3 | +9 | +356 | |
Cahid Arda Öz | ![]() |
1 | 0/0/0 | 1 | 6 | 698 |
Bharat Ramanathan | ![]() |
1 | 1/1/0 | 1 | 2 | 658 |
Christophe Bornet | ![]() |
1 | 2/2/0 | 2 | 21 | 550 |
vs. last report | = | -2/-2/= | -2 | +19 | +297 | |
Xiangrui Meng | ![]() |
1 | 0/1/0 | 1 | 4 | 544 |
vs. last report | +1 | -1/+1/= | +1 | +4 | +544 | |
William FH | ![]() |
2 | 2/1/0 | 2 | 11 | 430 |
vs. last report | = | -1/-1/= | -4 | +2 | -271 | |
Mr. Lance E Sloan «UMich» | ![]() |
1 | 2/1/0 | 2 | 3 | 394 |
James Braza | ![]() |
1 | 1/1/0 | 1 | 2 | 394 |
Lance Martin (rlancemartin) | 1 | 1/0/0 | 4 | 5 | 363 | |
Tomaz Bratanic | ![]() |
1 | 2/2/0 | 2 | 4 | 263 |
vs. last report | +1 | +1/+2/= | +2 | +4 | +263 | |
Mathis Joffre | ![]() |
1 | 1/1/0 | 1 | 5 | 200 |
Lucas Tucker | ![]() |
1 | 2/1/0 | 1 | 1 | 154 |
Gabriele Ghisleni | ![]() |
1 | 1/1/0 | 1 | 1 | 139 |
Karim Lalani | ![]() |
1 | 0/0/0 | 1 | 2 | 136 |
vs. last report | +1 | -1/=/= | +1 | +2 | +136 | |
Prakul | ![]() |
1 | 2/2/0 | 2 | 2 | 126 |
Max Mulatz | ![]() |
1 | 1/1/0 | 1 | 6 | 124 |
Leonid Ganeline | ![]() |
1 | 3/1/1 | 2 | 3 | 113 |
vs. last report | +1 | -1/+1/+1 | +2 | +3 | +113 | |
NithinBairapaka | ![]() |
1 | 0/0/0 | 1 | 11 | 113 |
vs. last report | +1 | -1/=/= | +1 | +11 | +113 | |
Francesco Kruk | ![]() |
1 | 1/1/0 | 1 | 1 | 108 |
Rohan Aggarwal | ![]() |
1 | 1/1/0 | 1 | 1 | 87 |
Satyam Kumar Singh | ![]() |
1 | 1/2/0 | 2 | 2 | 74 |
vs. last report | +1 | =/+2/= | +2 | +2 | +74 | |
JonZeolla | ![]() |
1 | 2/1/0 | 1 | 1 | 60 |
am-kinetica | ![]() |
1 | 1/1/0 | 1 | 6 | 59 |
Ethan Yang | ![]() |
1 | 1/0/1 | 1 | 4 | 57 |
vs. last report | = | +1/-1/+1 | -1 | -2 | -33 | |
Kirushikesh DB | ![]() |
1 | 2/1/0 | 1 | 1 | 45 |
Oguz Vuruskaner | ![]() |
1 | 3/1/0 | 1 | 1 | 35 |
Dmitry Stepanov | ![]() |
1 | 1/1/0 | 1 | 1 | 28 |
Qingchuan Hao | ![]() |
1 | 1/1/0 | 1 | 12 | 26 |
vs. last report | = | =/=/= | = | +10 | +7 | |
Jiří Spilka | ![]() |
1 | 1/1/0 | 1 | 2 | 24 |
Mohammad Mohtashim | ![]() |
1 | 3/2/0 | 2 | 2 | 24 |
vs. last report | = | +1/+2/= | +1 | +1 | -61 | |
wangda | ![]() |
1 | 1/1/0 | 1 | 6 | 22 |
Kagura Chen | ![]() |
1 | 1/1/0 | 1 | 1 | 18 |
fzowl | ![]() |
1 | 1/1/0 | 1 | 2 | 13 |
andyjessen | ![]() |
1 | 2/2/0 | 2 | 3 | 12 |
Jaeyeon Kim(김재연) | ![]() |
1 | 1/1/0 | 1 | 1 | 9 |
Anush | ![]() |
1 | 1/0/0 | 1 | 1 | 8 |
svmpsp-rc | ![]() |
1 | 1/1/0 | 1 | 1 | 8 |
mrhbj | ![]() |
1 | 2/2/0 | 2 | 1 | 7 |
HyoJin Kang | ![]() |
1 | 1/1/0 | 1 | 1 | 7 |
Mikhail Khludnev | ![]() |
1 | 1/0/0 | 1 | 1 | 6 |
vs. last report | = | -1/-1/= | = | = | = | |
CharlesCNorton | ![]() |
1 | 3/3/0 | 3 | 3 | 6 |
Suganth Solamanraja | ![]() |
1 | 1/1/0 | 1 | 1 | 6 |
Jeffrey Mak | ![]() |
1 | 0/0/0 | 1 | 1 | 5 |
vs. last report | = | -1/-1/= | = | = | = | |
endrajeet | ![]() |
1 | 1/1/0 | 1 | 1 | 4 |
Naka Masato | ![]() |
1 | 1/1/0 | 1 | 1 | 4 |
Enzo Poggio | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
bincat | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
liuzc9 | ![]() |
1 | 2/1/0 | 1 | 1 | 2 |
vs. last report | +1 | +1/+1/= | +1 | +1 | +2 | |
seyf97 | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Gin | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Asi Greenholts | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Ikko Eltociear Ashimine | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Lei Zhang | ![]() |
1 | 1/1/0 | 1 | 2 | 2 |
Mateusz Szewczyk | ![]() |
1 | 0/0/0 | 1 | 1 | 2 |
lucasiscovici | ![]() |
1 | 1/1/0 | 1 | 1 | 2 |
Albert Gil López | ![]() |
1 | 0/0/0 | 1 | 1 | 1 |
vs. last report | +1 | -1/=/= | +1 | +1 | +1 | |
Hakan Özdemir (ha3) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (w22l) | 0 | 1/0/1 | 0 | 0 | 0 | |
vs. last report | = | =/=/+1 | = | = | = | |
Dave (D4ve-R) | 0 | 1/0/0 | 0 | 0 | 0 | |
Théo Deschamps (thdesc) | 0 | 1/0/1 | 0 | 0 | 0 | |
vs. last report | = | =/=/+1 | = | = | = | |
RUO (comsa33) | 0 | 1/0/0 | 0 | 0 | 0 | |
Giacomo Berardi (giacbrd) | 0 | 1/0/0 | 0 | 0 | 0 | |
maang-h (maang-h) | 0 | 1/0/0 | 0 | 0 | 0 | |
vs. last report | -1 | -2/-2/= | -4 | -6 | -572 | |
Jiejun Tan (plageon) | 0 | 4/0/2 | 0 | 0 | 0 | |
Riccardo Schirone (ret2libc) | 0 | 1/0/0 | 0 | 0 | 0 | |
John (Coniferish) | 0 | 1/0/0 | 0 | 0 | 0 | |
Rushikesh Vadje (Rushivadje) | 0 | 0/0/1 | 0 | 0 | 0 | |
vs. last report | = | -1/=/+1 | = | = | = | |
Christopher Tee (christeefy) | 0 | 1/0/0 | 0 | 0 | 0 | |
Rohit Gupta (rgupta2508) | 0 | 1/0/0 | 0 | 0 | 0 | |
Anindyadeep (Anindyadeep) | 0 | 1/0/0 | 0 | 0 | 0 | |
vs. last report | -1 | +1/-1/= | -1 | -3 | -220 | |
Thanh Nguyen (ThanhNguye-n) | 0 | 1/0/0 | 0 | 0 | 0 | |
vs. last report | = | =/=/= | = | = | = | |
Stefano Lottini (hemidactylus) | 0 | 1/0/0 | 0 | 0 | 0 | |
vs. last report | -1 | -1/-2/= | -2 | -4 | -213 | |
James Lai (jamesljlster) | 0 | 1/0/0 | 0 | 0 | 0 | |
Jordy Jackson Antunes da Rocha (jordyantunes) | 0 | 1/0/0 | 0 | 0 | 0 | |
Richmond Alake (RichmondAlake) | 0 | 1/0/0 | 0 | 0 | 0 | |
Ahmad Al-mashahedi (Blueflamefirez) | 0 | 1/0/0 | 0 | 0 | 0 | |
Baskar Gopinath (baskargopinath) | 0 | 1/0/0 | 0 | 0 | 0 | |
Zheng Robert Jia (Robert-Jia00129) | 0 | 1/0/0 | 0 | 0 | 0 | |
vs. last report | -1 | =/-1/= | -1 | -1 | -2 | |
Jean-Baptiste dlb (JeanBaptiste-dlb) | 0 | 0/0/1 | 0 | 0 | 0 | |
vs. last report | = | -1/=/+1 | = | = | = | |
None (Anirudh31415926535) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The LangChain project is a sophisticated software initiative aimed at developing a comprehensive framework for building context-aware reasoning applications. This project is spearheaded by LangChain AI and has been under active development with frequent updates and enhancements. The current state of the project is dynamic, characterized by ongoing improvements in functionality, documentation, and integration with various tools and platforms. The trajectory of the project indicates a strong commitment to expanding its capabilities and maintaining its relevance in the field of artificial intelligence.
packaging
versions (#22792)libs/core/poetry.lock
, libs/core/pyproject.toml
docs/docs/concepts.mdx
, docs/docs/how_to/structured_output.ipynb
libs/experimental/langchain_experimental/llms/ollama_functions.py
, libs/experimental/tests/integration_tests/llms/test_ollama_functions.py
libs/community/langchain_community/utilities/sql_database.py
The recent activities of the LangChain development team indicate a high level of collaboration and continuous improvement across various components of the project. Key patterns include:
These activities suggest a well-coordinated team focused on delivering a robust and versatile framework for building context-aware reasoning applications. The project's trajectory appears positive, with ongoing enhancements that will likely contribute to its growing adoption and success in the AI community.
Since the last report, there has been a moderate level of activity in the LangChain project. Here are the key updates:
Issue #22854: openai[patch]: add stream_usage parameter
stream_usage
to ChatOpenAI as a boolean attribute and a kwarg to _stream and _astream.stream_usage
attribute should be bool
or bool | None
. The resolution of this question will impact how developers implement and use this feature.Issue #22853: community[patch]: Update root_validators ChatModels: ChatBaichuan, QianfanChatEndpoint, MiniMaxChat, ChatSparkLLM, ChatZhipuAI
Issue #22852: community: glob multiple patterns when using DirectoryLoader
Issue #22851: [Core]: Accounting for Optional Input Variables in BasePromptTemplate
Issue #22849: langchain[patch]: add tool messages formatter for tool calling agent
Issue #22846: Fix: lint errors and update Field alias in models.py and AutoSelectionScorer initialization
Issue #22845: RedisChatMessageHistory encountering issues in Redis standalone mode on Windows
Issue #22842: community[minor]: Fix json._validate_metadata_func()
Issue #22840: Fix typo in vearch.md
Issue #22839: community[minor]: Fix long_context_reorder.py async
The project continues its robust activity with a focus on addressing bugs, enhancing documentation, and improving integration capabilities. There is also a notable effort towards refining existing features and ensuring compatibility with new versions of dependencies.
The LangChain project remains active with significant contributions aimed at improving functionality, addressing bugs, and expanding integration capabilities with new services like LlamaCPP and updates for compatibility with new versions of dependencies like SQLAlchemyCache. The recent activity also shows a strong emphasis on improving documentation and user experience.
Overall, these activities suggest a healthy and dynamic development environment focused on continuous improvement and adaptation to new technologies and user needs.
Repository: langchain-ai/langchain
State: Closed
Base Branch: langchain-ai:master
Head Branch: baskargopinath:docs-typo
Created: 0 days ago
Closed: 0 days ago
Merged: No
This PR addresses a typo in an import statement within a Jupyter notebook (rag.ipynb
) in the documentation. The specific change is:
- from langchain.chains import create_retrieval_chain
+ from langchain.chains.retrieval import create_retrieval_chain
create_retrieval_chain
is re-exported from langchain.chains.__init__
. However, closed the PR due to unclear necessity of the change.docs/docs/tutorials/rag.ipynb
Specificity of Change:
Correctness:
from langchain.chains.retrieval import create_retrieval_chain
) is more explicit and aligns with typical Python import practices, which can enhance readability and maintainability.Necessity:
ccurme
, the original import statement works because of re-exporting in the module's __init__.py
. This raises questions about whether the change was necessary or if it was addressing a non-issue.Documentation:
Testing:
The PR makes a minor but explicit correction to an import statement in a documentation notebook. While the change improves clarity, it may not have been strictly necessary due to existing module re-exports. The discussion around the necessity of this change highlights the importance of providing clear justifications for even minor corrections.
Overall, the code quality is good, but better communication and justification could enhance understanding and acceptance of such changes in collaborative projects.
Since the last analysis 7 days ago, there has been significant activity in the langchain-ai/langchain
repository. Here's a detailed breakdown of the changes:
PR #22843: Docs: Fix typo in import statement.
PR #22842: community[minor]: Fix json._validate_metadata_func().
PR #22840: Fix typo in vearch.md.
PR #22839: community[minor]: Fix long_context_reorder.py async.
PR #22837: docs[patch]: Adds multimodal column to chat models table, move up in concepts.
PR #22836: docs[patch]: Readd Pydantic compatibility docs.
PR #22834: groq[patch]: add usage_metadata to (a)invoke and (a)stream.
PR #22833: docs: Astra DB vectorstore, adjust syntax for automatic-embedding example.
PR #22831: [docs]: bind tools.
PR #22830: docs: ReAct
reference.
Several other PRs were opened focusing on bug fixes, enhancements, and documentation updates.
#22835: core: loosen packaging lib version.
#22829: core[patch]: Update remaining root_validators.
#22828: community[patch]: Update root_validators embeddings.
#22822: ci: docs lint move to separate branch.
#22818: Update index.mdx.
#22815: community[patch]: bugfix for YoutubeLoader
's LINES
format.
#22813: ci: test with Python 3.12.
#22810: docs: update repo_structure.mdx to reflect latest code changes.
#22809: docs: fix function name in tutorials/agents.ipynb.
#22796: community[patch]: fix hunyuan message include chinese signature error (#22795).
The repository continues to see active development with multiple pull requests addressing bug fixes, enhancements, standardization efforts, and documentation updates. The successful merging of several PRs indicates ongoing improvements in functionality, usability, and code quality.
Moving forward, it will be crucial to monitor the progress of open PRs, especially those that are still under discussion or in draft status, as they may introduce significant changes or enhancements to the project once finalized and merged into the main branch.
Overall, the active management of open and recently closed pull requests suggests a dynamic development environment focused on continuous improvement and user experience enhancement.
libs/core/poetry.lock
poetry.lock
file is structured in a way that lists all the dependencies of the project along with their specific versions and metadata.libs/core/pyproject.toml
pyproject.toml
file is well-structured with sections for project metadata, dependencies, optional groups (like linting, typing, dev, test), and build system requirements.pydantic
, langsmith
, tenacity
, etc. Optional groups include tools for linting (ruff
), typing (mypy
), development (jupyter
), and testing (pytest
, freezegun
).docs/docs/concepts.mdx
langchain-core
, partner packages, and community integrations.libs/experimental/langchain_experimental/llms/ollama_functions.py
OllamaFunctions
that extends ChatOllama
. It includes methods for binding tools and handling structured output.convert_to_ollama_tool
), parse responses (parse_response
), bind tools (bind_tools
), handle structured output (with_structured_output
), convert messages (_convert_messages_to_ollama_messages
), generate responses (_generate
, _agenerate
).libs/community/langchain_community/utilities/sql_database.py
SQLDatabase
that wraps around SQLAlchemy's engine to provide various utility methods for database operations.__init__
, from_uri
, from_databricks
, from_cnosdb
), executing queries (_execute
, run
, run_no_throw
), retrieving table information (get_table_info
, _get_table_indexes
, _get_sample_rows
), handling context (get_context
).libs/community/langchain_community/chat_models/hunyuan.py
ChatHunyuan
that extends BaseChatModel
. It includes methods for generating chat responses and handling streaming results._convert_message_to_dict
, _convert_dict_to_message
, _convert_delta_to_message_chunk
), generate responses (_generate
, _stream
, _chat
), handle environment validation (validate_environment
).libs/community/tests/integration_tests/retrievers/document_compressors/test_embeddings_filter.py
EmbeddingsFilter
.test_embeddings_filter
, atest_embeddings_filter
) and filtering with state management (test_embeddings_filter_with_state
, test_aembeddings_filter_with_state
).libs/core/langchain_core/prompts/prompt.py
PromptTemplate
that extends StringPromptTemplate
. It includes methods for creating and formatting prompt templates.pre_init_validation
), get input schema (get_input_schema
), combine templates (__add__
), format prompts (format
), create templates from examples or files (from_examples
, from_file
, from_template
).Overall Recommendations:
1. Regularly update dependencies in both poetry.lock
and pyproject.toml
.
2. Ensure comprehensive documentation is maintained in files like concepts.mdx
.
3. Validate experimental features thoroughly before moving them to production.
4. Maintain robust error handling and logging across all modules.
5. Ensure comprehensive test coverage by adding more edge cases in test files.
langchain agents executor
causing assertion errorsSeverity: High (3/3)
Rationale
This issue (#22585) reports an assertion error in the langchain agents executor
, which is a critical component of the project. Such errors can severely impact the stability and functionality of agent execution, potentially disrupting production environments.
langchain agents executor
.Next Steps
Severity: Medium (2/3)
Rationale Prolonged disagreements can indicate deeper issues within the team that may affect collaboration and project progress. While no specific PRs or issues were highlighted, frequent collaborations with certain team members like Bagatur suggest potential areas where disagreements might arise.
Next Steps
Severity: Medium (2/3)
Rationale Several non-critical PRs have been left open without updates, which can slow down development progress and indicate potential bottlenecks in the review process.
Next Steps
Severity: Medium (2/3)
Rationale Ambiguity in specifications can lead to misaligned expectations and incomplete implementations. This is particularly relevant for high-priority tasks that lack clear defining criteria.
Next Steps