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/
[1] Guardrails AI - LangChain Integration - https://docs.guardrailsai.com/integrations/langchain/