← 홈

🦜

⌘K
🤖
Claude Code AI 도구
🤗
Hugging Face AI 도구
🦜
LangChain AI 도구
🧠
Keras AI 도구
🦙
Ollama AI 도구
🐍
Python 프로그래밍 언어
🟨
JavaScript 프로그래밍 언어
🔷
TypeScript 프로그래밍 언어
⚛️
React 프로그래밍 언어
🐹
Go 프로그래밍 언어
🦀
Rust 프로그래밍 언어
📊
MATLAB 프로그래밍 언어
🗄️
SQL 프로그래밍 언어
⚙️
C/C++ 프로그래밍 언어
Java 프로그래밍 언어
🟣
C# 프로그래밍 언어
🍎
Swift 프로그래밍 언어
🟠
Kotlin 프로그래밍 언어
Next.js 프로그래밍 언어
💚
Vue.js 프로그래밍 언어
🔥
Svelte 프로그래밍 언어
🎨
Tailwind CSS 프로그래밍 언어
💚
Node.js 프로그래밍 언어
🌐
HTML 프로그래밍 언어
🎨
CSS/SCSS 프로그래밍 언어
🐘
PHP 프로그래밍 언어
💎
Ruby 프로그래밍 언어
🔴
Scala 프로그래밍 언어
📊
R 프로그래밍 언어
🎯
Dart 프로그래밍 언어
💧
Elixir 프로그래밍 언어
🌙
Lua 프로그래밍 언어
🐪
Perl 프로그래밍 언어
🅰️
Angular 프로그래밍 언어
🚂
Express.js 프로그래밍 언어
🐱
NestJS 프로그래밍 언어
🛤️
Ruby on Rails 프로그래밍 언어
◼️
GraphQL 프로그래밍 언어
🟪
Haskell 프로그래밍 언어
💚
Nuxt.js 프로그래밍 언어
🔷
SolidJS 프로그래밍 언어
htmx 프로그래밍 언어
💻
VS Code 개발 도구
🧠
PyCharm 개발 도구
📓
Jupyter 개발 도구
🧠
IntelliJ IDEA 개발 도구
💚
Neovim 개발 도구
🔮
Emacs 개발 도구
🔀
Git DevOps & CLI
🐳
Docker DevOps & CLI
☸️
Kubernetes DevOps & CLI
☁️
AWS CLI DevOps & CLI
🔄
GitHub Actions DevOps & CLI
🐧
Linux 명령어 DevOps & CLI
💻
Bash 스크립팅 DevOps & CLI
🌐
Nginx DevOps & CLI
📝
Vim DevOps & CLI
🔨
Makefile DevOps & CLI
🧪
Pytest DevOps & CLI
🪟
Windows DevOps & CLI
📦
패키지 매니저 DevOps & CLI
🍎
macOS DevOps & CLI
🏗️
Terraform DevOps & CLI
🔧
Ansible DevOps & CLI
Helm DevOps & CLI
🔨
Jenkins DevOps & CLI
🔥
Prometheus DevOps & CLI
📊
Grafana DevOps & CLI
💻
Zsh DevOps & CLI
🐟
Fish Shell DevOps & CLI
💙
PowerShell DevOps & CLI
🔄
Argo CD DevOps & CLI
🔀
Traefik DevOps & CLI
☁️
Azure CLI DevOps & CLI
☁️
Google Cloud CLI DevOps & CLI
📟
tmux DevOps & CLI
🔧
jq DevOps & CLI
✂️
sed DevOps & CLI
📊
awk DevOps & CLI
🌊
Apache Airflow DevOps & CLI
🔢
NumPy 데이터베이스 & 데이터
🐼
Pandas 데이터베이스 & 데이터
🔥
PyTorch 데이터베이스 & 데이터
🧠
TensorFlow 데이터베이스 & 데이터
📈
Matplotlib 데이터베이스 & 데이터
🐘
PostgreSQL 데이터베이스 & 데이터
🐬
MySQL 데이터베이스 & 데이터
🍃
MongoDB 데이터베이스 & 데이터
🔴
Redis 데이터베이스 & 데이터
🔍
Elasticsearch 데이터베이스 & 데이터
🤖
Scikit-learn 데이터베이스 & 데이터
👁️
OpenCV 데이터베이스 & 데이터
Apache Spark 데이터베이스 & 데이터
🪶
SQLite 데이터베이스 & 데이터
Supabase 데이터베이스 & 데이터
🔵
Neo4j 데이터베이스 & 데이터
📨
Apache Kafka 데이터베이스 & 데이터
🐰
RabbitMQ 데이터베이스 & 데이터
🔤
Regex 유틸리티
📝
Markdown 유틸리티
📄
LaTeX 유틸리티
🔐
SSH & GPG 유틸리티
🌐
curl & HTTP 유틸리티
📜
reStructuredText 유틸리티
🚀
Postman 유틸리티
🎬
FFmpeg 유틸리티
🖼️
ImageMagick 유틸리티
🔍
ripgrep 유틸리티
🔍
fzf 유틸리티
📗
Microsoft Excel 오피스 애플리케이션
📘
Microsoft Word 오피스 애플리케이션
📙
Microsoft PowerPoint 오피스 애플리케이션
📝
한컴 한글 한컴오피스
📽️
한컴 한쇼 한컴오피스
📊
한컴 한셀 한컴오피스
📄
Google 문서 Google Workspace
📊
Google 스프레드시트 Google Workspace
📽️
Google 프레젠테이션 Google Workspace
🔌
Cadence Virtuoso EDA & 하드웨어
⚙️
Synopsys EDA EDA & 하드웨어
💎
Verilog & VHDL EDA & 하드웨어
LTSpice EDA & 하드웨어
🔧
KiCad EDA & 하드웨어
📝
Notion 생산성 도구
💎
Obsidian 생산성 도구
💬
Slack 생산성 도구
🎮
Discord 생산성 도구
🎨
Figma 디자인 도구
📘
Confluence Atlassian
📋
Jira Atlassian
🃏
Jest 테스팅
Vitest 테스팅
🎭
Playwright 테스팅
🌲
Cypress 테스팅
🌐
Selenium 테스팅
💙
Flutter 모바일 개발
📱
React Native 모바일 개발
🍎
SwiftUI 모바일 개발
📱
Expo 모바일 개발
🐍
Django 웹 프레임워크
FastAPI 웹 프레임워크
🌶️
Flask 웹 프레임워크
🍃
Spring Boot 웹 프레임워크
🍸
Gin 웹 프레임워크
Vite 빌드 도구
📦
Webpack 빌드 도구
esbuild 빌드 도구
🐘
Gradle 빌드 도구
🪶
Maven 빌드 도구
🔧
CMake 빌드 도구
🎮
Unity 게임 개발
🤖
Godot 게임 개발
🔌
Arduino 임베디드 & IoT
🔍
Nmap 보안
🐕
Datadog 모니터링
📖
Swagger/OpenAPI 문서화
검색 결과가 없습니다
EN KO

기초

설치

pip install langchain LangChain 설치
pip install langchain-openai OpenAI 통합
pip install langchain-anthropic Anthropic 통합
pip install langchain-community 커뮤니티 통합
pip install langchain-chroma Chroma 벡터 스토어

LLM 기초

OpenAI
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
  model="gpt-4",
  temperature=0.7,
  api_key="your-api-key"
)

response = llm.invoke("Hello, how are you?")
Anthropic
from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(
  model="claude-3-sonnet-20240229",
  api_key="your-api-key"
)
메시지
from langchain_core.messages import HumanMessage, SystemMessage, AIMessage

messages = [
  SystemMessage(content="You are a helpful assistant."),
  HumanMessage(content="What is Python?"),
]

response = llm.invoke(messages)

프롬프트

프롬프트 템플릿

기본 템플릿
from langchain_core.prompts import PromptTemplate

template = PromptTemplate.from_template(
  "Tell me a {adjective} joke about {topic}."
)

prompt = template.format(adjective="funny", topic="programming")
채팅 템플릿
from langchain_core.prompts import ChatPromptTemplate

template = ChatPromptTemplate.from_messages([
  ("system", "You are a {role}."),
  ("human", "{input}"),
])

messages = template.format_messages(
  role="helpful assistant",
  input="What is AI?"
)
퓨샷 프롬프트
from langchain_core.prompts import FewShotPromptTemplate

examples = [
  {"input": "happy", "output": "sad"},
  {"input": "tall", "output": "short"},
]

example_prompt = PromptTemplate.from_template(
  "Input: {input}\nOutput: {output}"
)

few_shot = FewShotPromptTemplate(
  examples=examples,
  example_prompt=example_prompt,
  prefix="Give the antonym:",
  suffix="Input: {word}\nOutput:",
  input_variables=["word"],
)

체인

LCEL 체인

간단한 체인
from langchain_core.output_parsers import StrOutputParser

chain = template | llm | StrOutputParser()

result = chain.invoke({"topic": "Python"})
리트리버 포함
from langchain_core.runnables import RunnablePassthrough

rag_chain = (
  {"context": retriever, "question": RunnablePassthrough()}
  | prompt
  | llm
  | StrOutputParser()
)

result = rag_chain.invoke("What is RAG?")
병렬 체인
from langchain_core.runnables import RunnableParallel

chain = RunnableParallel(
  summary=summary_chain,
  translation=translation_chain,
)

result = chain.invoke({"text": "Hello world"})
분기
from langchain_core.runnables import RunnableBranch

branch = RunnableBranch(
  (lambda x: "math" in x["topic"].lower(), math_chain),
  (lambda x: "science" in x["topic"].lower(), science_chain),
  general_chain,  # default
)

RAG

문서 로딩

텍스트 로더
from langchain_community.document_loaders import TextLoader

loader = TextLoader("document.txt")
docs = loader.load()
PDF 로더
from langchain_community.document_loaders import PyPDFLoader

loader = PyPDFLoader("document.pdf")
docs = loader.load()
웹 로더
from langchain_community.document_loaders import WebBaseLoader

loader = WebBaseLoader("https://example.com")
docs = loader.load()
디렉토리 로더
from langchain_community.document_loaders import DirectoryLoader

loader = DirectoryLoader("./docs", glob="**/*.txt")
docs = loader.load()

텍스트 분할

문자 분할기
from langchain.text_splitter import RecursiveCharacterTextSplitter

splitter = RecursiveCharacterTextSplitter(
  chunk_size=1000,
  chunk_overlap=200,
)

chunks = splitter.split_documents(docs)
토큰 분할기
from langchain.text_splitter import TokenTextSplitter

splitter = TokenTextSplitter(
  chunk_size=500,
  chunk_overlap=50,
)

chunks = splitter.split_documents(docs)

벡터 스토어

Chroma
from langchain_chroma import Chroma
from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings()

vectorstore = Chroma.from_documents(
  documents=chunks,
  embedding=embeddings,
  persist_directory="./chroma_db"
)

# Retriever
retriever = vectorstore.as_retriever(
  search_type="similarity",
  search_kwargs={"k": 4}
)
FAISS
from langchain_community.vectorstores import FAISS

vectorstore = FAISS.from_documents(chunks, embeddings)

# Save and load
vectorstore.save_local("faiss_index")
vectorstore = FAISS.load_local("faiss_index", embeddings)

RAG 체인

완전한 RAG
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnablePassthrough

template = """Answer based on context:
{context}

Question: {question}
"""

prompt = ChatPromptTemplate.from_template(template)

rag_chain = (
  {"context": retriever | format_docs, "question": RunnablePassthrough()}
  | prompt
  | llm
  | StrOutputParser()
)

def format_docs(docs):
  return "\n\n".join(doc.page_content for doc in docs)

result = rag_chain.invoke("What is machine learning?")

에이전트

도구 및 에이전트

도구 정의
from langchain_core.tools import tool

@tool
def search(query: str) -> str:
  """Search the web for information."""
  return f"Results for: {query}"

@tool
def calculator(expression: str) -> str:
  """Evaluate a math expression."""
  return str(eval(expression))
에이전트 생성
from langchain.agents import create_tool_calling_agent, AgentExecutor

tools = [search, calculator]

prompt = ChatPromptTemplate.from_messages([
  ("system", "You are a helpful assistant."),
  ("human", "{input}"),
  ("placeholder", "{agent_scratchpad}"),
])

agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)

result = executor.invoke({"input": "What is 25 * 4?"})
ReAct 에이전트
from langchain.agents import create_react_agent
from langchain import hub

prompt = hub.pull("hwchase17/react")
agent = create_react_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

메모리

대화 메모리

버퍼 메모리
from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory(return_messages=True)

memory.save_context(
  {"input": "Hi, I am John"},
  {"output": "Hello John!"}
)

history = memory.load_memory_variables({})
윈도우 메모리
from langchain.memory import ConversationBufferWindowMemory

memory = ConversationBufferWindowMemory(
  k=5,  # Keep last 5 exchanges
  return_messages=True
)
요약 메모리
from langchain.memory import ConversationSummaryMemory

memory = ConversationSummaryMemory(
  llm=llm,
  return_messages=True
)
체인과 함께
from langchain.chains import ConversationChain

chain = ConversationChain(
  llm=llm,
  memory=memory,
  verbose=True
)

response = chain.invoke({"input": "Hi!"})