유사도 검색을 해보기 위해 Pinecone을 이용한 저장, 찾아오는걸 해봤습니다.
* p.s : pinecone 은 기본적으로 Node버전 18이상에서만 된다고 하기에.. 버전 체크는 필요합니다.
Pinecone에 데이터를 저장하기 위해서는 차원을 골라야하는데요.
차원을 고르기에 앞서서 그냥 DB를 막 만드는게 아닌 embedding을 진행 했을때, 그 차원 수 가 어떤거냐에 따라
DB 설정이 달라지더라구여

DB를 설정 시 다음과 같이 차원 수 를 정할 수 있는데,
만약 내가 embedding 해서 나온 차원 값이 1024인데 768이라던가 512에 맞추면 그건 사용을 못하게 됩니다.
저 같은 경우는 chatgpt에 있는 방식을 이용해서 한거라 차원 수가 달라서 4096으로 설정해야하기 때문에 manual setting을 하였습니다.
원하는 값으로 DB 설정이 된다면 Database -> Index에 목록이 뜨게 되는데 이제 Connect 라는걸 눌러보게되면
어떤 언어로 어떻게 연결하는지가 나옵니다. 저 같은 경우는 Node 사용을 하기 때문에

Node로 해서 진행했습니다. 참고로 해당 내용은 Upsert와 Query문만 있기 때문에 혹여나 Delete문법이 필요하다면
@pincone-database/pinecone 라이브러리를 찾아가서 내용을 확인 하셔야합니다. (다른, 언어도 마찬가지 일거라 생각됩니다.)
https://www.npmjs.com/package/@pinecone-database/pinecone
@pinecone-database/pinecone
This is the official Node.js SDK for [Pinecone](https://www.pinecone.io), written in TypeScript.. Latest version: 5.1.1, last published: a month ago. Start using @pinecone-database/pinecone in your project by running `npm i @pinecone-database/pinecone`. Th
www.npmjs.com
보통 DB가 처음 만들어지게 되면 NAMESPACE 부분이 비어있을텐데 따로 Create 하는 부분이 없더라구여
그래서, 그냥 upsert 진행할때 어떤 namespace로 할지 적어두면 알아서 만들어지면서 들어가게 됩니다.
참고로, 처음에 데이터를 넣게 되면 BROWSER에 점수가 보이게되는데요

이 점수는 이제 데이터를 저장할때 위치에 따라서 점수를 박아두는거 같더라구여. 그래서 유사도 + 점수 이런걸 다 체크를 해서 데이터를 가져오는거 같아보이는데, 솔직히 저 숫자가 제대로 쓰이고 있는지는 모르겠어요.
근데, 무조건 시작 데이터를 실제 데이터로 넣으면 그게 중심이 된다고 하니, 시작할때는 더미데이터를 꼭 넣으시는게 좋습니다.
사용법은 아마, 라이브러리 정보를 보면서 해보면 금방 할 수 있습니다. sql 쿼리문 써서 하는 것 처럼 단순 CRUD라서..
단순하게 해보는건 쉬울거 같습니다.
* p.s : pinecone도 프리티어가 존재하는거 같아요. 프리티어 썼다가 더 많이 써야할거 같다 싶으면 그때 돈써서 쓰세요
'잡다한 지식' 카테고리의 다른 글
| [Linux] 파일에 권한 정보 (0) | 2025.05.16 |
|---|---|
| [PY] python을 이용한 Chromadb (0) | 2025.04.24 |
| [SQL] mediumtext 가 준 교훈.. (0) | 2025.03.21 |
| [JS] Promise 종류 (0) | 2024.11.20 |
| [SPF] SPF 레코드 (0) | 2024.11.12 |