inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

안녕하세요 강의 참고하여 개인 프로젝트 진행 중인데 질문이 있습니다.

해결된 질문

156

이건희

작성한 질문수 3

0

개인 토이 프로젝트 진행중입니다. chroma db에 제가 저장하고 싶은 데이터를 저장하려하는데 mySQL과 같이 관계형 데이터베이스 형식으로 데이터 저장이 안되는지 궁금합니다.

image.png

첨부한 그림과 같은 데이터 구조인데, 회원에 따른 회원정보 임베딩 값을 크로마db에 저장하고 싶습니다. document_list에 회원정보를 list로 전달하고, ids를 회원 숫자 값으로 저장하려했는데 안되어서 질문 남깁니다

vector-database llm langchain rag openai-api

답변 2

0

제이쓴

안녕하세요, metadata에 dictionary 형태로 저장하면 RDB와 유사한 형태로 접근할 수 있습니다

0

이건희

저장하는 것까지는 완료했습니다. 그런데 벡터DB가 임베딩 벡터 값을 그대로 저장하는 것이 아닌가요? 생성된 chroma 디렉토리에 들어가서 임베딩된 벡터 값을 그대로 꺼내서 활용하고 싶은데 값이 유니코드? 형식으로 저장되어있는 것 같아서요

0

제이쓴

유니코드면 원본 문서가 인코딩된걸 보시는게 아닐까 생각합니다. 벡터DB에서 임베딩을 추출해서 어떤 목적으로 사용하시려고 하시는걸까요?

0

제이쓴

Screenshot 2024-11-27 at 10.48.14 AM.png

sqlite로 보시면 embeddings_queue 라는 테이블에 vector 라는 컬럼이 binary blob으로 인코딩된 임베딩입니다. select하셔서 Numpy로 디코딩하시면 활용 가능하실거에요~

0

인프런 AI 인턴

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

이건희님께서 Chroma DB와 관계형 데이터베이스 개념에 대해 궁금해 하시는 것 같아 도움을 드리겠습니다. Chroma DB는 기본적으로 벡터 데이터를 저장하고 검색하는 데 최적화된 데이터베이스입니다. 즉, 관계형 데이터베이스처럼 정형화된 테이블 구조를 제공하기보다는 벡터를 효율적으로 저장하고 검색할 수 있는 기능에 중점을 두고 있습니다.

회원 정보와 같은 데이터를 Chroma DB에 저장하고 검색하는 경우, 각 회원의 정보를 임베딩(벡터화)하여 이를 Chroma DB의 문서로 저장할 수 있습니다. 일반적인 접근 방식은 다음과 같습니다:

  1. 데이터 벡터화: 회원정보(예: 텍스트)를 임베딩을 통해 벡터로 변환합니다. 이는 언어 모델이나 특정 임베딩 모델을 활용할 수 있습니다.

  2. Chroma DB 저장: 벡터화된 데이터를 Chroma DB에 저장합니다. 이때 각 레코드나 데이터 항목에 대한 식별자(ids)를 별도로 관리해야 합니다. Chroma DB의 document_list에 벡터화된 데이터와 해당 식별자를 함께 저장하는 방법으로 구현이 가능합니다.

  3. 검색: 저장된 벡터 데이터를 바탕으로 유사성을 검색할 수 있습니다. Chroma는 벡터 간 유사도를 계산하여 가장 유사한 데이터 항목을 반환하는 데 최적화되어 있습니다.

관계형 데이터베이스처럼 정형화된 테이블 구조가 아니라, 벡터 데이터를 중심으로 관리되어야 한다는 점을 염두에 두시기 바랍니다. 필요할 경우, metadata 필드를 활용하여 추가적인 속성을 저장할 수도 있습니다.

chroma에 벡터 데이터 저장하기 이 글에서는 Chroma를 활용하여 벡터 데이터를 저장하고 검색하는 방법을 자세히 설명합니다. 해당 링크를 참조하여 구체적인 코드 작성 사례를 확인하시기 바랍니다.

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

소득세법 docx 파일 공유 요청건

0

65

1

EXAONE 모델 불러오기 안되는 문제

0

89

2

[5.1 강의] LLM Evaluator에 Upstage를 사용하는 방법 + 변경된 Langsmith Docs를 참고하여 구현하는 방법 공유

0

104

2

강의 9에 QA관련된 import가 되지 않네요

0

111

2

🚨 python3.14 를 쓰고 계시면 chroma 에서 ConfigError 가 발생합니다.

1

200

1

강의와 책 관련 질문

0

87

1

문서 전처리 고민

0

111

1

RAG 배포 질문드립니다

0

95

1

강의 내용과는 별개로 궁금한 점이 있습니다

0

89

2

폐쇄망 챗봇 모델

0

94

1

AI agent 쿠폰

0

95

2

저는 왜 그대로 했는데 답변이 틀리게 나오는지 모르겠네요

0

102

2

langchain howto/sequence는 지금 doc 공식 사이트 어디서 확인할 수 있나요?

1

95

1

new_question에 대한 답 출력

0

74

2

랭체인 라이브러리

0

148

2

[LangGraph를 활용한 AI Agent 개발] 쿠폰 유효기간

0

106

1

postgresql의 pgvector 벡터는 어떤가요?

0

345

2

doc관련

0

128

2

load_dotenv() 실행 False

0

96

1

RAG 답변 개선을 위한 정답지 활용 구조 검토 요청

0

119

2

3.2 from langchain.chains ~ 에서 모듈을 찾지 못할 때.

1

406

2

강의 완료 오류

0

89

1

hub.pull 이슈

0

131

2

[3.3 강의] Upstage를 사용한 RAG 구현 성공기 공유

1

150

1