Spaces:
Runtime error
Runtime error
| import os | |
| from langchain_openai import OpenAIEmbeddings | |
| from langchain_pinecone import PineconeVectorStore | |
| from pinecone import Pinecone | |
| class PineconeClient: | |
| def __init__(self): | |
| self.pc = Pinecone( | |
| api_key=os.getenv("PINECONE_API_KEY"), | |
| ) | |
| self.embeddings = OpenAIEmbeddings(openai_api_key=os.getenv("OPENAI_API_KEY")) | |
| async def __aenter__(self): | |
| self.index = self.pc.Index(os.getenv("PINECONE_INDEX_NAME")) | |
| self.vector_store = PineconeVectorStore( | |
| index=self.index, embedding=self.embeddings | |
| ) | |
| return self | |
| async def __aexit__(self, exc_type, exc_val, exc_tb): | |
| pass | |
| async def insert_data(self, text: list[str], metadata: list[dict]): | |
| return await self.vector_store.aadd_texts(texts=text, metadatas=metadata) | |
| async def similarity_search(self, query: str, top_k: int = 5): | |
| return await self.vector_store.asimilarity_search_with_score( | |
| query=query, k=top_k | |
| ) | |
| async def delete(self, ids: list[str]): | |
| return await self.vector_store.adelete(ids=ids) | |