묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
STORM 관련 ipynb 소스에서
안녕하세요.. 수업노트에 있는 storm colab 파일을 따라 하는데..import json from langchain_core.runnables import RunnableConfig async def gen_answer( state: InterviewState, config: Optional[RunnableConfig] = None, name: str = "Subject_Matter_Expert", max_str_len: int = 15000, ): swapped_state = swap_roles(state, name) # Convert all other AI messages # 쿼리 생성 queries = await gen_queries_chain.ainvoke(swapped_state) query_results = await search_engine.abatch( queries["parsed"].queries, config, return_exceptions=True ) successful_results = [ res for res in query_results if not isinstance(res, Exception) ] # url와 콘텐츠 추출 all_query_results = { res["url"]: res["content"] for results in successful_results for res in results } # We could be more precise about handling max token length if we wanted to here dumped = json.dumps(all_query_results)[:max_str_len] ai_message: AIMessage = queries["raw"] tool_call = queries["raw"].tool_calls[0] tool_id = tool_call["id"] tool_message = ToolMessage(tool_call_id=tool_id, content=dumped) swapped_state["messages"].extend([ai_message, tool_message]) # Only update the shared state with the final answer to avoid # polluting the dialogue history with intermediate messages generated = await gen_answer_chain.ainvoke(swapped_state) cited_urls = set(generated["parsed"].cited_urls) # Save the retrieved information to a the shared state for future reference cited_references = {k: v for k, v in all_query_results.items() if k in cited_urls} formatted_message = AIMessage(name=name, content=generated["parsed"].as_str) return {"messages": [formatted_message], "references": cited_references}이 부분에서 궁금한 것이 생겼습니다. 중간에 tool_call = queries["raw"].tool_calls[0] tool_id = tool_call["id"] 중간에 tool_calls 관련 정보를 호출하는데..그럴려면 gen_queries_chain이 체인에 tool_bind된 llm이 사용되어야 하는 것 아닌가요? duckduckgo 관련 search_engine함수를 @tool을 이용해서 tool로 선언한 것 같은데.. 해당 퉁을 llm에 바인딩하는 것을 못보아서.. tool index 부분에서 Cell In[46], line 30, in gen_answer(state, config, name, max_str_len) 28 dumped = json.dumps(all_query_results)[:max_str_len] 29 ai_message: AIMessage = queries["raw"] ---> 30 tool_call = queries["raw"].tool_calls[0] 31 tool_id = tool_call["id"] 32 tool_message = ToolMessage(tool_call_id=tool_id, content=dumped) IndexError: list index out of range가 발생하는 것 같습니다. 어떻게 수정하면 되는지 알려주세요..
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
답변 정확성이 떨어지는 것 같습니다
Upstage의 모델을 사용하는데 답변의 정확성이 떨어지는 것 같습니다. 아래 캡처 화면을 보면 retriever가 페이지를 가져오는 것 까지는 괜찮아 보이는데, 가져온 문서의 내용을 적용하여 계산하는 것, 그리고 심지어 기본적인 수학적 계산도 종종 오류를 냅니다 ㅜㅜ 더 정확한 답변을 내도록 할 방법이 있을까요?
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
AI 에이전트를 위한 웹검색(Web search) Tool 에서 DuckDuckGoSearchRun 실행 관련..
안녕하세요..DuckDuckGo 검색 관련 랭체인 가이드 보고 따라하는데from langchain_community.tools import DuckDuckGoSearchRun search = DuckDuckGoSearchRun(cache_results=True) result = search.invoke("obama's first name?") print(result)이를 실행했을 때, 다음과 같은 오류가 발생합니다. 어떻게 수정해야 하는지 알려주셨으면 좋겠습니다.---------------------------------------------------------------------------DuckDuckGoSearchException Traceback (most recent call last) Cell In[18], line 103 from langchain_community.tools import DuckDuckGoSearchRun 6 search = DuckDuckGoSearchRun(cache_results=True) ---> 10 result = search.invoke("obama's first name?") 11 print(result) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/langchain_core/tools/base.py:513, in BaseTool.invoke(self, input, config, kwargs)505 @override 506 def invoke( 507 self, (...) 510kwargs: Any, 511 ) -> Any: 512 tool_input, kwargs = preprun_args(input, config, kwargs) --> 513 return self.run(tool_input, kwargs) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/langchain_core/tools/base.py:774, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, run_name, run_id, config, tool_call_id, kwargs)772 if error_to_raise: 773 run_manager.on_tool_error(error_to_raise) --> 774 raise error_to_raise 775 output = formatoutput(content, artifact, tool_call_id, self.name, status) 776 run_manager.on_tool_end(output, color=color, name=self.name, kwargs) File ~/Workspace/pythonprj/langgraphtutorial/.venv/lib/python3.12/site-packages/langchain_core/tools/base.py:743, in BaseTool.run(self, tool_input, verbose, start_color, color, callbacks, tags, metadata, run_name, run_id, config, tool_call_id, **kwargs)... 181logger.info(f"Error to search using {b} backend: {ex}") 182 err = ex --> 184 raise DuckDuckGoSearchException(err) DuckDuckGoSearchException: https://lite.duckduckgo.com/lite/ 202 Ratelimit 확인 부탁드립니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포시 버전 에러가 생깁니다
streamlit에서 배포시 위와 같은 에러가 발생합니다 ㅜㅜ파이썬 버전은 3.10.2이고, requirements.txt는 아래와 같습니다. aiohappyeyeballs==2.6.1aiohttp==3.10.11aiosignal==1.3.2altair==5.5.0annotated-types==0.6.0anyio==4.3.0asgiref==3.8.1asttokens==3.0.0async-timeout==4.0.3attrs==25.3.0backoff==2.2.1bcrypt==4.3.0blinker==1.9.0build==1.2.2.post1cachetools==5.5.2certifi==2022.12.7charset-normalizer==3.1.0chroma-hnswlib==0.7.6chromadb==0.6.3click==8.1.8colorama==0.4.6coloredlogs==15.0.1comm==0.2.2contourpy==1.2.0cycler==0.12.1dataclasses-json==0.6.7debugpy==1.8.14decorator==5.2.1Deprecated==1.2.18distro==1.9.0docx2txt==0.9durationpy==0.9exceptiongroup==1.2.0executing==2.2.0fastapi==0.115.12filelock==3.18.0flatbuffers==25.2.10fonttools==4.47.2frozenlist==1.6.0fsspec==2025.3.2gitdb==4.0.12GitPython==3.1.44google-auth==2.39.0googleapis-common-protos==1.70.0greenlet==3.2.2grpcio==1.71.0h11==0.14.0httpcore==1.0.4httptools==0.6.4httpx==0.27.0httpx-sse==0.4.0huggingface-hub==0.30.2humanfriendly==10.0idna==3.4importlib_metadata==8.6.1importlib_resources==6.5.2iniconfig==2.1.0ipykernel==6.29.5ipython==8.36.0jedi==0.19.2Jinja2==3.1.6jiter==0.9.0joblib==1.4.2jsonpatch==1.33jsonpointer==3.0.0jsonschema==4.23.0jsonschema-specifications==2025.4.1jupyter_client==8.6.3jupyter_core==5.7.2kiwisolver==1.4.5kubernetes==32.0.1langchain==0.3.25langchain-chroma==0.2.3langchain-community==0.3.23langchain-core==0.3.58langchain-openai==0.3.16langchain-pinecone==0.2.6langchain-tests==0.3.19langchain-text-splitters==0.3.8langchain-upstage==0.6.0langsmith==0.3.42markdown-it-py==3.0.0MarkupSafe==3.0.2marshmallow==3.26.1matplotlib==3.8.2matplotlib-inline==0.1.7mdurl==0.1.2mmh3==5.1.0mpmath==1.3.0multidict==6.4.3mypy_extensions==1.1.0narwhals==1.38.2nest-asyncio==1.6.0numpy==1.26.4oauthlib==3.2.2onnxruntime==1.21.1openai==1.78.0opentelemetry-api==1.32.1opentelemetry-exporter-otlp-proto-common==1.32.1opentelemetry-exporter-otlp-proto-grpc==1.32.1opentelemetry-instrumentation==0.53b1opentelemetry-instrumentation-asgi==0.53b1opentelemetry-instrumentation-fastapi==0.53b1opentelemetry-proto==1.32.1opentelemetry-sdk==1.32.1opentelemetry-semantic-conventions==0.53b1opentelemetry-util-http==0.53b1orjson==3.10.18overrides==7.7.0packaging==23.2pandas==2.2.3parso==0.8.4pillow==10.2.0pinecone==6.0.2pinecone-plugin-interface==0.0.7platformdirs==4.3.8pluggy==1.5.0posthog==4.0.1prompt_toolkit==3.0.51propcache==0.3.1protobuf==5.29.4psutil==7.0.0pure_eval==0.2.3pyarrow==20.0.0pyasn1==0.6.1pyasn1_modules==0.4.2pydantic==2.11.4pydantic-settings==2.9.1pydantic_core==2.33.2pydeck==0.9.1Pygments==2.19.1pyparsing==3.1.1pypdf==4.3.1PyPika==0.48.9pyproject_hooks==1.2.0pyreadline3==3.5.4pytest==8.3.5pytest-asyncio==0.26.0pytest-socket==0.7.0python-dateutil==2.8.2python-dotenv==1.1.0pytz==2025.2pywin32==305PyYAML==6.0.2pyzmq==26.4.0referencing==0.36.2regex==2024.11.6requests==2.32.3requests-oauthlib==2.0.0requests-toolbelt==1.0.0rich==14.0.0rpds-py==0.24.0rsa==4.9.1scikit-learn==1.5.1scipy==1.14.0shellingham==1.5.4six==1.16.0smmap==5.0.2sniffio==1.3.1SQLAlchemy==2.0.40stack-data==0.6.3starlette==0.46.2streamlit==1.45.0sympy==1.14.0syrupy==4.9.1tenacity==9.1.2threadpoolctl==3.5.0tiktoken==0.9.0tokenizers==0.19.1toml==0.10.2tomli==2.2.1tornado==6.4.2tqdm==4.66.2traitlets==5.14.3typer==0.15.3typing-inspect==0.9.0typing-inspection==0.4.0typing_extensions==4.13.2tzdata==2025.2urllib3==1.26.15uvicorn==0.34.2watchdog==6.0.0watchfiles==1.0.5wcwidth==0.2.13websocket-client==1.8.0websockets==15.0.1wrapt==1.17.2yarl==1.20.0zipp==3.21.0zstandard==0.23.0
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
ReWoo 아키텍처에서는 RePlan이 필요없나요?
안녕하세요.. Plan and Executor 아키텍처에서는 Planning 하고 하나의 태스크를 실행하고, 그리고 다시 Replanning 에이전트를 거치면서 답변을 만들어 가는데, ReWoo 아키텍처에서는 RePlanning 과정에 대한 설명이 없던데.. 그렇다면 ReWoo 아키텍처의 Planner 에이전트 성능이 좋아서 모든 게획을 세운것처럼 보이는데. Plan and Executor의 Planner 에이전트도 모든 계획을 세운 것이 아닌건가요? 둘사이 프롬프트가 달라서 그런건가요? ReWoo에서는 왜 재계획 에이전트가 필요없는건가요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
langChain 최신버전 문서
최신 버전 LangChain 문서의 <How to add chat history> 부분이 강의 영상이랑 대부분 다른 것 같은데 강의 영상 코드 기준으로 진행해도 문제가 없을까요?(https://python.langchain.com/docs/how_to/qa_chat_history_how_to/#chains)
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
배포 시 오류 (Chroma sqlite3 버전 오류)
안녕하세요 강사님.마지막 Streamlit Cloud 배포 후 버전 오류가 발생해서 질문 납깁니다!Python은 3.10.17 버전 사용하고 있습니다.retriever에 pinecone 사용하지 않고 Chroma 를 사용했고요, requirements.txt 에 버전은 langchain-chroma==0.2.3chromadb==0.6.3로 들어가 있습니다.오류는 unsupported version of sqlite3. Chroma requires sqlite3 >= 3.35.0.라고 뜨는 걸 보면 chromadb 에서 sqlite3 를 사용하고 그 버전 오류인 것 같은데요.. 어떻게 조치를 할지 검색해도 잘 모르겠어서 질문 남깁니다. 감사합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.2.1 Upstage 로 embedding 하실때에 typeError..
3.2.1 OpenAIEmbeddings 대신 UpstageEmbeddings를 활용하는 방법 으로 실습 예제 하고 있는데요기존 예제로 하면 chain_type 이 없이 동영상자료에서는 그대로 실행되었는데, 실제로 해보니 chain_type 이 2번째로 와야 하는데 없어서 오류가 뜨더라구요,...아래는 동영상에서 실행되는 코드 입니다.from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type( llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt": prompt} ) TypeError Traceback (most recent call last) Cell In[17], line 3 1 from langchain.chains import RetrievalQA ----> 3 qa_chain = RetrievalQA.from_chain_type( 4 llm, 5 database.as_retriever(), 6 chain_type_kwargs={"prompt":prompt} 7 )가 뜨게 되는데 확인해 보니, from langchain.chains import RetrievalQA qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # 기본 체인 타입 (원하면 "map_reduce"도 가능) retriever=database.as_retriever(), chain_type_kwargs={"prompt": prompt} ) chain_type 이 빠져서 안돌아 가더라구요..chain_type 을 넣어주면 잘 돌아갑니다. 혹시나 저처럼 헤메이실 분을 위해 올려둡니다. OpenAI 유료결제 안하는 바람에 Upstage로 따라해보려고 하는데...앞으로의 강의는 OpenAI 로 작성되는것 같아서 유료결제를 해야 할까요...??그리고 로컬 Ollama 로 하는 영상도 시간 나시면 올려주시면 좋겠어요~^^덕분에 langChain 의 l 도 모르던 제가 따라하게 되네요 좋은 영상 감사합니다.
-
해결됨TypeScript로 시작하는 LangChain - LLM & RAG 입문
Chat bot 강의가 짤려 있어요
2:27 밖에 없습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
rag 데이터 가져오는 부분에서 질문드립니다!
안녕하세요 강사님정해져있는 문서를 Rag로 가져오는것이 아닌openAPI에서 필요한 정보를 호출해서 가져오도록 만들고 싶습니다.openAPI에 requests로 호출해서 데이터를 가져오는 부분까지 완성했습니다.수업중에 llm에게 dictionary 지정해주는것처럼openAPI에서 호출한 정보를 rag로 가져오도록 하는 방법을 가르쳐주세요감사합니다
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
선생님 질문 있습니다 한번 봐주세여~!
안녕하세요 선생님 수업 잘 듣고 열심히 만들고 있는데 한가지 해결이 안되는 부분이 있어 이렇게 글 남깁니다.문서를 100개를 넣고, LLM이 대답할 때 인사규정에 따르면 혹은 인사규정을 참조하여 규정명을 나오게 하고 싶은데, 매칭이 잘안되거나 잘못된 규정명을 알려주곤 하는데 정확한 방법이 있을까요? 백터 DB에서 메타 데이터 지정하는 방식 이거나 document에 정의해 호출하는 방식 등을 사용하는데 .. 선생님도 이렇게 하실까요??
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
embedding 과정 중 Error, message length too large 발생
안녕하십니까 강의 잘 듣고있습니다.!from langchain_ollama import OllamaEmbeddings embeddings = OllamaEmbeddings(model="llama3.2") import os from pinecone import Pinecone from langchain_pinecone import PineconeVectorStore index_name = "tax-table-index" pinecone_api_key = os.environ.get("PINECONE_API_KEY") pc = Pinecone(api_key=pinecone_api_key) database = PineconeVectorStore.from_documents(document_list, embedding=embeddings, index_name=index_name) Embedding 후 PinecondVectorStore 저장 할떄아래와 같은 예외가 발생합니다.```PineconeApiException: (400) Reason: Bad Request HTTP response headers: HTTPHeaderDict({'Date': 'Thu, 17 Apr 2025 02:53:26 GMT', 'Content-Type': 'application/json', 'Content-Length': '118', 'Connection': 'keep-alive', 'x-pinecone-request-latency-ms': '2664', 'x-pinecone-request-id': '9090329298438964680', 'x-envoy-upstream-service-time': '2', 'server': 'envoy'}) HTTP response body: {"code":11,"message":"Error, message length too large: found 4194738 bytes, the limit is: 4194304 bytes","details":[]} Output is truncated. View as a scrollable element or open in a text editor.```OllamaEmbeddings(model="llama3.2") 를 사용하고 있는데요.해당 모델로 임베딩을 하면 Pinecone에서 허용하는 데이터를 초과하는 것 으로 보이는데요이러한 경우 처리하는 방법이 있을까요?아니면 모델을 변경해야하는 걸까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
맞는 답변은 5,000만원 이하에 대한 내용이어야 할것 같아요
올려주신 영상에서 LLM 답변이 5,000만원 초과 8,800만원 이하 구간에 대한 내용으로 나왔는데요, 1,400만원 초과 5,000만원 이하 구간에 대한 내용이 나와야 맞는 것 같아요 UpstageEmbeddings 사용하니까 이 구간에 대한 정보로 알려주네요
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
OpenAI API를 활용하여 LLM Chain 구현하기 (실습)
OpenAI API를 활용하여 LLM Chain 구현하기 (실습) 에서 llm.invoke(prompt_text)하면 이런에러가뜹니다..api_key 새로 갱신받아도 계속 이럽니다..
-
미해결프로젝트로 배우는 Python 챗봇 & RAG - LangChain, Gradio 활용
OpenAI API를 활용하여 LLM Chain 구현하기 (실습) 에서
OpenAI API를 활용하여 LLM Chain 구현하기 (실습) 에서 All attempts to connect to pypi.org failed.Probable Causes: - the server is not responding to requests at the moment - the hostname cannot be resolved by your DNS - your network is not connected to the internetYou can also run your poetry command with -v to see more information. 이런 에러가뜹니다.. 미치겠네요..
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
langchain 홈페이지 관련이요
강의중에 들어가시는 langchain 홈페이지가 지금이랑 version이 다른것 같은데 현재 version 홈페이지에서는 강의 내용에 나오는 곳을 찾을 수가 없습니다. 혹시 version이 달라도 괜찮을까요? 예를 들어 Microsoft Word Document loaders를 찾고 싶습니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
No module named 'langchain_chroma' 발생해요
langchain_chroma를 다운로드하면 제대로 설치가 안되는것 같은데 무슨 문제가 있는걸까요?
-
미해결모두를 위한 대규모 언어 모델 LLM Part 5 - LangGraph로 나만의 AI 에이전트 만들기
STORM 아키텍쳐
Structured output과 regex pattern 설정 충돌quries["raw"].toll_calls 가 빈 리스트로 반환됨두 문제 모두 langchain_openai==0.2.4 에서는 정상적으로 동작
-
해결됨입문자를 위한 LangChain 기초
안녕하세요. 오늘 커뮤니티에 올라온 서적 예제 4.11관련 질문입니다.
안녕하세요. 사전 구입하여 책을 읽고있는 한 인원입니다. 다름이아니라 책 102쪽 4.11 예제를 제 컴퓨터에서 하려하는데 다음과같은 오류가 뜹니다. 혹시 버전문제일까요?지금 버전에서 해당 컨텍스트 길이를 보려면 어떻게 수정해야할까요? 추가적으로 큰 문제는 아니지만 책에 오타있는 부분도 기재합니다.43페이지 딱히 큰 문제는 아니지만 사소하게 변수명이 잘못적혀있습니다..! 해당 장의 다른 변수들은 모두 맞게 작성되어있지만 해당 부분만 오타가있습니다. 크리티컬한 오타는 아니지만 혹여나 도움이 될까 싶어 기재합니다. 지금 절반 정도 읽었는데 읽는 인원이 최대한 잘 이해하고 어려워하지 않도록 매 개념마다 실습을 진행하고 한줄 한줄 코드 해석해주는 것이 느껴지는 책입니다. 강의 등 랭체인 및 LLM 어플리케이션 개발에 항상 큰 도움을 받고있습니다. 좋은 자료 강의 항상 감사드립니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.2 LangChain과 Chroma를 활용한.. 예제중 질문입니다.
안녕하세요.3.2 예제 실습중 아래와 같은 이슈를 해결하지 못하여 질문 드립니다. 사용자 환경운 github 에서 제고해준 code space 환경에서 테스트 중입니다. 오류 코드는.. from langchain_chroma import Chroma # 데이터를 처음 저장할 때 database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name='chroma-tax', persist_directory="./chroma") 위 코드 실행시 아래와 같은 오류가 발생합니다. AttributeError Traceback (most recent call last) Cell In[108], line 41 from langchain_chroma import Chroma 3 # 데이터를 처음 저장할 때 ----> 4 database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name='chroma-tax', persist_directory="./chroma") 6 # 이미 저장된 데이터를 사용할 때 7 #database = Chroma(collection_name='chroma-tax', persist_directory="./chroma", embedding_function=embedding) File /workspaces/faith79/.venv/lib/python3.12/site-packages/langchain_chroma/vectorstores.py:1239, in Chroma.from_documents(cls, documents, embedding, ids, collection_name, persist_directory, client_settings, client, collection_metadata, kwargs)1237 if ids is None: 1238 ids = [doc.id if doc.id else str(uuid.uuid4()) for doc in documents] -> 1239 return cls.from_texts( 1240 texts=texts, 1241 embedding=embedding, 1242 metadatas=metadatas, 1243 ids=ids, 1244 collection_name=collection_name, 1245 persist_directory=persist_directory, 1246 client_settings=client_settings, 1247 client=client, 1248 collection_metadata=collection_metadata, 1249kwargs, 1250 ) ...--> 327clientsettings = chromadb.config.Settings(is_persistent=True) 328clientsettings.persist_directory = persist_directory 329 else: AttributeError: module 'chromadb' has no attribute 'config'Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings... //////////////////////////////////////////////////////////////////////////////// chromadb 에서 config 속성 사용이 안된다는거 같아요.그래서 langchain_chroma의 버전도 변경하고 chromadb 도 설치 후 버전도 이것저것 변경해 보았는데, 동일한 이슈만 지속적으로 나오고 있습니다 꼭 해결하고 싶어요~ 도와주세요.