from langchain.chains.combine_documents import create_stuff_documents_chain 이 부분에서 에러가 납니다 TypeError: Fields of type "<class 'langchain_core.runnables.base.Runnable'>" are not supported.,
문제 상황: 모듈을 불러오는 과정 중 에러 발생. (langchain 1.1.0 버전 사용 중) from langchain.chains import RetrievalQA 이유: langchain 최신 버전에서 chains 모듈이 langchain-classic 패키지로 분리되었다고 합니다. 해결 방법: pip install langchain-classic 패키지 설치 후 아래와 같이 코드 작성. from langchain_classic.chains import RetrievalQA
graphRAG - Neo4J로 구현하는 지식 그래프 기반 RAG 시스템 (feat. LangChain)
from langchain_neo4j import Neo4jGraph from dotenv import load_dotenv import os #환경 변수 로드 load_dotenv() #neo4j 연결 설정 NEO4J_URI = os.getenv("NEO4J_URI") NEO4J_USERNAME = os.getenv("NEO4J_USERNAME") NEO4J_PASSWORD = os.getenv("NEO4J_PASSWORD") #그래프 객체 생성 graph = Neo4jGraph( url=NEO4J_URI, username=NEO4J_USERNAME, password=NEO4J_PASSWORD ) def main(): print("Hello from neo4j-graphrag!") if __name__ == "__main__": main()
안녕하세요 강사님! 네이버에서 스크랩한 기사들의 URL을 호출하는 과정에서 특정 URL을 호출할 때 Http Request - 403 Forbidden 에러로 워크 플로우가 중단하는 현상이 발생하고 있습니다. 혹시 해당 에러가 발생했을 때 관련 기사는 건너뛰고 다음 기사부터 정상적으로 워크 플로우가 실행될 수 있도록 조건을 넣을 수 있는 방법이 있을까요?
강의에서는 네이버 뉴스 스크랩을 하기위해, more url 을 호출하는 방식을 사용하셨는데, 서비스 API 를 사용해 보는것도 하나의 방법일것 같습니다. https://developers.naver.com/docs/serviceapi/search/news/news.md#%EB%89%B4%EC%8A%A4-%EA%B2%80%EC%83%89-%EA%B2%B0%EA%B3%BC-%EC%A1%B0%ED%9A%8C 사용하시려면, 네이버 개발자 센터에서 애플리케이션을 등록하고 클라이언트 아이디와 클라이언트 시크릿을 발급받아야 합니다. ^^;;
아래 코드, hub.pull 안되실 경우 from langchain import hub prompt = hub.pull("rlm/rag-prompt") 아래와 같이 변경해 보세요. 저는 LANGSMITH_API_KEY 를 직접 넣었지만, 환경변수에 등록해서 사용하시는게 나을것 같네요. from langsmith import Client LANGSMITH_API_KEY = "ls...." client = Client(api_key=LANGSMITH_API_KEY) prompt = client.pull_prompt("rlm/rag-prompt", include_model=True)
create_react_agent 가 deprecated 되었습니다. from langgraph.prebuilt import create_react_agent langchain.agents 에서 create_agent 를 제공합니다. 참고로, system_prompt 가 생겼습니다. from langchain.agents import create_agent 자세한 내용은 아래 링크를 참고하세요. Deprecate https://docs.langchain.com/oss/python/releases/langgraph-v1#deprecation-of-create-react-agent create_agent https://docs.langchain.com/oss/python/releases/langchain-v1#create-agent create_agent 로 마이그레이션 https://docs.langchain.com/oss/python/migrate/langchain-v1#migrate-to-create-agent
안녕하세요. 시간 가는줄도 모를 만큼 강의를 재밌게 들으며 배워가고 있는 수강생입니다. 강의를 듣던 중 Upstage API 연동이 잘 되지 않아 QnA 게시판을 보았는데, 저를 비롯한 많은 분들께서 Upstage API를 사용하고 있다는 것을 알게되었고 연동 관련해서 어려움을 느끼시는 것 같아 제가 해결한 과정을 같이 공유해보고자 글을 적었습니다. 저도 배워가는 과정인지라 표현이 서툴거나 잘못된 내용이 있을 수 있어 강사님의 피드백도 같이 공유 받을 수 있다면 더욱 좋을 것 같습니다..! 제가 해결한 방법을 결론 먼저 말씀드리면 chunk_list 길이를 찍었을 때 100개 이내인 경우에는 코드가 정상 동작했다는 것입니다. (대부분의 코드는 강사님께서 작성하신 내용을 그대로 따라했습니다.) # 에러 (chunk_list의 length가 100개 이상인 경우) # chunk_list = split_text(full_text, 1500) # 작동 (chunk_list의 length가 100개 미만인 경우) chunk_list = split_text(full_text, 1700) 위와 같이 split_text에서 1500으로 인자를 주었던 것을 1700으로 변경하면 chunk_list의 길이는 100개 미만이 되며, 이를 초과할 경우 400 ERROR 또는 add 작업 중 중간에 멈추며 에러가 발생했습니다. 따라서 저는 이러한 문제의 원인을 아래 내용이라고 추정하며 해결했습니다. 강의 촬영 당시 사용된 법률안에 비해 현재는 개정 등으로 인해 늘어난 문자열 수 1로 인해 인자값을 1500으로 주었을 때 강의 촬영 당시 대비 커져버린 chunk_list의 크기 2로 인해 chromaDB에 add 할 수 있는 개수가 100개 이상 초과하면 발생되는 오류 전체 코드 참고하실 분들은 아래 링크에서 참고하시면 좋을 것 같습니다. https://github.com/C0deH4ter/langchain-basics/blob/main/3.3%20Upstage%20Challenge/rag_without_langchain_chroma(w.Upstage).ipynb
안녕하세요, score 기반 서치를 할 때 특정 유사도 미만이면 결과를 출력해주지 않았는데요 물론.... 프로젝트의 종류, 성질에 따라 다르지겠지만, 보통 스코어가 0.X 이상일 때 부터 그나마 관련이 있는 문서여서 사용자에게 보여줘도 된다 ! 라는 그런 수치가 혹시 있을까요? 본 강의에서는 0.6이라고 정의를 하셨는데 실제 도입할 때는 몇으로 하는지 궁금합니다