Replies: 4 comments 1 reply
-
I like this, we'd need to figure out how well it integrates, but seems like better than what we're doing currently. I've been installing the package, importing it and walking it recursively to determine which objects are sub-classes of which other objects. We could implement this logic as part of a standard unit-test that will run on CI and enforce the yml file is kept up to date for each package (as part of that packages unit tests). Other tools (e.g., documentation) can then benefit by leveraging simple parsing of the YML file. cc @efriis |
Beta Was this translation helpful? Give feedback.
-
Another design option is to just copy the |
Beta Was this translation helpful? Give feedback.
-
@eyurtsev Do you mean to include the |
Beta Was this translation helpful? Give feedback.
-
I like the idea of some kind of index file, but there's a few challenges. Some options:
And some challenges:
|
Beta Was this translation helpful? Give feedback.
-
Checked
Feature request
Add a protocol to discover the external integration packages. The protocol presents the package information in the standard format and ensures this package is listed in the LangChain documentation.
Motivation
Most of the integration packages are implemented inside the
langchain
monorepo, as a subfolder of the [partner] (https://github.com/langchain-ai/langchain/tree/master/libs/partners) directory.However, some integrations are implemented outside this mono repo. For example, two
NVIDIA
packages are in the langchain-nvidia-tnt repo. They are manually listed and added to the API Reference and Documentation.Assumption: more and more new integration packages will be created as independent repos. Without a clear procedure, what makes the integration package the
LangChain integration package
will be messy pretty soon. It will be hard to find the integrations.Proposal
Define a protocol to list a new package as the
LangChain integration package
. So, it will be automatically listed in the LangChain API Reference and Documentation.The proposal is NOT about enforcing anything else, like the implementation rules, the project/documentation structure, etc. The protocol is only about how to automatically add a new package information to the list of existing integration packages.
A protocol draft:
langchain
monorepo:libs/partners/
directory as <integration_name>package_info.yaml
package_info.yaml
file (only name, version, and repository parameters are required):Beta Was this translation helpful? Give feedback.
All reactions