묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
llm.invoke() 시 'Incorrect API key provided' 오류가 발생합니다.
'Incorrect API key provided' 강의 내용과 동일하게 아래 주소로 로그인 후 'Create new secret key'를 통해서 API KEY를 발급받았습니다.https://platform.openai.com/api-keys이후에 Copy 버튼 클릭해서 환경변수(.env) 파일에 OPENAI_API_KEY=복사한_API_KEY 저장 후 ChatOpenAI를 통해서 선언한 llm을 invoke()했는데, 반복적으로 Incorrect API Key provided 오류가 발생합니다.혹시나 잘못 복사해서 붙여넣었나 싶어서 삭제 후 API KEY를 신규 생성 후 동일하게 invoke 해봤는데, 문제가 해결되지 않았습니다.혹시 다른 원인이 있을까요?? 답변 기다리겠습니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
연봉 5000만원에 대한 소득세가 다르게 계산되는 문제
4강까지 강의를 다 들었습니다.하지만 연봉 5천만원인 거주자의 소득세는? 이라는 쿼리를 날릴경우 답변이 624만원이 나오지 않고 다양한 값이 나오고 있는것을 확인했습니다.upstage model을 사용하고 pinecone vector store 를 사용하고 있으며 dictionary chain 까지 구성해서 직장인 -> 거주자로 바꾸는것 까지 적용해서 invoke 를 실행했습니다.직접 테스트한 예시로는 'query': 연봉 5천만원인 거주자의 소득세는 얼마인가요? 소득구간별 세율의 예시를 보여주면서 설명해줘,'result': '연봉 5천만원인 직장인의 소득세는 550만원입니다. 소득구간별 세율에 따라 계산하면, 5천만원 이하의 과세표준에는 15%의 세율이 적용되어 84만원 + (1,400만원을 초과하는 금액의 15%) = 550만원이 소득세로 산출됩니다.'},{'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '연봉 5천만원인 직장인의 소득세는 550만원입니다. 이는 종합소득 과세표준 5,000만원 이하 구간에 해당하는 세율을 적용하여 계산한 금액입니다.',{'query': '연봉 5천만원인 직장인의 소득세는 얼마인가요?', 'result': '연봉 5천만원인 직장인의 소득세는 526만원입니다. (산출식: 5,000만원 - 1,400만원 = 3,600만원, 3,600만원 * 15% - 84만원 = 420만원)'}이런식으로 지속적으로 다른 답이 나오고 있으며 "소득구간별 세율의 예시를 보여주면서 설명해줘" 이 부분을 추가하지 않고 처음 쿼리를 날리면 직장인의 소득세는 xxx 만원입니다. 하고 바로 끝나는 result가 나왔습니다.이러한 원인이 upstage 모델을 사용해서 이런 결과가 발생했는지 궁금하고 4강에서 설명했던 few-shot prompting 이 되지 않아서 처음에는 정확한 답을 주지 못하고 있다가 "소득구간별 세율의 예시를 보여주면서 설명해줘" 이 부분이 추가되면서 다음 응답들이 더 자세하게 나오게 된 것인지 궁금합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
유사도 검색 차이
안녕하세요. 수업을 듣고 실습도 같이 해보고 있습니다.유사도 쿼리 관련해서 질문이 있어서 문의드렸습니다.같은 upstatge 임베딩 모델을 사용했고 chunk size 등 같은 문서 spliter 를 사용했는데 유사도 검색에서 나오는 결과가 예시랑 다르게 나오는 이유가 무엇인가요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
langchain만으로 심리 상담 챗봇을 만들 수 있을까요?
안녕하세요.현재 강의에서 배운것만으로도 심리 상담 챗봇을 만들 수 있을까요? 소득세법 같이 정답이 있는 자료는 없는것 같아 인터넷 서칭으로 자료들을 긁어모을 생각입니다. ex) 연애 심리 상담 Bot- 연애에 대해 고민하는 사람들에게 질문에 따른 조언을 해줌- 연애 커뮤니티 등에서 수동으로 데이터 수집- 도움이 되는 질문들과 댓글을 직접 선정하여 .docs 문서에 복사 붙여넣기 알찬 강의 만들어 주셔서 감사합니다! (수강평 작성했습니다. 데헷)
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
이미지와 표가 혼재된 pdf파일 불러오기
안녕하세요 강병진 강사님 강의에서는 docx파일을 불러오셨는데, 혹시 이미지나 표가 포함된 pdf파일을 불러오기 위해서는 어떤 라이브러리를 쓰는게 좋을까요? PyMuPDFLoader를 사용했을 때는 이미지 안에 있는 내용을 전혀 텍스트로 변환하지 못하는 것 같아서 질문드립니다. 감사합니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
yfinance 429 Client Error 문제
429 Client Error: Too Many Requests for url: https://query2.finance.yahoo.com/v10/finance/quoteSummary/SNOW?modules=secFilings&corsDomain=finance.yahoo.com&formatted=false&symbol=SNOW&crumb=Edge%3A+Too+Many+Requests안녕하세요 강사님, 현재 3.7 Multi agent 강의 듣고 따라하고 있는데, yfinance 로 agent 를 통해 필요한 정보를 받아오도록 시키면 위와 같은 문제가 뜹니다. 확인해보니 url request를 단기간에 너무 많이 하는게 원인인것 같다는데, Agent를 통해 tool로 알아서 호출 하는 방식이니 횟수를 제한하거나 할 방법이 없습니다. 혹시 어떻게 해결해야 할지 아시면 해결책을 제시해주시면 감사하겠습니다.
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
38강 API 데이터 수집 질의입니다.
HTTP REQUEST NODE에서 인증오류가 발생합니다 그래서 DATA.GO.KR에 사용신청까지 완료했습니다.그러나 이후 Credential 진행 절차를 알 수 없습니다.공유한 json 파일에서 연결선을 끊고 단독으로 실행했지만 인증오류가 발생하네요.Authentication는 predefine인지 generic인지요.credential type은 무엇인지요?
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
유스케이스 실습이 전혀 되지 않네요.
저만 문제가 있나요?기본적인 설정에 문제가 있어서 그런지 처음부터 실행이 되지 않고 있습니다. 로컬 구성과 레일웨이에서 시도를 해 보았지만 다 실패하고 있습니다. json으로 올린 노드들 어떤 노드는 검색이 되지 않는 노드도 있더군요. 해결책을 알려주시면 고맙겠습니다. 수강료를 결제했는데 이 상황이면 많이 후회하는 상황이 발생할 것 같습니다.
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
여권사진 검중 json 파일 처음부터 오류 납니다.
-
미해결graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
2강에서 Aura에 파이썬으로 접속 안 됩니다.
test.py 작성 시 AuraDB에 접속이 안 되서 막혀 있습니다. 이전에도 질문해 주신 분이 계셨던 것 같은데요..env 파일에 URI, USERNAME, PASSWORD 정확히 썼고요(browser.neo4j.io 접속해서 위 정보 복사해서 붙이니 잘 되는 것 확인했습니다.)분명 제 PC 문제일 것 같은데, 유사 해결사례가 있으시면 조언부탁드립니다. 수업을 시작할 수가 없네요. ㅠㅠ(방화벽 off 시도, PC 재부팅 시도 ) <code>import os from dotenv import load_dotenv from langchain_neo4j import Neo4jGraph load_dotenv() graph = Neo4jGraph( url=os.getenv("NEO4J_URI"), username=os.getenv("NEO4J_USERNAME"), password=os.getenv("NEO4J_PASSWORD"), ) def main(): # 간단한 테스트 쿼리 result = graph.query("MATCH (n) RETURN count(n) as node_count") print(f"Neo4j 데이터베이스 내 노드 수: {result[0]['node_count']}") if __name__ == "__main__": main() <Error>Unable to retrieve routing information Traceback (most recent call last): File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\langchain_neo4j\graphs\neo4j_graph.py", line 153, in __init__ self._driver.verify_connectivity() File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\driver.py", line 1090, in verify_connectivity self._get_server_info(session_config) File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\driver.py", line 1305, in _get_server_info return session._get_server_info() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\session.py", line 183, in _get_server_info self._connect( File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\session.py", line 136, in _connect super()._connect( File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\workspace.py", line 186, in _connect target_db = self._get_routing_target_database( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\work\workspace.py", line 260, in _get_routing_target_database self._pool.update_routing_table( File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\neo4j\_sync\io\_pool.py", line 1025, in update_routing_table raise ServiceUnavailable("Unable to retrieve routing information") neo4j.exceptions.ServiceUnavailable: Unable to retrieve routing information During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:\VSCODE Scripts\neo4j-project\test.py", line 9, in <module> graph = Neo4jGraph( ^^^^^^^^^^^ File "C:\Users\user-pc\AppData\Local\pypoetry\Cache\virtualenvs\neo4j-project-qp9QAGSV-py3.11\Lib\site-packages\langchain_neo4j\graphs\neo4j_graph.py", line 160, in __init__ raise ValueError( ValueError: Could not connect to Neo4j database. Please ensure that the url is correctㅇㄹ
-
해결됨한시간으로 끝내는 LangChain 기본기
강의 순서 질문
안녕하세요 AI 애플리케이션 입문할려고 합니다.전체 강의 순서가 어떻게 되는지 질문드립니다!
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
API 데이터 수집 자동화 관련 문의
API 데이터 수집 자동화 강의 오류 문의http request 노드에서 URL을 정확히 입력을 했음에도 불구하고 URL 데이터가 추출이 되지 않고 오류가 발생합니다.찾아보니 자료에 대한 활용신청이 있어야 가능하더군요. 신청 후 http request에서 권한을 부여하면서 가져올 수 있는 방법을 알고 싶습니다.
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
37강 워크플로우 오류 발생합니다. (디코드노드에서)
37강 오류 디코드 노드에 오류가 납니다. Problem running workflowConnect a trigger to run this nodeProblem executing workflowThere was a problem executing the workflow.Connect a trigger to run this node n8n 설치 정보 안내 n8n 버전: latest데이터베이스 종류 (기본값: SQLite):n8n 실행 프로세스 설정 (기본값: own):n8n 실행 방식 데스크탑 앱 운영 체제: win11
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
16강 워크플로우가 오류가 납니다.
json 파일 불러오고 그냥 실행해 보았는데 이런 오류가 납니다. 처음 설정이 잘 못 되었나요?어떤 분은 잘 된다고 하시는데 저는 안되네요. 도와 주세요
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
fine-tunning은 어떻게 생각하세요?
fine-tunning은 어떻게 생각하세요? 강사님이 알려주신 내용대로 RAG만 하면, fine-tunning은 할 필요가 없을까요? 아니면 fine-tunning이 필요한 영역이 따로 있는 걸까요? fine-tunning에 대해서 어떻게 생각하시는지 궁굼해서 문의드립니다 :)
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
3.6 일부 코드가 강의 그대로 따라하면 에러나요
에러메세지는 이건데요..KeyError: "Input to ChatPromptTemplate is missing variables {'dictionary'}. Expected: ['dictionary', 'question'] Received: ['question']" 그래서 아래처럼 고쳤더니 결과는 잘 나오는데new_question = dictionary_chain.invoke({ "dictionary": dictionary, "question": query })이러고 나서 또 밑에 ai_response관련 코드도 같은 에러가 나오다보니 강의를 매끄럽게 들을 수 없고 자꾸 흐름이 끊기네요. 사실 3.5때도 강의코드 그대로 따라하니까 llm이 답변을 제대로 안해줘서, chunk_size / overlap 이렇게 저렇게 조정하고. 조정해보니 또 한번에 넣을 수 없는 사이즈라서 배치처럼 짤라서 넣고. 우여곡절 끝에 강의랑 동일한 결과를 얻긴 했는데요...빠르게 슥슥 듣고 강사님 다른 강의(ai agent)로 넘어가고싶은데 매끄럽게 안되니까 초큼 힘들어요 ㅠ제 환경이 잘못 구성된걸까요 ㅠㅠ
-
미해결노코드 자동화 입문부터 실전까지: n8n 완전정복 (한국 최초 n8n 앰버서더 직강)
Claude MCP connector 연결 오류 질문
MCP 강의 중에 claude claude 앱에서 claude_desktop_config.json 파일을 수정해서 다시 띄우기 했지만 n8n 커넥터가 나타나지 않습니다. 방법을 알려주세요.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
PINECONE DB 답변 생성시 속도 문의 건
안녕하세요!강의 모두 완료하고 업무에 잘 활용하고 있습니다.다름 아니라, 리뷰 데이터를 PINECONE DB에 넣고, RAG로 해당 리뷰 데이터 기반 학습으로, LLM으로 질문 답변 생성시 훌륭한 답변을 얻을 수 있었습니다.그런데 문제는 LLM 답변 생성시 PINECONE DB가 자료가 많아서 인지, 답변 시간이 25~40초 정도 걸립니다.ㅠLLM 답변 속도를 개선할 수 있는 다른 방법이 있을까요?궁금합니다.
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
ppt 문서 학습방법 문의
안녕하세요, 완강 후 사내법규로 챗봇을 만들어서 잘 활용하고 있습니다! 이런 것이 가능하다고 윗분들에게 보여드렸고, 직원들을 위한 사내용 챗봇 프로젝트를 본격적으로 시작하게 되었습니다. 감사합니다 🙂관련해서 문의드립니다.(질문 내용 수정)사내 주요문서들이 ppt로 되어 있는 경우가 많아 ppt를 RAG로 활용하는 방법 문의드립니다.아래 코드를 사용해서 ppt에 있는 텍스트를 docx 파일로 만들었습니다.from pptx import Presentation from docx import Document def extract_text_from_pptx(file_path): prs = Presentation(file_path) text_list = [] for slide in prs.slides: for shape in slide.shapes: if hasattr(shape, "text"): text_list.append(shape.text) return "\n".join(text_list) def save_text_to_docx(text, output_path): doc = Document() for line in text.split('\n'): doc.add_paragraph(line) doc.save(output_path) # 실행 예시 ppt_file = "OOO.pptx" # 파일명 확인 text = extract_text_from_pptx(ppt_file) save_text_to_docx(text, "ppt_extracted_text.docx")문제는, ppt에서 이렇게 도식화 되어 있는 경우에, 도식 순서대로 text로 변환해주지 않는다는 점인데요, 혹시 이런 경우에 도식을 이해해서 text로 변환해주는 방법이 있을까요? 위 코드로 text 추출 시, 장표 내 text만 추출이되고, 이미지는 변환이 안되는데요'은행거래명세서 보여줘' 라고 질문하면 파란색 이미지 부분이 나오도록 구현하는 방법도 있을까요? 아래처럼 이미지와 텍스트를 함께 학습해서 이해시키도록 한 뒤 RAG를 구현할 수 있는 방법이 있을지도 문의드립니다. 더 많은 직원들이 streamlit을 조회한다고 할 때, 원활하게 조회되도록 하려면 유료용을 결제하면 되는걸까요? 조회자가 많아 질 경우 추가로 하면 좋은 조치들이 어떤게 있는지 궁금합니다. 질문이 많았습니다. 혹시 1:1 등을 신청해야 답변이 가능한 내용일까요! 답변 주시면 감사하겠습니다.
-
해결됨LangGraph를 활용한 AI Agent 개발 (feat. MCP)
schema 질문
안녕하세요 강사님, 강의 잘 듣고 있습니다.개발 병행하면서 강의 수강 중인데, 끝까지 다 듣지 못한 점 미리 양해드립니다. LangGraph 공식 문서를 보면, Graph의 상태 스키마를 정의할 때 Pydantic의 BaseModel보다 TypedDict나 dataclass를 사용하는 걸 더 권장하는 것처럼 보입니다.강사님께서도 강의에서 주로 TypedDict를 쓰시는 걸 확인했습니다.그런데 개발을 하다 보니, TypedDict는 런타임 유효성 검사나 구조화 파싱 기능이 없어서LLM 응답이 해당 스키마에 맞게 출력되었는지 보장할 수 없는 점이 불편하게 느껴졌습니다.예를 들어, PydanticOutputParser(pydantic_object=MyModel)처럼 출력 형식을 강제할 수 있는 기능은TypedDict에는 없어서, 결국 출력 파싱이 명확하지 않거나 "```json ... ```"처럼 마크다운이 붙는 문제도 자주 발생합니다.물론 TypedDict는 속도 면에서 이점이 있고 LangGraph state로는 잘 어울린다는 것도 알고 있지만,이런 이유 때문에 결국 스키마를 TypedDict와 Pydantic 두 번 정의해야 하는 상황이 종종 생깁니다. 그래서 질문드리고 싶은 건 다음과 같습니다:하나의 스키마 정의만으로 상태 관리와 LLM 출력 파싱까지 모두 깔끔하게 처리하는 더 좋은 방법은 없을까요?혹은 실무에서는 이런 문제를 보통 어떻게 해결하고 계신지도 궁금합니다.감사합니다!