多租户与命名空间

使用 Pinecone 构建 AI 应用

James Chapman

Curriculum Manager, DataCamp

多租户

 

  • 隔离服务多个租户
  • 分隔不同客户数据
    • 安全隐私
  • 降低查询延迟

多租户示意图

使用 Pinecone 构建 AI 应用

多租户策略

 

  1. 命名空间
    • 优点: 减少新增索引需求
    • 缺点: 共享资源,数据更复杂
  2. 元数据筛选
    • 优点: 可跨多个租户查询
    • 缺点: 共享资源,成本核算困难
  3. 独立索引
    • 优点: 物理隔离租户,单独分配资源
    • 缺点: 需更多投入与成本
使用 Pinecone 构建 AI 应用

命名空间

  • 若不存在,会在插入时_隐式_创建
index.upsert(
  vectors=vector_set1, namespace="namespace1"
)
index.upsert(
  vectors=vector_set2, namespace="namespace2"
)
使用 Pinecone 构建 AI 应用

检查命名空间

index.describe_index_stats()
{'dimension': 1536,
 'index_fullness': 0.0,
 'namespaces': {'namespace1': {'vector_count': 5},
                'namespace2': {'vector_count': 5}},
 'total_vector_count': 10}
使用 Pinecone 构建 AI 应用

从命名空间查询向量

query_result = index.query(
    vector=vector,

namespace='namespace1',
top_k=3 )
使用 Pinecone 构建 AI 应用

从命名空间删除向量

index.delete(
    ids=["1", "2"],
    namespace='namespace1'
)
使用 Pinecone 构建 AI 应用

开始练习!

使用 Pinecone 构建 AI 应用

Preparing Video For Download...