如何从模板发布集成包
本指南仍在制作中。
首先,复制此模板仓库:https://github.com/langchain-ai/integration-repo-template
在本指南中,我们将创建一个 libs/langchain-parrot-link
文件夹,模拟为一家虚构的公司 “Parrot Link AI” 创建合作伙伴包。
用户通过 pip install langchain-{partner}
安装软件包,软件包成员可以使用如下代码导入
from langchain_{partner} import X
设置新包
要设置新的合作伙伴包,请使用最新版本的 LangChain CLI。您可以使用以下命令安装或更新它
pip install -U langchain-cli
假设您想为一个名为 Parrot Link AI 的公司创建一个新的合作伙伴包。
然后,运行以下命令来创建一个新的合作伙伴包
mkdir libs
cd libs/
langchain-cli integration new
> Name: parrot-link
> Name of integration in PascalCase [ParrotLink]: ParrotLink
这将在 libs/parrot-link
中创建一个新包,其结构如下
libs/parrot-link/
langchain_parrot_link/ # folder containing your package
...
tests/
...
docs/ # bootstrapped docs notebooks, must be moved to /docs in monorepo root
...
scripts/ # scripts for CI
...
LICENSE
README.md # fill out with information about your package
Makefile # default commands for CI
pyproject.toml # package metadata, mostly managed by Poetry
poetry.lock # package lockfile, managed by Poetry
.gitignore
实现您的包
首先,添加您的包所需的任何依赖项,例如您公司的 SDK
poetry add parrot-link-sdk
如果类型检查需要单独的依赖项,您可以将它们添加到 typing
组中,使用
poetry add --group typing types-parrot-link-sdk
然后,在 libs/partners/parrot-link/langchain_parrot_link
中实现您的包。
默认情况下,这将包括聊天模型、LLM 和/或向量存储的存根。您应该删除任何您不使用的文件,并从 __init__.py
中删除它们。
编写单元测试和集成测试
tests/
目录中提供了一些基本测试。您应该添加更多测试以覆盖您包的功能。
有关运行和实现测试的信息,请参阅测试指南。
编写文档
文档是从 docs/
目录中的 Jupyter 笔记本生成的。您应该将带有示例的笔记本放置在 monorepo 根目录下的相关 docs/docs/integrations
目录中。
(如果必要)弃用社区集成
注意:只有当您将现有的社区集成迁移到合作伙伴包中时,才需要这样做。如果您集成的组件对于 LangChain 来说是全新的(即尚未在 community
包中),您可以跳过此步骤。
假设我们将 ChatParrotLink
聊天模型从社区包迁移到合作伙伴包。我们需要在社区包中弃用旧模型。
我们将通过在旧模型中添加一个 @deprecated
装饰器来做到这一点,如下所示,在 libs/community/langchain_community/chat_models/parrot_link.py
中。
在我们的更改之前,我们的聊天模型可能看起来像这样
class ChatParrotLink(BaseChatModel):
...
在我们的更改之后,它看起来会像这样
from langchain_core._api.deprecation import deprecated
@deprecated(
since="0.0.<next community version>",
removal="1.0.0",
alternative_import="langchain_parrot_link.ChatParrotLink"
)
class ChatParrotLink(BaseChatModel):
...
对于您要迁移到合作伙伴包的每个组件,您都应该这样做。
附加步骤
贡献者步骤
- 将密钥名称添加到
.github/workflows/_integration_test.yml
中的手动集成工作流程 - 将密钥添加到
.github/workflows/_release.yml
中的发布工作流程(用于预发布测试) - 设置 pypi 和 test pypi 项目
- 将凭据密钥添加到 Github Actions
- 将包添加到 conda-forge