무슨 생각 하시는지 알아요
무슨 일인가 싶죠
오늘이 5일째예요
5주 차 중 5일째예요
왜 주피터 공책을 펼쳐놨죠?
4일째라고 하죠 5분
넷째 날에 잠깐 편차가 생겼기 때문이죠 벡터 데이터 저장소를 다른 것으로 바꾸는 게
얼마나 간단한지 보여드리려고요
이건 아주 흔하고 많이 사용되니까 여러분께 보여드리기에 좋을 것 같았어요 다른 벡터 데이터
저장소를 표시하는 데 둘 다 사용하고 이런 추상화로 작업하는 게 얼마나 쉬운지도 보여드리기
위해서요
설명해드릴 게 있는데 이건 벡터 데이터 저장소가 아니에요
Facebook 인공지능 동시성 검색을 뜻합니다 페이스북이 만든 자주 사용되는 아주 일반적인 오픈
소스 라이브러리예요 서로 가까운 벡터에 대한 빠른 검색을 가능하게 하죠 그래서 일종의
인 메모리 벡터 스토어로 사용돼요
디스크에 남아 있진 않지만 벡터를 불러오고 유사한 다른 벡터를 검색하기 위해
사용할 수 있어요 라이브러리로도 사용할 수 있죠 유사한 검색을 하기
위해서요 다른 벡터에 가까운 벡터를 찾기 위해서요 랭샨은 그에 대해 올바른 추상화가 내장되어 있어요
그래서 크로마를 대체할 수 있죠
채도를 사용했는데 디스크에 영구적으로 남아 있었죠
좀 더 심각한 데이터 스토어 악습이죠
채도 대신 쓰면 돼요
얼마나 쉬운지 보여드릴게요 코드는 거의 동일할 테니까요 해당 추상화와
몇 가지 다른 걸 제외하면요 get get it
이 import에서 아까처럼 import를 실행하고요.
크로마에 불러오기를 주석으로 달아 놓은 게 보이시죠 커닝이 안 돼요
크로마는 여기 포함되지 않습니다 대신 페이스 페이스북 인공지능 유사성 검색을 불러왔죠
두 가지 변형이 있다는 걸 알아두세요 CPU 변형과 GPU 변형이죠 Pip가 설치된
것에 따라서요
이 환경에선 Pip가 CPU 변종을 설치했지만 GPU에서
실행되는 고성능 프로젝트를 위해서는 엄청난 속도로 실행할 수 있습니다 바이스를 불러왔는데 에러가
없어요, 훌륭하죠
몇 가지 준비해 주세요
모두 같은 코드예요
전처럼 전부 실어요
get 123개만 있으면 렌 덩어리로 바꿀 수 있어요
자, 123개가 나왔네요
네, 맞아요
메타데이터가 맞는지 확인하죠
네 가지 종류가 있어요
지금까지는 달라진 게 없어요
다 똑같아요
하지만 이걸 보세요
한 줄이 교묘하게 바뀌었어요
그렇게 주의를 끌 필요는 없었어요
이미 눈치챈 것 같은데요
벡터 스토어는 크로마.문서로부터의 크로마.이죠
덩크 삽입과 지속 디렉터리도 통과시켰죠
이제 같은 구성체에서 bice.를 입력해요
덩어리도 나눠줘요
삽입구도 통과시키죠
디렉터리에는 전달되지 않습니다 바이스가 디스크에 남지 않기 때문이죠
여기 이 두 선도 달라요
데이터 저장소에 질문을 하는 낮은 레벨의 방법은 달라요
Feist를 사용할 경우 이게 있으면 유용합니다 벡터의 수나 차원값
같은 것에 대해 쿼리를 할 수 있으니까요
채도로 할 때 몇 개의 차원이 있었는지 기억하실지 모르겠네요
하지만 여기 나오는 차원의 개수는 같아요
같은 오픈AI 엠딩을 벡터라이즈로 사용하고 있어요
벡터를 생성하기 위해 동일한 LLM을 사용하고 있죠
바뀐 건 벡터들을 저장하는 방법이에요 크로마가 아니라 Feis에요
123마리의 벡터가 한 덩어리당 한 마리씩 있는 건 당연해요
오픈라이에서 온 차원들이 있어요
또 바뀐 건 작업 전 섹션이 4일째에 달라졌다는 거예요
4일째에 다시 알려드릴게요 사전 작업이죠
가서 한번 보죠
네, 네
pre-work는 더 간단해 보입니다. 크로마에서 벡터, 문서, doc 타입을
가져오는 것이죠.
이 데이터를 get을 위해 채도 쿼리를 하는 방법도 볼 수 있죠
풍기단속반에서 일할 때도 이렇게 했어요
더 빡빡한 방법이 있을 수도 있지만 이 정도면 간단해 보이네요
문서, 문서 타입, 색깔 등 같은 벡터를 수집하고 예상되는 색상에 매핑합니다.
다이어그램과 같은 방식으로 벡터를 시각화할 수 있습니다. 2D에서 했던
것처럼요.
이 코드는 한 가지만 빼고 동일해요
찾을 수 있나 보세요
그게 유일한 변화죠
제목을 크로마에서바이스로 바꿨습니다 하지만 그 외 코드는 같아요
데이터 저장소를 시각화할 거예요
여기 벡터가 있습니다 악행에서 묘사되는 모습이죠
물론 예상하셨겠지만 벡터화 접근법은 같아요
그래서 비슷해 보이죠
벡터 데이터 저장소로 다른 기본 기술을 사용할 뿐이죠
물론 3D로 표현할 수 있죠
지금 바이스에서 3D 표현을 보고 있는데 아주 보기 좋네요 이번엔
아주 잘 분리됐어요
됐어요
온종일 볼 수도 있겠어요
Get it, get it, get it. 그런 느낌이죠
그걸 한데 모으는 코드는 동일하고요
하나도 안 바꿨어요
레트리버로 저장된 벡터는 채도로 호출되거나 얼굴로 호출될 수 있어요
그게 그거죠
자, 됐어요
우리가 운영해요
오류는 없어요
괜찮아요
바로 그라디오 얘기를 하죠
자, 시작할게요
이게 그라디오 인터페이스예요
지난번에 보여드리려고 했던 것 중 하나가 채도 검사에서도 같은
효과를 볼 수 있어요 질문을 받을 수 있는데 에이버리가 전에
뭘 했는지 기억하시죠
올바른 컨텍스트를 검색할 만큼 교활합니다 랭커스터라고
하지 않고 소문자 a로 썼는데도요 더 나아가서 이렇게 말할 수도 있죠
에이버리 이름도 그렇게 틀리게 쓸 수 있어요
에이버리는 뭘 했죠?
네
이 코드를 그대로 실행해 뭐가 나왔는지 보죠
에이버리 랭커스터에 대해 정확히 식별했습니다 그녀의 인사 기록을 찾아봤고 이노베이트
보험 솔루션에서 일했다는 걸 다시 정확히 식별했어요
들어가서 빨리 확인해 보죠
이미 정해졌으니까 직원들 서류로 가야죠
에이버리 랭커스터를 찾았어요
여기 있네요
인사 기록이에요
어떻게 했는지 보죠
이노베이트 보험 솔루션에서 일하긴 했죠 인큐어 엘름 창립 전에요
이게 발명품이 아니라 다행이네요
그러니까 요점은 이겁니다 이걸 보면 텍스트 매칭만 한 게 아니란 걸 알 수
있어요
심지어 잘못된 케이스로 비난받지도 않았어요 소문자나 대문자로요 get it get it
철자가 틀렸다는 걸 밝혀냈어요 Y로 시작하는 랭커스터와 같은
의미라는 걸요
상식적으로 충분히 우리가 추구하는 게 그거라는 걸 알 수 있죠
왜냐하면 이것을 벡터로 바꿀 때 벡터로 놓았기 때문입니다. 벡터 데이터
스토어에서 그것과 가까운 벡터를 보면 에이버리 랭커스터의 HR 기록이 데이터 스토어에서
그것과 비슷한 것을 발견하게 되죠.
철자를 틀려도 잘 된다는 게 정말 놀라워요
벡터 찾기 접근법이 첫 번째 시간에 사용한 브루트 포스 기술보다 얼마나 나은지
보여주는 명백한 예입니다 이 테스트에서는 가망이 전혀
없었겠죠
채도를 사용하면 같은 결과가 나온다는 걸 증명하게 해 드릴게요 둘 다 해 볼
수 있지만 두고 보세요
채도와 바이스가 잘 맞았으면 좋겠네요
하지만 가장 중요한 건 그걸 봤다는 거예요
전에 설명드린 대로 랭은 아주 간단하게 뒤에서 다른 벡터 데이터 저장소를 변경하게 합니다
래그 워크플로우에도 같은 배관을 사용하고요
슬라이드로 돌아가죠