5.1 統合方法

LangChain Integration

LangChainとの統合概要

Guardrails AIは、LangChainのOutputParserとして統合できる。これにより、LangChainのChainやAgentでGuardrailsの検証機能を活用できる。

# インストール
pip install guardrails-ai[langchain]

基本的な統合パターン

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from guardrails import Guard
from guardrails.integrations.langchain import GuardrailsOutputParser
from pydantic import BaseModel

class Summary(BaseModel):
    title: str
    points: list[str]
    word_count: int

# Guard作成
guard = Guard.from_pydantic(Summary)

# OutputParser作成
parser = GuardrailsOutputParser.from_guard(guard)

# プロンプト作成(format_instructionsを含める)
prompt = ChatPromptTemplate.from_messages([
    ("system", "以下の形式で要約を出力してください:\n{format_instructions}"),
    ("user", "{text}")
])

# Chain構築
llm = ChatOpenAI(model="gpt-4")
chain = prompt | llm | parser

# 実行
result = chain.invoke({
    "text": "要約対象のテキスト...",
    "format_instructions": parser.get_format_instructions()
})

LCELでの統合

LangChain Expression Language(LCEL)でもシームレスに統合できる。

from langchain_core.runnables import RunnablePassthrough

chain = (
    RunnablePassthrough.assign(
        format_instructions=lambda _: parser.get_format_instructions()
    )
    | prompt
    | llm
    | parser
)

result = chain.invoke({"text": "入力テキスト"})

統合の利点

LangChain + Guardrailsの利点

・LangChainのエコシステム(RAG、エージェント等)をそのまま活用

・Guardrailsの検証・リトライ機能を追加

・既存のLangChainコードへの最小限の変更で統合可能

参考文献
[1] Guardrails AI - LangChain Integration - https://docs.guardrailsai.com/integrations/langchain/