用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/majiayu000/claude-skill-registry --skill langchain-tools命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
LLM token logprobs and calibration. Per-decision confidence, ECE, Brier, reliability diagrams, low-confidence triage.
Analyze LLM token logprobs and calibration. Use for per-decision confidence, ECE, Brier scores, reliability diagrams, and low-confidence triage.
回顾最近 N 天的 Claude Code 使用记录——扫描原始会话数据,按主题分组汇总"我都做了什么",并从个人操作系统视角输出模式、风险与增删建议。当用户说 /recap、"看看我这几天做了什么"、"回顾一下我最近的会话"、"这两天我用 claude 干了啥"、"活动回顾" 时使用。
基于 SOC 职业分类
正在显示 SKILL.md
| name | langchain-tools |
| description | LangChain framework utilities for chains, agents, and RAG |
| allowed-tools | ["Bash","Read","Grep","Glob"] |
| category | ai-tools |
| requires-env | [] |
| optional-env | ["LANGCHAIN_API_KEY","LANGCHAIN_TRACING_V2"] |
The LangChain Tools skill provides configuration utilities and template generation for LangChain framework components, including chains, agents, RAG systems, and LangSmith tracing integration.
Context Savings: 90%+ reduction vs raw documentation by providing focused, task-specific interfaces to LangChain configurations.
Use Cases:
Important: This skill helps configure LangChain components, not run them directly. Actual chain execution happens in application code.
Python Dependencies:
pip install langchain langchain-community langchain-openai
Optional Dependencies (based on use case):
# For OpenAI models
pip install openai
# For vector stores
pip install chromadb faiss-cpu pinecone-client
# For document loaders
pip install pypdf docx2txt
# For LangSmith tracing
pip install langsmith
Installation Verification:
python -c "import langchain; print(langchain.__version__)"
| Tool | Description | Example |
|---|---|---|
list-chain-types | List available chain types | Show all chain types |
chain-template | Get chain configuration template | Get LLMChain template |
validate-chain | Validate chain configuration | Validate chain config file |
| Tool | Description | Example |
|---|---|---|
list-agent-types | List available agent types | Show all agent types |
agent-template | Get agent configuration template | Get ReAct agent template |
list-tools | List available agent tools | Show built-in tools |
| Tool | Description | Example |
|---|---|---|
list-loaders | List available document loaders | Show all loader types |
loader-config | Get loader configuration template | Get PDF loader config |
| Tool | Description | Example |
|---|---|---|
list-vectorstores | List vector store types | Show all vector stores |
vectorstore-config | Get vector store configuration | Get Chroma config |
| Tool | Description | Example |
|---|---|---|
list-embeddings | List embedding providers | Show all embedding models |
embedding-config | Get embedding configuration | Get OpenAI embeddings config |
| Tool | Description | Example |
|---|---|---|
list-traces | List recent traces | Show last 10 traces |
trace-details | Get trace details | Get trace by ID |
list-datasets | List evaluation datasets | Show all datasets |
# List available chain types
python -c "
from langchain.chains import (
LLMChain,
ConversationChain,
SequentialChain,
SimpleSequentialChain,
MapReduceChain,
RetrievalQA
)
print('Available Chain Types:')
print('- LLMChain: Basic chain with LLM and prompt')
print('- ConversationChain: Chat with memory')
print('- SequentialChain: Multiple chains in sequence')
print('- SimpleSequentialChain: Simple sequential chain')
print('- MapReduceChain: Map-reduce pattern')
print('- RetrievalQA: RAG question-answering')
"
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
# Define prompt template
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate(template=template, input_variables=["question"])
# Create LLM
llm = ChatOpenAI(temperature=0, model="gpt-4")
# Create chain
chain = LLMChain(llm=llm, prompt=prompt)
# Run chain
result = chain.run(question="What is quantum computing?")
print(result)
# List available agent types
python -c "
from langchain.agents import AgentType
print('Available Agent Types:')
print('- ZERO_SHOT_REACT_DESCRIPTION: ReAct agent with tool descriptions')
print('- CONVERSATIONAL_REACT_DESCRIPTION: Chat ReAct agent')
print('- CHAT_ZERO_SHOT_REACT_DESCRIPTION: Chat-optimized ReAct')
print('- STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION: Structured output ReAct')
print('- OPENAI_FUNCTIONS: OpenAI function calling agent')
print('- OPENAI_MULTI_FUNCTIONS: Multi-function OpenAI agent')
"
from langchain.agents import AgentType, initialize_agent, load_tools
from langchain_openai import ChatOpenAI
# Create LLM
llm = ChatOpenAI(temperature=0, model="gpt-4")
# Load tools
tools = load_tools(["serpapi", "llm-math"], llm=llm)
# Create agent
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# Run agent
result = agent.run("What is the square root of 144?")
print(result)
# PDF Loader
from langchain.document_loaders import PyPDFLoader
loader = PyPDFLoader("document.pdf")
documents = loader.load()
# Directory Loader
from langchain.document_loaders import DirectoryLoader
loader = DirectoryLoader("./data", glob="**/*.txt")
documents = loader.load()
# Text Loader
from langchain.document_loaders import TextLoader
loader = TextLoader("document.txt")
documents = loader.load()
# Web Loader
from langchain.document_loaders import WebBaseLoader
loader = WebBaseLoader("https://example.com")
documents = loader.load()
# Chroma Vector Store
from langchain.vectorstores import Chroma
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings()
# Create vector store
vectorstore = Chroma.from_documents(
documents=documents,
embedding=embeddings,
persist_directory="./chroma_db"
)
# FAISS Vector Store
from langchain.vectorstores import FAISS
vectorstore = FAISS.from_documents(
documents=documents,
embedding=embeddings
)
# Pinecone Vector Store
from langchain.vectorstores import Pinecone
import pinecone
pinecone.init(api_key="your-api-key", environment="us-west1-gcp")
vectorstore = Pinecone.from_documents(
documents=documents,
embedding=embeddings,
index_name="my-index"
)
# OpenAI Embeddings
from langchain_openai import OpenAIEmbeddings
embeddings = OpenAIEmbeddings(model="text-embedding-ada-002")
# Hugging Face Embeddings
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(
model_name="sentence-transformers/all-MiniLM-L6-v2"
)
# Cohere Embeddings
from langchain.embeddings import CohereEmbeddings
embeddings = CohereEmbeddings(model="embed-english-v2.0")
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI, OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
# Load documents
loader = DirectoryLoader("./data", glob="**/*.txt")
documents = loader.load()
# Split documents
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200
)
texts = text_splitter.split_documents(documents)
# Create embeddings and vector store
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(texts, embeddings)
# Create retriever
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
# Create QA chain
llm = ChatOpenAI(temperature=0, model="gpt-4")
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=retriever,
return_source_documents=True
)
# Run query
result = qa_chain({"query": "What is the main topic?"})
print(result["result"])
print(result["source_documents"])
import os
# Enable tracing
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "your-api-key"
os.environ["LANGCHAIN_PROJECT"] = "my-project"
# Your LangChain code here
# All executions will be traced in LangSmith
from langchain.chains import LLMChain
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
template = "Tell me a joke about {topic}"
prompt = PromptTemplate(template=template, input_variables=["topic"])
llm = ChatOpenAI(temperature=0.9)
chain = LLMChain(llm=llm, prompt=prompt)
# This will be traced
result = chain.run(topic="programming")
| Variable | Purpose | Default |
|---|---|---|
LANGCHAIN_API_KEY | LangSmith API key for tracing | None |
LANGCHAIN_TRACING_V2 | Enable LangSmith tracing | false |
LANGCHAIN_PROJECT | LangSmith project name | default |
LANGCHAIN_ENDPOINT | Custom LangSmith endpoint | https://api.smith.langchain.com |
OPENAI_API_KEY | OpenAI API key for models/embeddings | None |
# Method 1: Environment variables
export LANGCHAIN_API_KEY="your-api-key"
export LANGCHAIN_TRACING_V2="true"
export LANGCHAIN_PROJECT="my-project"
# Method 2: Python configuration
from langsmith import Client
client = Client(api_key="your-api-key")
# config/chain_config.py
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
class ChainConfig:
"""Base chain configuration"""
def __init__(self, temperature=0, model="gpt-4"):
self.temperature = temperature
self.model = model
def create_llm(self):
return ChatOpenAI(
temperature=self.temperature,
model=self.model
)
def create_chain(self, template, input_variables):
prompt = PromptTemplate(
template=template,
input_variables=input_variables
)
llm = self.create_llm()
return LLMChain(llm=llm, prompt=prompt)
| Agent | Use Case |
|---|---|
| llm-architect | LangChain system design, RAG architecture, agent design |
| developer | Chain implementation, agent integration, RAG setup |
| architect | System architecture, integration patterns |
| Agent | Use Case |
|---|---|
| qa | Chain testing, agent validation |
| performance-engineer | Chain optimization, embedding performance |
| security-architect | Security review, prompt injection prevention |
# LLM Architect: Design RAG system
from langchain.chains import RetrievalQA
from langchain.vectorstores import Chroma
# Define architecture
architecture = {
"loader": "DirectoryLoader",
"splitter": "RecursiveCharacterTextSplitter",
"embeddings": "OpenAIEmbeddings",
"vectorstore": "Chroma",
"chain_type": "stuff",
"retriever": {"k": 3}
}
# Developer: Implement RAG system
from langchain.document_loaders import DirectoryLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
loader = DirectoryLoader("./data", glob="**/*.txt")
documents = loader.load()
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200
)
texts = text_splitter.split_documents(documents)
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(texts, embeddings)
retriever = vectorstore.as_retriever(search_kwargs={"k": 3})
llm = ChatOpenAI(temperature=0, model="gpt-4")
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=retriever
)
# QA: Test RAG system
test_queries = [
"What is the main topic?",
"Summarize the key points",
"What are the conclusions?"
]
for query in test_queries:
result = qa_chain({: query})
()
()
()
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
# Define prompt
template = """You are a helpful assistant. Answer the following question concisely.
Question: {question}
Answer:"""
prompt = PromptTemplate(template=template, input_variables=["question"])
# Create chain
llm = ChatOpenAI(temperature=0, model="gpt-4")
chain = LLMChain(llm=llm, prompt=prompt)
# Run chain
questions = [
"What is machine learning?",
"Explain neural networks",
"What is transfer learning?"
]
for question in questions:
result = chain.run(question=question)
print(f"Q: {question}")
print(f"A: {result}\n")
from langchain.agents import AgentType, initialize_agent, load_tools
from langchain.memory import ConversationBufferMemory
from langchain_openai import ChatOpenAI
# Create LLM
llm = ChatOpenAI(temperature=0, model="gpt-4")
# Load tools
tools = load_tools(["llm-math"], llm=llm)
# Create memory
memory = ConversationBufferMemory(memory_key="chat_history", return_messages=True)
# Create agent
agent = initialize_agent(
tools,
llm,
agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,
memory=memory,
verbose=True
)
# Conversation
agent.run("What is 25 * 4?")
agent.run("Add 10 to the previous result")
agent.run("What was the first calculation I asked?")
from langchain.chains import RetrievalQA
from langchain.document_loaders import TextLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain.vectorstores import FAISS
from langchain_openai import OpenAIEmbeddings, ChatOpenAI
# Load document
loader = TextLoader("document.txt")
documents = loader.load()
# Split text
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
texts = text_splitter.split_documents(documents)
# Create embeddings and vector store
embeddings = OpenAIEmbeddings()
vectorstore = FAISS.from_documents(texts, embeddings)
# Create QA chain
llm = ChatOpenAI(temperature=0, model="gpt-4")
qa_chain = RetrievalQA.from_chain_type(
llm=llm,
chain_type="stuff",
retriever=vectorstore.as_retriever(),
return_source_documents=True
)
# Query with sources
result = qa_chain({"query": "What are the key findings?"})
print(f"Answer: {result['result']}\n")
print("Sources:")
for doc in result['source_documents']:
print(f"- {doc.page_content[:100]}...")
from langchain.agents import Tool, AgentType, initialize_agent
from langchain_openai import ChatOpenAI
# Define custom tools
def get_weather(location: str) -> str:
"""Get weather for a location"""
return f"The weather in {location} is sunny and 72°F"
def calculate_tip(bill: str) -> str:
"""Calculate 20% tip for a bill"""
amount = float(bill)
tip = amount * 0.20
return f"20% tip on ${amount:.2f} is ${tip:.2f}"
tools = [
Tool(
name="Weather",
func=get_weather,
description="Get weather for a location. Input should be a city name."
),
Tool(
name="TipCalculator",
func=calculate_tip,
description="Calculate 20% tip. Input should be the bill amount."
)
]
# Create agent
llm = ChatOpenAI(temperature=0, model="gpt-4")
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# Use agent
agent.run("What's the weather in San Francisco?")
agent.run("Calculate tip for a $50 bill")
from langchain.chains import SequentialChain, LLMChain
from langchain.prompts import PromptTemplate
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(temperature=0.7, model="gpt-4")
# First chain: Generate topic
topic_template = "Generate a topic for a blog post about {subject}"
topic_prompt = PromptTemplate(template=topic_template, input_variables=["subject"])
topic_chain = LLMChain(llm=llm, prompt=topic_prompt, output_key="topic")
# Second chain: Generate outline
outline_template = "Create an outline for a blog post about: {topic}"
outline_prompt = PromptTemplate(template=outline_template, input_variables=["topic"])
outline_chain = LLMChain(llm=llm, prompt=outline_prompt, output_key="outline")
# Third chain: Write introduction
intro_template = "Write an introduction for this outline:\n{outline}"
intro_prompt = PromptTemplate(template=intro_template, input_variables=["outline"])
intro_chain = LLMChain(llm=llm, prompt=intro_prompt, output_key="introduction")
# Combine chains
overall_chain = SequentialChain(
chains=[topic_chain, outline_chain, intro_chain],
input_variables=["subject"],
output_variables=["topic", "outline", "introduction"],
verbose=True
)
# Run sequential chain
result = overall_chain({"subject": "artificial intelligence"})
print(f"Topic: {result['topic']}")
print(f"\nOutline: {result['outline']}")
print()
Issue: ImportError: No module named 'langchain'
# Solution: Install the package
pip install langchain langchain-community langchain-openai
Issue: ValueError: Did not find openai_api_key
# Solution: Set API key
export OPENAI_API_KEY="your-api-key"
# Or in code
import os
os.environ["OPENAI_API_KEY"] = "your-api-key"
Issue: ChromaDB connection error
# Solution: Install ChromaDB
pip install chromadb
# Or use in-memory mode
from langchain.vectorstores import Chroma
vectorstore = Chroma.from_documents(
documents=documents,
embedding=embeddings
# No persist_directory = in-memory
)
Issue: Agent stuck in loop or gives poor results
# Solution: Adjust temperature and add max_iterations
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent
llm = ChatOpenAI(temperature=0, model="gpt-4") # Lower temperature
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
max_iterations=5, # Limit iterations
early_stopping_method="generate", # Force generation
verbose=True
)
Issue: Memory errors with large documents
# Solution: Use smaller chunk sizes and streaming
from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=500, # Smaller chunks
chunk_overlap=50
)
# Or use streaming for vector store
from langchain.vectorstores import Chroma
vectorstore = Chroma.from_documents(
documents=texts[:100], # Process in batches
embedding=embeddings
)
Issue: LangSmith traces not appearing
# Solution: Verify environment variables
echo $LANGCHAIN_TRACING_V2 # Should be "true"
echo $LANGCHAIN_API_KEY # Should be your API key
echo $LANGCHAIN_PROJECT # Should be your project name
# Check connection
python -c "from langsmith import Client; client = Client(); print('Connected')"
# Enable verbose logging
import logging
logging.basicConfig(level=logging.DEBUG)
# Enable chain verbose mode
from langchain.chains import LLMChain
chain = LLMChain(llm=llm, prompt=prompt, verbose=True)
# Enable agent verbose mode
from langchain.agents import initialize_agent
agent = initialize_agent(tools, llm, verbose=True)
# Check package versions
pip list | grep -E "langchain|openai|chromadb"
# Test basic functionality
python -c "
from langchain.llms import OpenAI
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate
print('LangChain installation verified')
"