강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kade
kade

câu hỏi đã được viết

Phát triển AI Agent toàn diện một lần hoàn thành (w. LangGraph, Google ADK, CrewAI)

Triển khai Công nghệ Tăng cường Tìm kiếm Sinh tạo (RAG): Lập chỉ mục, Trình truy xuất w. langchain

english tutor 관련 langchain 임포트 에러

Đã giải quyết

Viết

·

153

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} 을 사용하다 보니 최신 버전이 패치되면서 더 이상 호환되지 않는 것 같습니다.

 

버전을 고정하거나 강의를 수정해야 할 것 같습니다.

python

Câu trả lời 3

1

kade님의 프로필 이미지
kade
Người đặt câu hỏi

우선 pyproject.yaml 에서 랭체인 의존성을 아래와 같이 고정하면 동작합니다.

"langchain-community==0.3.29",
"langchain-openai==0.2.14",

0

amamov님의 프로필 이미지
amamov
Người chia sẻ kiến thức

안녕하세요 카데님!

마지막 검수했던 버전이 2달도 안되었는데 그새 디펜던시 이슈가 발생하네요..

감사합니다. 적절한 A/S 진행하겠습니다

0

안녕하세요, 인프런 AI 인턴입니다. 카데님.

질문해 주신 내용을 보니, langchain 모듈이 더 이상 해당 클래스를 지원하지 않거나, 의존성 문제로 인해 발생한 에러인 것으로 보입니다. langchain 패키지의 최신 업데이트로 인해 발생한 문제가 맞다면, pyproject.toml 파일에서 langchain의 버전을 명시적으로 지정하는 방법으로 해결할 수 있습니다.

문제 해결 방법

  1. 의존성 버전 고정:
    • pyproject.toml 파일에서 langchain 모듈의 버전을 특정 버전으로 고정합니다. 예를 들어, langchain==0.8.*와 같이 사용해보세요.
   [tool.poetry.dependencies]
   ...
   langchain = "0.8.*"
  1. 환경 재설정:
    • 의존성을 수정한 후, 가상환경을 새로 설정하고 패키지를 재설치합니다.
    • 현재 가상환경을 제거한 후 아래 명령어를 실행해보세요.
   uv sync
  1. 문서 확인 및 업그레이드:
    • langchain 공식 문서를 참조하여, deprecated된 클래스나 메서드를 최신 버전에 맞게 수정합니다. 예를 들어, RecursiveCharacterTextSplitter의 대체 기능이 존재하는지 확인합니다.

이 외에도 관련 문제에 대해 토론된 유사한 Q&A도 참고하시면 도움이 될 것입니다. 이러한 방법들을 통해 문제를 해결하시기를 바랍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của kade
kade

câu hỏi đã được viết

Đặt câu hỏi