Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 1品質スコア 53/100

langchain-common-errors

LangChainの一般的なエラーと例外を診断して修正できます。LangChainのエラーが発生した場合、デバッグが失敗した場合、または統合に関する問題が生じた場合に使用してください。「langchainエラー」「langchain例外」「langchainをデバッグ」「langchainが動作しない」「langchainのトラブルシューティング」といった表現で起動します。

description の原文を見る

Diagnose and fix common LangChain errors and exceptions. Use when encountering LangChain errors, debugging failures, or troubleshooting integration issues. Trigger with phrases like "langchain error", "langchain exception", "debug langchain", "langchain not working", "langchain troubleshoot".

SKILL.md 本文

LangChain の一般的なエラー

概要

最も一般的な LangChain エラーを診断し解決するための早見表です。

前提条件

  • LangChain がインストール・設定されていること
  • アプリケーションログへのアクセス
  • LangChain 実装の理解

エラーリファレンス

認証エラー

openai.AuthenticationError: Incorrect API key provided

# 原因: 無効またはないAPI キー
# 解決方法:
import os
os.environ["OPENAI_API_KEY"] = "sk-..."  # 正しいキーを設定

# キーがロードされていることを確認
from langchain_openai import ChatOpenAI
llm = ChatOpenAI()  # キーが無効な場合はエラーが発生

anthropic.AuthenticationError: Invalid x-api-key

# 原因: Anthropic API キーが設定されていないまたは無効
# 解決方法:
os.environ["ANTHROPIC_API_KEY"] = "sk-ant-..."

# または直接渡す
from langchain_anthropic import ChatAnthropic
llm = ChatAnthropic(api_key="sk-ant-...")

インポートエラー

ModuleNotFoundError: No module named 'langchain_openai'

# 原因: プロバイダーパッケージがインストールされていない
# 解決方法:
pip install langchain-openai

# 他のプロバイダーの場合:
pip install langchain-anthropic
pip install langchain-google-genai
pip install langchain-community

ImportError: cannot import name 'ChatOpenAI' from 'langchain'

# 原因: 古いインポートパスを使用 (0.2.0 以前)
# 旧形式 (非推奨):
from langchain.chat_models import ChatOpenAI

# 新形式 (正しい):
from langchain_openai import ChatOpenAI

レート制限

openai.RateLimitError: Rate limit reached

# 原因: API リクエストが多すぎる
# 解決方法: 指数バックオフで再試行を実装
from langchain_openai import ChatOpenAI
from tenacity import retry, wait_exponential, stop_after_attempt

@retry(wait=wait_exponential(min=1, max=60), stop=stop_after_attempt(5))
def call_with_retry(llm, prompt):
    return llm.invoke(prompt)

# または LangChain の組み込み再試行を使用
llm = ChatOpenAI(max_retries=3)

出力パース エラー

OutputParserException: Failed to parse output

# 原因: LLM の出力が期待される形式と一致しない
# 解決方法 1: with_retry を使用
from langchain.output_parsers import RetryOutputParser

parser = RetryOutputParser.from_llm(parser=your_parser, llm=llm)

# 解決方法 2: 構造化出力を使用 (より信頼性が高い)
from pydantic import BaseModel

class Output(BaseModel):
    answer: str

llm_with_structure = llm.with_structured_output(Output)

ValidationError: field required

# 原因: Pydantic モデルのバリデーションが失敗
# 解決方法: フィールドをオプショナルにするか、デフォルト値を指定
from pydantic import BaseModel, Field
from typing import Optional

class Output(BaseModel):
    answer: str
    confidence: Optional[float] = Field(default=None)

チェーンエラー

ValueError: Missing required input keys

# 原因: 入力辞書に必要な変数がない
# デバッグ:
prompt = ChatPromptTemplate.from_template("Hello {name}, you are {age}")
print(prompt.input_variables)  # ['name', 'age']

# 解決方法: すべての必要なキーを指定
chain.invoke({"name": "Alice", "age": 30})

TypeError: Expected mapping type as input

# 原因: 間違った入力型を渡している
# 誤り:
chain.invoke("hello")

# 正しい:
chain.invoke({"input": "hello"})

エージェントエラー

AgentExecutor: max iterations reached

# 原因: エージェントがループに入っている
# 解決方法: イテレーション数を増やすか、プロンプトを改善
agent_executor = AgentExecutor(
    agent=agent,
    tools=tools,
    max_iterations=20,  # デフォルト 15 から増加
    early_stopping_method="force"  # 最大値に達したら強制停止
)

ToolException: Tool execution failed

# 原因: ツールが例外を発生させた
# 解決方法: ツール内にエラーハンドリングを追加
@tool
def my_tool(input: str) -> str:
    """ツールの説明。"""
    try:
        # ツールのロジック
        return result
    except Exception as e:
        return f"Tool error: {str(e)}"

メモリエラー

KeyError: 'chat_history'

# 原因: メモリキーの不一致
# 解決方法: 一貫したキー名を確認
prompt = ChatPromptTemplate.from_messages([
    MessagesPlaceholder(variable_name="chat_history"),  # これと一致させる
    ("human", "{input}")
])

# 呼び出し時:
chain.invoke({
    "input": "hello",
    "chat_history": []  # プレースホルダー名と一致させる必要があります
})

デバッグのヒント

詳細モードを有効にする

import langchain
langchain.debug = True  # すべてのチェーンステップを表示

# またはコンポーネント単位で
agent_executor = AgentExecutor(verbose=True)

LangSmith でトレース

# 環境変数を設定
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "your-langsmith-key"
os.environ["LANGCHAIN_PROJECT"] = "my-project"

# すべてのチェーンが自動的にトレースされます

バージョン互換性を確認

pip show langchain langchain-core langchain-openai

# バージョンが互換性があることを確認:
# langchain >= 0.3.0
# langchain-core >= 0.3.0
# langchain-openai >= 0.2.0

リソース

次のステップ

複雑なデバッグの場合は、langchain-debug-bundle を使用して証拠を収集します。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
Brmbobo
リポジトリ
Brmbobo/Web2podcast
ライセンス
MIT
最終更新
2026/1/26

Source: https://github.com/Brmbobo/Web2podcast / ライセンス: MIT

関連スキル

OpenAILLM・AI開発⭐ リポ 6,054

agent-browser

AI エージェント向けのブラウザ自動化 CLI です。ウェブサイトとの対話が必要な場合に使用します。ページ遷移、フォーム入力、ボタンクリック、スクリーンショット取得、データ抽出、ウェブアプリのテスト、ブラウザ操作の自動化など、あらゆるブラウザタスクに対応できます。「ウェブサイトを開く」「フォームに記入する」「ボタンをクリックする」「スクリーンショットを取得する」「ページからデータを抽出する」「このウェブアプリをテストする」「サイトにログインする」「ブラウザ操作を自動化する」といった要求や、プログラマティックなウェブ操作が必要なタスクで起動します。

by JimmyLv
汎用LLM・AI開発⭐ リポ 1,982

anyskill

AnySkill — あなたのプライベート・スキルクラウド。GitHubを基盤としたリポジトリからエージェントスキルを管理、同期、動的にロードできます。自然言語でクラウドスキルを検索し、オンデマンドでプロンプトを自動ロード、カスタムスキルのアップロードと共有、スキルバンドルの一括インストールが可能です。OpenClaw、Antigravity、Claude Code、Cursorに対応しています。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 1,982

engram

AIエージェント向けの永続的なメモリシステムです。バグ修正、意思決定、発見、設定変更の後はmem_saveを使用してください。ユーザーが「覚えている」「記憶している」と言及した場合、または以前のセッションと重複する作業を開始する際はmem_searchを使用します。セッション終了前にmem_session_summaryを使用して、コンテキストを保持してください。

by LeoYeAI
汎用LLM・AI開発⭐ リポ 21,584

skyvern

AI駆動のブラウザ自動化により、任意のウェブサイトを自動化できます。フォーム入力、データ抽出、ファイルダウンロード、ログイン、複数ステップのワークフロー実行など、ユーザーがウェブサイトと連携する必要があるときに使用します。Skyvernは、LLMとコンピュータビジョンを活用して、未知のサイトも自動操作可能です。Python SDK、TypeScript SDK、REST API、MCPサーバー、またはCLIを通じて統合できます。

by Skyvern-AI
汎用LLM・AI開発⭐ リポ 1,149

pinchbench

PinchBenchベンチマークを実行して、OpenClawエージェントの実世界タスクにおけるパフォーマンスを評価できます。モデルの機能テスト、モデル間の比較、ベンチマーク結果のリーダーボード提出、またはOpenClawのセットアップがカレンダー、メール、リサーチ、コーディング、複数ステップのワークフローにどの程度対応しているかを確認する際に使用します。

by pinchbench
汎用LLM・AI開発⭐ リポ 4,693

openui

OpenUIとOpenUI Langを使用してジェネレーティブUIアプリを構築できます。これらはLLM生成インターフェースのためのトークン効率的なオープン標準です。OpenUI、@openuidev、ジェネレーティブUI、LLMからのストリーミングUI、AI向けコンポーネントライブラリ、またはjson-render/A2UIの置き換えについて述べる際に使用します。スキャフォルディング、defineComponent、システムプロンプト、Renderer、およびOpenUI Lang出力のデバッグに対応しています。

by thesysdev
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: Brmbobo · Brmbobo/Web2podcast · ライセンス: MIT