inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

현업에서 LangChain 사용에 대해 질문드립니다

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

안녕하세요 강사님 강의 듣고 이젠 스스로가 재밌어서 LangChain 문서들 혼자서 읽고 학습중입니다 ㅎㅎ 강의를 들으면서 몇개 질문들이 있는데요 현업에서 LangChain이 많이 쓰이나요? 해외 reddit이나 개발자 커뮤니티에서도 랭체인이 오히려 불편하다고, 실제 서비스에서는 안쓴다고 하는 분들이 있어서 현업에서도 잘 쓰는지 궁급합니다 LangChain 공식 문서를 보면 너무 자주 바뀌는데, 어떻게 해결하시나요? 특히 API에서 말하는 예제랑 공식 문서에서 소개하는 예제가 너무 다릅니다 (retrieval chain 등) 현재 2025년 10월 기준, 강의 내용은 0.2 기반이고 현재 랭체인 버전은 0.3, 그리고 10월 말에 1.0이 정식 출시된다고 해서 너무 혼란스럽네요 바뀔 떄마다 코드를 수정하시는건가요?

  • vector-database
  • llm
  • rag
  • openai-api
  • 카카오공채-개발
  • langchain
Ray Oh 댓글 2 좋아요 0 조회수 238

LLM 도서 구매

해결됨

<밑바닥부터 만들면서 배우는 LLM> 완독 챌린지

LLM 도서구매는 개별적으로 하면 되는지요?

  • pytorch
  • gpt-2
  • self-attention
  • transformer
  • llm
swanhwang70 댓글 1 좋아요 0 조회수 135

출처를 좀 더 명확하게 표시해주고 싶습니다!

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

강의에서는 출처를 제공할 때, 프롬프트 설정을 통해 제공하는 형태로 되어있는데 어떤 문서에서 몇 페이지에 있는 건지 표시해주기 Pinecone기준 코사인 유사도를 숫자로 환산해 표시해주기 좀 더 확실한 출처 제공을 위해 위에 적은 기능을 활용해보고 싶은데, 어떤 부분을 수정해줘야 할까요? 지피티 대답이 너무 중구난방에 수정해도 오류가 계속 발생해서 여쭤봅니다!

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
  • 카카오공채-개발
용가리용용 댓글 2 좋아요 0 조회수 99

가상환경 설정방법 문의

해결됨

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

안녕하세요, 가상환경 설정 관련 문의드립니다. 아래를 실행하면 가상환경이 실행되지 않습니다. Dayeaui-MacBook-Pro:~ dayeayim$ cd streamlit-finance-new Dayeaui-MacBook-Pro:streamlit-finance-new dayeayim$ pyenv local inflearn-streamlit 아래 코드를 실행해야만 가상환경이 실행되는데요, 해결방법이 있을까요? export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PYENV_ROOT/shims:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" 이것저것 시도하다가 zprofile과 zshrc 파일을 수정하고 그랬는데 꼬여버린 것 같습니다. 가이드 부탁드리겠습니다! 감사합니다~

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
  • 카카오공채-개발
rarexband 댓글 2 좋아요 0 조회수 165

system 메세지는 정의가 되어 있는 건가요?

미해결

입문자를 위한 LangChain 기초 — v1.0+ 업데이트

안녕하세요. 소스 내용중에 아래와 같은 것이 있습니다. ("system":"이 시스템은 여행 전문가 입니다."), ("user":"{user_input}"), 사용자의 질문이 뭐가 들어올지 모르는 상황에서 여행 전문가라고 지정하는 것이 의미가 있는 것인지요?

  • python
  • llm
  • langchain
  • openai-api
TaeJoon Park 댓글 2 좋아요 0 조회수 112

Docker가 윈도우10에 설치 안되나요?

해결됨

노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)

문제 / 오류 / 질문에 대해 설명해 주세요 이 이후에 어떻게 진행해야 하나요? 오류 메시지가 있다면 작성해 주세요 사용 중인 워크플로우를 공유해 주세요 n8n 설치 정보 안내 n8n 버전: 데이터베이스 종류 (기본값: SQLite): n8n 실행 프로세스 설정 (기본값: own, main): n8n 실행 방식 (예: Docker, npm, n8n cloud, 데스크탑 앱 등): 운영 체제:

  • 업무-생산성
  • n8n
  • chatgpt
  • llm
  • 카카오공채-개발
  • 카카오공채-서비스
나무지기 댓글 4 좋아요 0 조회수 1244

should_continue를 통과하며 데이터 전송

미해결

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

노드에게 데이터를 전달하려고 하는데요. from langgraph.graph import START, END graph_builder.add_edge(START, 'order_detection_agent') graph_builder.add_conditional_edges('order_detection_agent', should_continue_user_info, [END, 'parser_agent']) graph_builder.add_edge('parser_agent', END) 구조는 이러한데, def order_detection_agent(state: AgentState) -> AgentState: products = get_products() query = state['question'] rag_chain = order_detection_prompt | llm | StrOutputParser() response = rag_chain.invoke({'query': query, 'products': products}) print("order_agent 주문 판단 여부:", response) print(products['products']) if response.strip().lower() == 'true': state['products'] = products['products'] return 'parser_agent', state return {'message': '주문이 아닌 것으로 판단.'} 이 노드에서 return 'parser_agent', state 이런식으로 노드별로 데이터 전달이 가능한 것은 확인하였습니다. 다만, should_continue를 통과하게 되면 에러가 나는데 should_continue를 통과하여 데이터를 전달할 수는 없나요?

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
  • 카카오공채-개발
support 댓글 1 좋아요 0 조회수 78

split_text 문의

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

안녕하세요. 코드를 보면 문서를 인코딩 후 청크 단위로 나눈 다음 다시 디코딩하여 임베딩 하는데요. 언뜻 생각하기로는 다시 디코딩하는 것이 효율적이지 않은 것 같은데요. 바로 임베딩하지 않고 디코딩하여 임베딩하는 이유가 있을까요?

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
  • 카카오공채-개발
ㅋㅋㅋ 댓글 2 좋아요 0 조회수 81

미업로드된 영상강의 업로드 일정이 궁금합니다.

해결됨

Cursor AI로 만들면서 배우는 Web & Javascript

강사님, 안녕하세요. 좋은 강의를 열어주셔서 감사합니다! 현재 업로드한 강의는 모두 들었으나, 아래 영상은 미제공되어 업로드 일정 문의드립니다. 1. 8/30 업로드 예정이나 미업로드된 강의(54, 55, 56, 57) 2. 영상 편집 중으로 미업로드된 강의(59) 3. 8/31 업로드 예정이나 미업로드된 강의(62, 63, 64, 65, 66, 67, 68, 69)

  • HTML/CSS
  • javascript
  • llm
  • ai-활용-(ax)
  • cursorai
gsleeap 댓글 1 좋아요 0 조회수 119

이전 대화를 기억하고 다시 반환하도록.

미해결

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

안녕하세요 from langchain_core.prompts import PromptTemplate purpose_prompt = PromptTemplate.from_template(""" You are an expert at parsing and extracting delivery addresses and phone numbers from user input. User's input: {query} Instructions: If you can accurately identify both a delivery address and a phone number from the user's input, set the message field to "해당 정보가 맞습니까?" and include the data field with "delivery_address: {{delivery_address}}, phone_number: {{phone_number}}". If only one of the two values (delivery address or phone number) is identified, set the message to request the missing information by saying "배송지를 다시 한 번 입력해주세요." or "연락처를 다시 한 번 입력해주세요." as appropriate. If neither can be identified, set the message to "배송지와 연락처를 다시 한 번 입력해주세요." and return an empty dictionary for the data field. If you have already asked "해당 정보가 맞습니까?" and receive a positive answer from the user (e.g., '맞다', '맞아', 'ㅇㅇ', '네', '예'), set the message to "해당 정보를 저장해두겠습니다." and return to previously parsed delivery address and phone number in the data field as "delivery_address: {{delivery_address}}, phone_number: {{phone_number}}". If you have already asked "해당 정보가 맞습니까?" but the user responds negatively, set the message to "배송지를 다시 한 번 입력해주세요." or "연락처를 다시 한 번 입력해주세요." as appropriate. Return format: {{ "message": {{message}}, "data": {{ "delivery_address": {{delivery_address}}, "phone_number": {{phone_number}} }} }} """) 현재 이런 프롬프트를 사용하고 있습니다. 간단하게, ai와 대화하며 배송지와 연락처 정보를 기억하게 하고 싶은데요. 지금 잘 안되는 부분은 가장 마지막입니다. ai: 이 배송지와, 연락처 정보가 맞습니까? 배송지: ㅂ, 연락처: 3 사용자 : 맞아 ai: 해당 정보를 저장하겠습니다. 배송지: ㅂ, 연락처: 3 이 부분이 잘 안되고 있는데요. 이전에 대화했던 배송지와 연락처 정보를 못 불러오고 있습니다. 노드나 tool을 사용하지않고 프롬프트로만 해보고 있는데 노드나 tool을 사용해야 할까요? 혹은 적합한 다른 구조가 있을까요?

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
support 댓글 2 좋아요 0 조회수 93

input key가 여러개인 경우 RunnablePassThrough를 쓰는 이유가 궁금합니다.

미해결

한시간으로 끝내는 LangChain 기본기

5강 마지막에 RunnablePassThrough의 경우 딕셔너리 형태의 key 와 value를 넘겨줄 때 key(강의에서 information)를 미리 RunnablePassThrough에 할당하면 value만 str형태로 입력해도 간편하게 invoke할 수 있다는 것으로 이해했는데요, 두번째 예시에서 key가 두가지인 경우(information, continent)에 RunnablePassThrough를 사용하나 하지 않으나 딕셔너리 형태로 두 키와 밸류를 모두 입력해야하는 것 아닌가요? 강의의 의도가 이런 경우에는 RunnablePassThrough를 쓰는 것이 적절하지 않다는 것인지, 혹은 제가 놓지는 무언가가 있는지 궁금합니다.

  • 프롬프트엔지니어링
  • llm
  • langchain
Kihyun Yun 댓글 1 좋아요 0 조회수 127

hub.pull("rlm/rag-prompt") 실행 시 오류가 발생합니다.

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

위 이미지처럼 코드 실행 시 오류가 발생하는데, 원인 파악이 안돼서 여쭤보고자 합니다. 이전에는 LangSmith API KEY 미존재 오류가 발생하여 .env 파일에 LANGCHAIN_API_KEY, LANGCHAIN_TRACING_V2 값 모두 등록해놓은 상태입니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
Paran 댓글 2 좋아요 0 조회수 290

배포 시 requirement.txt 유무

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

배포 시 requirement.txt 가 존재하지 않을 때는 배포가 되지 않았는데, 추가하니까 배포가 정상적으로 됩니다. 해당 파일은 배포 시 필수 파일인가요 ?

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
댓글 2 좋아요 0 조회수 100

10강 궁금증

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

10강에서 OpenAIEmbeddings -> UpstageEmbeddings로 변경하는 과정을 따라하고 있었습니다. 궁금한 점은 query = "연봉 5천만원인 직장인의 소득세는 얼마인가요?" reviewed_docs = database.similarity_search(query, k=3) 이렇게 진행을 하시고, 또 아래와 같은 코드를 왜 실행시키는지 궁금합니다. # 이제 QA 체인 만들기 from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt" : prompt}) QA 체인이 문서 검색 기능을 해주는 것으로 알고 있는데 왜 위에서 "reviewed_docs = database.similarity_search(query, k=3) " 을 넣으신건지 궁금합니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
댓글 1 좋아요 0 조회수 85

문서 못 찾음

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

%pip install --upgrade --quiet docx2txt langchain-community from langchain_community.document_loaders import Docx2txtLoader from langchain_text_splitters import RecursiveCharacterTextSplitter text_splitter = RecursiveCharacterTextSplitter(chunk_size=1500, chunk_overlap=200) # 사이즈는 하나의 청크가 가지는 토큰 수, 오버랩을 통해 유사도 검색시 우리가 원하는 문서 가져오는 확률 높임(앞뒤 문맥 주기 가능) loader = Docx2txtLoader("./tax.docx") document_list = loader.load_and_split(text_splitter=text_splitter) %pip install -qU langchain-text-splitters document_list len(document_list) from langchain_openai import OpenAIEmbeddings from dotenv import load_dotenv load_dotenv() embedding = OpenAIEmbeddings(model="text-embedding-3-large") %pip install -qU langchain-chroma from langchain_chroma import Chroma # database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name="chroma-tax", persist_directory="./chroma") database = Chroma(collection_name="chroma-tax", persist_directory="./chroma", embedding_function=embedding) print(database._collection.count()) # 문서 개수 query = "연봉 5천만원인 직장인의 소득세는 얼마인가요?" # reviewed_docs = database.similarity_search(query, k=3) from langchain_openai import ChatOpenAI llm = ChatOpenAI(model="gpt-4o") %pip install -U langchain langchainhub --quiet from langchain import hub prompt = hub.pull("rlm/rag-prompt") prompt # 이제 QA 체인 만들기 from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type(llm=llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt" : prompt}) ai_messgae = qa_chain.invoke({"query" : query}) ai_messgae 인강을 들으며 코드를 동일하게 작성하였는데 관련 문서 내용을 찾지 못하여 답변이 저렇게 나오는데 어느 부분이 문제인지 모르겠습니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
댓글 2 좋아요 0 조회수 198

Golden Dataset 관련 질문

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

안녕하세요. 강의 잘 듣고 있습니다. 강의에서 evaluation을 위한 golden dataset을 chatgpt로 생성하셨는데 실무에서는 보통 어떻게 처리하시는지 궁금합니다. 실무에서도 LLM이나 인공지능을 활용하여 dataset을 만드시나요? 아니면 사람이 개입해서 수집이나 조사 등을 통해 작성하시나요?

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
댓글 1 좋아요 0 조회수 193

멘토링 신청은 어디서 하나요

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

멘토링 페이지에서 강사님 이름을 쳐도 안나오는데 멘토링 신청 안받는것인지 궁금해서 여쭤봅니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
개발 까마귀 댓글 1 좋아요 0 조회수 71

Mysql과 벡터 DB를 사용해야하는 경우

미해결

RAG를 활용한 LLM Application 개발 (feat. LangChain)

안녕하세요. 실무에서 Mysql을 많이 사용하는데 Mysql 사용자 테이블을 기준으로 사용자와 비슷한 취미 이런것들을 추천 시스템을 만든다고한다면 mysql에 저장된 데이터를 벡터 DB에 계속 업데이트를 해야하는데 가능한건지 의문이듭니다. 사용자 테이블에는 탈퇴를 했다거나 취미가 바뀌었다거나 등 데이터가 업데이트가 되는데 벡터 DB에서도 해당 데이터를 찾아서 업데이트 되는게 가능한건지 아니면 배치성으로 데이터를 한번에 업데이트를 헤야하는것인지 고민이 드는데 강사님 같은 경우에 어떻게 해결하셨는지 궁금합니다.

  • vector-database
  • llm
  • langchain
  • rag
  • openai-api
개발 까마귀 댓글 2 좋아요 0 조회수 387

krag를 이용한 검색기법 평가관련 질문

미해결

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

안녕하세요. krag를 통해 검색기법들을 평가하는 방법에서 질문이 있습니다. 이렇게 검색기법을 통해서 검색기에 대한 성능을 평가하려면, 우선적으로 question과 answer에 대한 평가셋을 직접 만들어야 하는걸까요?

  • python
  • 챗봇
  • llm
  • langchain
  • rag
아이테킨 댓글 2 좋아요 0 조회수 126

RAG 응답에 대한 커스텀(JSON)

미해결

LangGraph를 활용한 AI Agent 개발 (feat. MCP)

자체 예제를 만들어서 진행해보고 있는데, 사용자가 입력한 정보에서 배송지와 연락처를 추출한다는 상황을 가정하였습니다. 여기서 프롬프트를 from langchain_core.prompts import PromptTemplate purpose_prompt = PromptTemplate.from_template(""" 당신은 사용자의 입력값에 배송지와 연락처가 존재하는지 판단해서, 배송지와 연락처를 정확히 파싱하는 전문가입니다. 예를 들어 입력값이 '판교역로 123번지 23 01022345843'이라면, 배송지는 판교역로 123번지 23이고, 연락처는 01022345843입니다. 만약 배송지와 연락처가 모두 파악되면, message에는 '해당 정보가 맞습니까?'를 입력해주고 data에는 'delivery_address: {{message}}, phone_number: {{phone_number}}'라고 출력하고, 하나만 파악되면, 없는 쪽에 대해 '연락처를 (또는 배송지를) 다시 한 번 입력해주세요.'라고 message에 작성해주세요. 둘 다 파악하지 못했으면 '배송지와 연락처 정보를 다시 한 번 입력해주세요.'라고 message에 출력고 data는 빈 딕셔너리로 반환해주세요. 사용자의 입력값: {{query}} 반환값 포맷: { "message": {{message}}, "data": { "delivery_address": {{delivery_address}}, "phone_number": {{phone_number}} } } """) 이런식으로 짰는데 KeyError: '\n "delivery_address"' During task with name 'generate' and id 이런 에러가 납니다. state를 from typing_extensions import TypedDict class AgentState(TypedDict): question: str message: str data: dict from langchain_core.output_parsers import StrOutputParser def generate(state: AgentState) -> AgentState: """사용자의 입력값을 기반으로 배송지와 연락처 정보를 추출하고, 추출된 결과를 JSON 형식으로 반환합니다.""" query = state['question'] rag_chain = purpose_prompt | llm | StrOutputParser() response = rag_chain.invoke(query) print(response) return {'answer': response} initial_state = {'question': '대왕판교로 1234 201동 앞에 01022384938'} graph.invoke(initial_state) 이렇게 구성해봤는데 어디가 문제인지 모르겠습니다.. generate() 중간에 response를 찍어보려해도 더 이전에 에러가 나서 보이지 않는데.. 어디가 문제인지 알 수 있을까요? 또 output_par

  • 프롬프트엔지니어링
  • llm
  • ai-agent
  • langgraph
  • mcp
support 댓글 3 좋아요 0 조회수 151

인기 태그

인프런 TOP Writers

주간 인기글