跳到主要內容
Open on GitHub

如何從範本發布整合套件

危險

本指南仍在撰寫中。

首先,複製此範本儲存庫: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):
...
API 參考:deprecated

您應該為每個要遷移到合作夥伴套件的組件執行此操作。

其他步驟

貢獻者步驟

  • 將密鑰名稱新增至 .github/workflows/_integration_test.yml 中的手動整合工作流程
  • 將密鑰新增至 .github/workflows/_release.yml 中的發布工作流程 (用於預發布測試)
  • 設定 pypi 和 test pypi 專案
  • 將憑證密鑰新增至 Github Actions
  • 將套件新增至 conda-forge

此頁面是否對您有幫助?