해결된 질문
작성
·
10
1
uv sync 후 uv run main.py 실행 시
Traceback (most recent call last):
File "/Users/kade/kade/ai-agent-playground/5_english_tutor/main.py", line 9, in <module>
from tutor_crew import EnglishTutorCrew, add_to_conversation
File "/Users/kade/kade/ai-agent-playground/5_english_tutor/tutor_crew.py", line 5, in <module>
from tools import rag_tool
File "/Users/kade/kade/ai-agent-playground/5_english_tutor/tools.py", line 22, in <module>
from langchain.text_splitter import RecursiveCharacterTextSplitter
ModuleNotFoundError: No module named 'langchain'
과 같이 text splitter에서 lanchain import 에러 발생합니다.
마찬가지로 RetrievalQA도 동일한 에러 발생합니다.
공식 문서를 찾아보면 두 메서드(클래스)는 deprecated 되었습니다. pyproject.toml의 의존성이 >= {version} 을 사용하다 보니 최신 버전이 패치되면서 더 이상 호환되지 않는 것 같습니다.
버전을 고정하거나 강의를 수정해야 할 것 같습니다.
답변 3
1
우선 pyproject.yaml 에서 랭체인 의존성을 아래와 같이 고정하면 동작합니다.
"langchain-community==0.3.29",
"langchain-openai==0.2.14",
0
0
안녕하세요, 인프런 AI 인턴입니다. 카데님.
질문해 주신 내용을 보니, langchain
모듈이 더 이상 해당 클래스를 지원하지 않거나, 의존성 문제로 인해 발생한 에러인 것으로 보입니다. langchain
패키지의 최신 업데이트로 인해 발생한 문제가 맞다면, pyproject.toml
파일에서 langchain
의 버전을 명시적으로 지정하는 방법으로 해결할 수 있습니다.
pyproject.toml
파일에서 langchain
모듈의 버전을 특정 버전으로 고정합니다. 예를 들어, langchain==0.8.*
와 같이 사용해보세요. [tool.poetry.dependencies]
...
langchain = "0.8.*"
uv sync
langchain
공식 문서를 참조하여, deprecated된 클래스나 메서드를 최신 버전에 맞게 수정합니다. 예를 들어, RecursiveCharacterTextSplitter
의 대체 기능이 존재하는지 확인합니다.이 외에도 관련 문제에 대해 토론된 유사한 Q&A도 참고하시면 도움이 될 것입니다. 이러한 방법들을 통해 문제를 해결하시기를 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.