인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

dglee님의 프로필 이미지

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

1.2 강의자료 소스코드 (GitHub Repository, Google Colab, GitBook)

3.2 LangChain과 Chroma를 활용한.. 예제중 질문입니다.

작성

·

71

0

안녕하세요.

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 도 설치 후 버전도 이것저것 변경해 보았는데, 동일한 이슈만 지속적으로 나오고 있습니다

 

꼭 해결하고 싶어요~ 도와주세요.

답변 2

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요!

우선은 소스코드에 있는 requirements.txt에 있는 버전을 활용할 것을 권장드립니다. 만약 설치가 안된다면 chromadb 패키지를 삭제하시고, langchain-chroma 로만 설치해보시겠어요?

같은 에러가 반복된다면 설치된 langchain-chroma 의 버전과 langchain 버전을 같이 주시면 디버깅 해보겠습니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. dglee님, 언급하신 문제는 chromadb 모듈에서 config 속성을 찾을 수 없다는 AttributeError입니다. 이 문제는 주로 설치된 chromadb 패키지의 버전 호환성 문제이거나, 패키지가 제대로 설치되지 않은 경우 발생할 수 있습니다.

문제 해결을 위한 접근 방법

  1. 패키지 재설치:

    • 설치된 chromadb 패키지를 삭제하고, 명확하게 버전을 명시하여 다시 설치해 보세요.
    pip uninstall chromadb
    pip install chromadb --upgrade
    
  2. 호환성 확인:

    • langchain_chromachromadb 모듈의 버전 호환성을 확인하세요. 두 모듈이 서로 호환되는 버전을 사용하는지 확인하는 것이 중요합니다.
    • chromadb는 최신 릴리스 정보를 공식 문서를 통해 확인하고, 권장되는 버전으로 업그레이드하는 것이 좋습니다. 최신 버전의 langchain_chroma도 같이 사용하도록 합니다.
  3. 가상환경 확인:

    • 가상환경을 새로 생성하고, 필요한 모든 패키지를 처음부터 설치해 보세요. 여러 패키지가 엉킨 경우 새로운 시작이 문제 해결에 도움이 될 수 있습니다.
    python -m venv myenv
    source myenv/bin/activate  # Windows의 경우: .\myenv\Scripts\activate
    pip install langchain_chroma chromadb
    
  4. 기타 패키지 확인:

    • chromadb 패키지의 문서가 제공하는 예제를 통해 기본 작동 여부를 체크하세요. 모듈 자체의 기능에 문제가 없는지 확인하기 위해 간단한 import 테스트를 진행해 보세요.
  5. 도움이 되는 링크:

위 방법들을 시도하신 후에도 문제가 지속된다면 구체적인 오류 메세지와 함께 다시 질문을 남겨 주세요. 최대한 도움을 드리도록 하겠습니다.

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

dglee님의 프로필 이미지

작성한 질문수

질문하기