向量数据库:Weaviate Weaviate是一个创新的向量数据库,提供了强大的数据存储和检索功能。
通过使用向量来索引数据对象,Weaviate可以根据其语义属性存储和检索数据对象。 Weaviate可以独立使用(带上你的向量),或与各种模块结合使用,对您的核心功能进行矢量化和增强。 多亏了其独特的设计,Weaviate确保了快速的性能和高效的操作。 QuickStart: 要部署Weaviate,可以使用docker-compose。对于文本嵌入转换,我们将使用OpenAI模块:
--- version: '3.4' services: weaviate: image: semitechnologies/weaviate:1.20.0 restart: on-failure:0 ports: - "8080:8080" environment: QUERY_DEFAULTS_LIMIT: 20 AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' PERSISTENCE_DATA_PATH: "./data" DEFAULT_VECTORIZER_MODULE: text2vec-openai ENABLE_MODULES: text2vec-openai OPENAI_APIKEY: sk-xxx # replace with your OpenAI key CLUSTER_HOSTNAME: 'node1' 使用Weaviate和OpenAI 1. 建立链接 首先,我们建立与Weaviate向量数据库的连接:
pip install weaviate-client import weaviate client = weaviate.Client( url = "http://localhost:8080" ) client.is_live() 2. 插入数据 一旦与Weaviate向量数据库的连接正常,我们可以开始插入数据:
uuid = client.data_object.create({ 'question': 'This vector DB is OSS & supports automatic property type inference on import', 'somePropNotInTheSchema': 123, # automatically added as a numeric property }, 'JeopardyQuestion') print(uuid) 3.