import os import weaviate from langchain.document_loaders.csv_loader import CSVLoader from langchain.embeddings import CohereEmbeddings from langchain.vectorstores import Weaviate def setup_weaviate(): client = weaviate.Client( url='https://spark-2l75d3ky.weaviate.network', auth_client_secret=weaviate.AuthApiKey("") ) # clear this class first client.schema.delete_class("Spark") class_definition = { "class": "Spark", "vectorIndexConfig": { "distance": "cosine" # Set to "cosine" for English models; "dot" for multilingual models } } client.schema.create_class(class_definition) loader = CSVLoader(file_path="prompts.csv") data = loader.load() embeddings = CohereEmbeddings(cohere_api_key=os.environ['COHERE_API_KEY'], model="embed-english-light-v3.0") vectorstore = Weaviate.from_documents( data, embeddings, client=client, by_text=False, index_name="Spark" ) return vectorstore.as_retriever(k=2)