# # Automatically restart kernel after installs so that your environment can access the new packages# import IPython# app = IPython.Application.instance()# app.kernel.do_shutdown(True)
# @markdown Please fill in the value below with your Google Cloud project ID and then run the cell.PROJECT_ID = "my-project-id" # @param {type:"string"}# Set the project id!gcloud config set project {PROJECT_ID}
import redisfrom langchain_google_memorystore_redis import ( DistanceStrategy, HNSWConfig, RedisVectorStore,)# Connect to a Memorystore for Redis instanceredis_client = redis.from_url("redis://127.0.0.1:6379")# Configure HNSW index with descriptive parametersindex_config = HNSWConfig( name="my_vector_index", distance_strategy=DistanceStrategy.COSINE, vector_size=128)# Initialize/create the vector store indexRedisVectorStore.init_index(client=redis_client, index_config=index_config)
rvs = RedisVectorStore( client=redis_client, index_name="my_vector_index", embeddings=embeddings)ids = rvs.add_texts( texts=[d.page_content for d in docs], metadatas=[d.metadata for d in docs])
构建查询:一个自然语言问题表达搜索意图(例如,“总统关于 Ketanji Brown Jackson 说了什么”)。
检索相似结果:similarity_search 方法找到向量存储中与查询在意义上最接近的项目。
import pprintquery = "What did the president say about Ketanji Brown Jackson"knn_results = rvs.similarity_search(query=query)pprint.pprint(knn_results)