Pinecone는 광범위한 기능을 제공하는 vector database입니다.이 노트북에서는
Pinecone vector database와 관련된 기능을 사용하는 방법을 보여줍니다.
설정
PineconeSparseVectorStore를 사용하려면, 파트너 package와 이 노트북 전반에서 사용하는 다른 package들을 먼저 설치해야 합니다.
자격 증명
새로운 Pinecone account를 만들거나 기존 account에 로그인한 뒤, 이 노트북에서 사용할 API key를 생성하세요.초기화
vector store를 초기화하기 전에 Pinecone index에 연결해 보겠습니다. 이름이 index_name인 index가 없다면 새로 생성됩니다.pinecone-sparse-english-v0를 사용하며, 다음과 같이 초기화합니다:
vector store 관리
vector store를 만들었으면 항목을 추가하거나 삭제하여 상호작용할 수 있습니다.vector store에 항목 추가
add_documents function을 사용해 vector store에 항목을 추가할 수 있습니다.
vector store에서 항목 삭제
delete method를 사용하여 vector store에서 record를 삭제할 수 있으며, 삭제할 document ID 목록을 전달하면 됩니다.
vector store 쿼리
document를 vector store에 적재했으면 보통 쿼리를 시작할 준비가 된 것입니다. LangChain에는 이를 위한 다양한 methods가 있습니다. 먼저similarity_search method를 통해 vector_store를 직접 쿼리하여 간단한 vector search를 수행하는 방법을 보겠습니다:
source=="social"인 record만 포함하도록 검색을 제한하는 간단한 filter를 적용해 보겠습니다:
"website" source에서 다른 record를 반환했음을 알 수 있습니다. 이후의 filter가 적용된 쿼리에서는 더 이상 그렇지 않습니다.
Similarity Search와 점수
검색 시(document, score) tuple 목록과 함께 similarity score를 반환하도록 할 수도 있습니다. 여기서 document는 텍스트 내용과 metadata를 포함하는 LangChain Document object입니다.
Retriever로 사용하기
chain과 agent에서는 vector store를VectorStoreRetriever로 자주 사용합니다. 이를 생성하려면 as_retriever method를 사용합니다:
invoke method를 사용해 retriever를 쿼리할 수 있습니다:
retrieval-augmented generation에서의 사용
이 vector store를 retrieval-augmented generation(RAG)에 사용하는 방법은 다음 섹션을 참조하세요:API reference
모든 기능과 설정에 대한 자세한 문서는 API reference를 확인하세요: python.langchain.com/api_reference/pinecone/vectorstores_sparse/langchain_pinecone.vectorstores_sparse.PineconeSparseVectorStore.html#langchain_pinecone.vectorstores_sparse.PineconeSparseVectorStore Sparse Embeddings: python.langchain.com/api_reference/pinecone/embeddings/langchain_pinecone.embeddings.PineconeSparseEmbeddings.htmlConnect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.