Przejdź do treści
Biblioteka skilli
AI i agenci · Budowanie i kod

langchain

/langchain

Pomaga w aplikacjach LangChain: RAG, agentach, łańcuchach LLM i budowie aplikacji opartych na modelach językowych.

Repozytorium
hello-skill ↗
Licencja
MIT
Ostatnia zmiana repozytorium
02.07.2026

Ocena i bezpieczeństwo

86/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność21 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 02.07.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Pomaga w aplikacjach LangChain: RAG, agentach, łańcuchach LLM i budowie aplikacji opartych na modelach językowych.

Oryginalny opis (EN)

LangChain开发专家助手。当用户需要进行LangChain应用开发、RAG检索增强生成、Agent智能体、LLM Chain或AI应用框架开发时调用。

Jak działa

  1. 技术栈强制约束
  2. 命名规范
  3. 项目结构
  4. 核心组件规范
  5. RAG 规范
  6. Agent 规范
  7. 注释规范
  8. 代码质量强制要求
  9. 测试规范
  10. 最佳实践
Sekcje z nagłówków SKILL.md, w oryginale · 97 linii, 288 słów
Podgląd SKILL.md
---
name: "langchain"
description: "LangChain开发专家助手。当用户需要进行LangChain应用开发、RAG检索增强生成、Agent智能体、LLM Chain或AI应用框架开发时调用。"
---

# LangChain 开发技能

你是一位资深 LangChain 开发工程师。在协助 LangChain 项目时,请遵循以下规范。

## 技术栈强制约束

- 使用 LangChain 0.2+ 版本(使用 `langchain-core`、`langchain-community` 拆分包)
- Python 3.10+ 版本
- 使用 LangGraph 构建 Agent 工作流(替代旧版 AgentExecutor)
- 类型注解必须完整,使用 `pydantic v2` 进行数据校验
- 禁止使用已废弃的 `llm` 参数,统一使用 `llm` → `model` 新命名

## 命名规范

- 模块/包:snake_case(`rag_chain.py`、`search_tool.py`)
- 类名:PascalCase(`DocumentRetriever`、`QAChain`)
- 函数/方法:snake_case(`retrieve_documents`、`build_chain`)
- 常量:UPPER_SNAKE_CASE(`DEFAULT_CHUNK_SIZE`、`MAX_RETRIES`)
- Chain 名:kebab-case(`qa-chain`、`summarize-chain`)
- 命名语义化,禁止拼音、无意义缩写

## 项目结构

- `chains/`:Chain 定义与组合
- `agents/`:Agent 与 Tool 定义
- `retrievers/`:检索器与向量存储配置
- `models/`:LLM 与 Embedding 模型配置
- `prompts/`:Prompt 模板管理
- `memory/`:对话记忆与状态管理
- `utils/`:工具函数与通用组件

## 核心组件规范

- Model:使用 `ChatModel` 接口,统一通过 `init_chat_model` 初始化
- Chain:使用 LCEL(LangChain Expression Language)组合,优先 `chain = prompt | model | parser`
- Agent:使用 LangGraph 构建状态图,定义节点与边
- Tool:继承 `BaseTool`,必须定义 `name`、`description`、`args_schema`
- Memory:优先使用 `RunnableWithMessageHistory`,避免旧版 `ConversationBufferMemory`
- Retriever:实现 `BaseRetriever` 接口,支持异步检索

## RAG 规范

- 文档切分:使用 `RecursiveCharacterTextSplitter`,chunk_size 500-1000,overlap 10%-20%
- Embedding 模型:优先使用 OpenAI / 本地 BGE 模型
- 向量数据库选型:
  - 开发/小规模:FAISS / Chroma
  - 生产/大规模:Milvus / Pinecone / Weaviate
- 检索策略:混合检索(向量 + 关键词)优于单一检索
- 重排序:使用 `ContextualCompressionRetriever` 或 Cohere Reranker
- 引用溯源:返回文档来源与相关性分数

## Agent 规范

- 使用 LangGraph `StateGraph` 构建工作流
- 定义明确的 `AgentState`(TypedDict)管理状态
- Tool 选择遵循最小权限原则,仅提供必要工具
- 必须设置最大迭代次数,防止无限循环
- 必须处理工具调用异常,提供降级回复
- 使用 `ToolNode` 统一管理工具执行

## 注释规范

- 所有模块、类必须有中文 docstring,说明用途和职责
- 所有 public 函数/方法必须有中文 docstring,包含功能说明、参数、返回值
- 复杂 Chain 组合逻辑必须添加中文注释说明数据流向
- Tool 的 description 必须使用中文,清晰描述功能与适用场景
- TODO 注释格式:`# TODO: [作者] 具体待办事项描述`
- 禁止无意义注释,注释必须与代码保持同步

## 代码质量强制要求

- 禁止空指针:所有外部输入必须校验,模型返回值必须判空
- 禁止魔法值:所有配置参数必须定义为命名常量或配置项
- 集合操作前必须判空,使用 `if not list` 或 `if not dict`
- LLM 调用必须设置超时和重试机制
- 必须处理速率限制(Rate Limit)异常
- 使用 `with_structured_output` 强制结构化输出
- 禁止在日志中记录完整 Prompt 和敏感用户数据

## 测试规范

- 使用 `pytest` + `pytest-asyncio` 进行异步测试
- 使用 `FakeListLLM` 或 `FakeChatModel` 模拟 LLM 响应
- 测试命名:`test_{功能}_{场景}_{期望结果}`
- RAG 测试:覆盖检索召回率、答案准确性、引用准确性
- Agent 测试:覆盖工具调用正确性、异常处理、迭代限制

## 最佳实践

- 优先使用 LCEL 组合 Chain,避免命令式编程
- 使用 LangSmith 进行链路追踪与调试
- 生产环境使用 LangServe 部署 REST API
- 对话历史持久化到 Redis / 数据库,避免内存泄漏
- 流式输出使用 `astream` 提升用户体验
- 缓存 LLM 响应减少重复调用成本

Wersje

RepozytoriumWynikLicencja
Ta strona · dkbnull/hello-skill86MIT
znlgis/opengis-skills100MIT
langchain-ai/docs100MIT
svngoku/coding-agents-skills100MIT
synthetic-sciences/openscience100Apache-2.0
dhar174/langgraph_system_generator100MIT
claude-dev-suite/claude-dev-suite100MIT
G1Joshi/Agent-Skills100MIT
TerminalSkills/skills98Apache-2.0

Migawka bazy z 28.10.2026 · wersja paczki 16eb334ae970 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 98langchain-architecture
    Pomaga projektować aplikacje LLM we frameworku LangChain z agentami, pamięcią i integracją narzędzi.
  • 98langchain-architecture
    Pomaga projektować aplikacje LLM we frameworku LangChain z agentami, pamięcią i integracją narzędzi.
  • 98langchain-architecture
    Pomaga projektować aplikacje LLM we frameworku LangChain z agentami, pamięcią i integracją narzędzi.
  • 98langchain-architecture
    Projektuje aplikacje LLM w LangChain: agentów, pamięć i integrację narzędzi według sprawdzonych wzorców.
  • 100langchain-init
    Inicjuje nowy projekt LangChain w TypeScript do budowy aplikacji opartej na LLM lub szkieletu projektu agenta AI.
  • 100langchain-development
    Pomaga w pracy z frameworkiem LangChain dla JS i TS: modele czatu, szablony promptów, łańcuchy LCEL, wiązanie narzędzi i potoki RAG.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.