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

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

지원님의 프로필 이미지
지원

작성한 질문수

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

3.4 LangChain을 활용한 Vector Database 변경 (Chroma ➡️ Pinecone)

강의 3.4 (8분5초) : Pinecone 업로드 과정 에러 질문입니다.

해결된 질문

작성

·

273

2

안녕하세요.

오늘도 열심히 강의 잘 듣고 있습니다.

현재 Upstage 이용해서 진행하고 있구요.

아래 코드에서 아래와 같은 오류가 떠서 질문 드립니다...!

image.pngimage.png

PineconeApiException: (400) Reason: Bad Request HTTP response headers: HTTPHeaderDict({'Date': 'Tue, 02 Jul 2024 05:30:59 GMT', 'Content-Type': 'application/json', 'Content-Length': '104', 'Connection': 'keep-alive', 'x-pinecone-request-latency-ms': '8478', 'x-pinecone-request-id': '8670121622045530037', 'x-envoy-upstream-service-time': '36', 'server': 'envoy'}) HTTP response body: {"code":3,"message":"Vector dimension 4096 does not match the dimension of the index 3072","details":[]}


챗 GTP 에게 물어보니, 아래와 같은 답을 주었습니다.

해당 에러 메시지는 Pinecone 데이터베이스에 벡터를 업로드하려고 할 때 발생한 것으로 보입니다. 에러 메시지에 따르면, 업로드하려는 벡터의 차원(4096)이 이미 생성된 인덱스의 차원(3072)과 일치하지 않아서 발생한 문제입니다.

다음은 이 문제를 해결하기 위한 몇 가지 단계입니다:

  1. 인덱스 차원 확인:

    • 인덱스를 생성할 때 지정한 차원을 확인합니다. 인덱스가 3072 차원으로 생성된 것으로 보이므로, 현재 사용하려는 벡터가 이에 맞지 않습니다.

  2. 벡터 차원 조정:

    • 사용하려는 벡터의 차원을 3072로 조정하거나, 현재 벡터의 차원에 맞게 새로운 인덱스를 생성해야 합니다.

  3. 인덱스 재생성 (필요시):

    • 새로운 차원으로 인덱스를 생성하려면 Pinecone 관리 콘솔이나 API를 통해 인덱스를 다시 생성해야 합니다.

답변 2

1

GoogleGenerativeAIEmbeddings

gemini-pro 이용하시는 분들은 dimension: 768 로 설정하시고 진행하시면 됩니다!

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

공유 감사합니다!

1

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

ChatGPT의 답변이 맞습니다.

Pinecone에서 index를 생성할 때 set up by model 선택하시고 강의 내용처럼 text-embedding-3-large 를 선택하시면 dimension에 3072가 입력됩니다. 해당 화면에서 dimension을 4096으로 입력하시면 문제는 해결됩니다! 아래 스크린샷을 참고해주세요

image

제가 어제 Chroma만 추가촬영을 하고 Pinecone은 추가촬영을 하지 않았네요 ㅠㅠ 요거는 제가 오늘 퇴근하고 촬영해서 업데이트 해두겠습니다. 감사합니다!

지원님의 프로필 이미지
지원
질문자

네 감사합니다! 해결되었습니다

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

Pinecone에 UpstageEmbedding을 활용해서 데이터를 적재하는 방법을 추가했습니다. 피드백 정말 감사합니다 지원님!

지원님의 프로필 이미지
지원

작성한 질문수

질문하기