Chuyển tới nội dung chính

{/* Trang này được tạo tự động từ SKILL.md của kỹ năng bởi website/scripts/generate-skill-docs.py. Chỉnh sửa nguồn SKILL.md, không phải trang này. */}

Quả thông

Cơ sở dữ liệu vectơ được quản lý cho các ứng dụng AI sản xuất. Được quản lý hoàn toàn, tự động mở rộng quy mô, với tìm kiếm kết hợp (dày đặc + thưa thớt), lọc siêu dữ liệu và không gian tên. Độ trễ thấp (<100ms p95). Sử dụng cho RAG sản xuất, hệ thống đề xuất hoặc tìm kiếm ngữ nghĩa trên quy mô lớn. Tốt nhất cho cơ sở hạ tầng được quản lý, không có máy chủ.

Siêu dữ liệu kỹ năng

NguồnTùy chọn — cài đặt với
`Hermes skills install official/mlops/pinecone
`
Đường dẫn

optional-skills/mlops/pinecone ` | | Phiên bản |

1.0.0 ` | | Tác giả | Nghiên cứu dàn nhạc | | Giấy phép | MIT | | Phụ thuộc |

pinecone-CLIent ` | | Nền tảng | Linux, macOS, Windows | | Thẻ |

RAG

, `Pinecone

, `Vector Database

, `Managed Service

, `Serverless

, `Hybrid Search

, `Production

, `Auto-Scaling

, `Low Latency

, Recommendations |

Tham khảo: đầy đủ SKILL.md

thông tin

Sau đây là định nghĩa kỹ năng đầy đủ mà Hermes tải khi kỹ năng này được kích hoạt. Đây là những gì tác nhân coi là hướng dẫn khi kỹ năng được kích hoạt.

Pinecone - Cơ sở dữ liệu Vector được quản lý

Cơ sở dữ liệu vectơ cho các ứng dụng AI sản xuất.

Khi nào nên sử dụng Quả thông`Sử dụng khi:

  • Cần cơ sở dữ liệu vector không có máy chủ được quản lý
  • Sản xuất ứng dụng RAG
  • Yêu cầu tự động mở rộng quy mô
  • Độ trễ thấp tới hạn (<100ms)
  • Không muốn quản lý cơ sở hạ tầng
  • Cần tìm kiếm kết hợp (vectơ dày đặc + thưa thớt)

Số liệu:

  • SaaS được quản lý hoàn toàn
  • Tự động chia tỷ lệ thành hàng tỷ vectơ
  • độ trễ p95 <100ms
  • SLA thời gian hoạt động 99,9%`Thay vào đó hãy sử dụng các lựa chọn thay thế:
  • Chroma: Tự lưu trữ, mã nguồn mở
  • FAISS: Tìm kiếm tương tự thuần túy, ngoại tuyến
  • Weaviate: Tự lưu trữ với nhiều tính năng hơn

Bắt đầu nhanh

Cài đặt

pip install pinecone-CLIent

`
``###Cách sử dụng cơ bản

`Python
from pinecone import Pinecone, ServerlessSpec

# Initialize
pc = Pinecone(API_key="your-API-key")

# Create index
pc.create_index(
name="my-index",
dimension=1536, # Must match embedding dimension
metric="cosine", # or "euCLIdean", "dotproduct"
spec=ServerlessSpec(cloud="aws", region="us-east-1")
)

# Connect to index
index = pc.Index("my-index")

# Upsert vectors
index.upsert(vectors=[
\&#123;"id": "vec1", "values": [0.1, 0.2, ...], "metadata": \&#123;"category": "A"&#125;&#125;,
\&#123;"id": "vec2", "values": [0.3, 0.4, ...], "metadata": \&#123;"category": "B"&#125;&#125;
])

# Query
results = index.query(
vector=[0.1, 0.2, ...],
top_k=5,
include_metadata=True
)

print(results["matches"])

`
``##Hoạt động cốt lõi

### Tạo chỉ mục

`Python

# Serverless (recommended)
pc.create_index(
name="my-index",
dimension=1536,
metric="cosine",
spec=ServerlessSpec(
cloud="aws", # or "gcp", "azure"
region="us-east-1"
)
)

# Pod-based (for consistent performance)
from pinecone import PodSpec`pc.create_index(
name="my-index",
dimension=1536,
metric="cosine",
spec=PodSpec(
environment="us-east1-gcp",
pod_type="p1.x1"
)
)

`

### Nâng cao vectơ

``` python

# Single upsert
index.upsert(vectors=[
&#123;
"id": "doc1",
"values": [0.1, 0.2, ...], # 1536 dimensions
"metadata": &#123;
"text": "Document content",
"category": "tutorial",
"timestamp": "2025-01-01"
&#125;
&#125;
])

# Batch upsert (recommended)
vectors = [
\&#123;"id": f"vec\&#123;i&#125;", "values": embedding, "metadata": metadata&#125;
for i, (embedding, metadata) in enumerate(zip(embeddings, metadatas))
]

index.upsert(vectors=vectors, batch_size=100)

`

### Vectơ truy vấn

``` python

# Basic query
results = index.query(
vector=[0.1, 0.2, ...],
top_k=10,
include_metadata=True,
include_values=False
)

# With metadata filtering
results = index.query(
vector=[0.1, 0.2, ...],
top_k=5,
filter=\&#123;"category": \&#123;"$eq": "tutorial"&#125;&#125;
)

# Namespace query
results = index.query(
vector=[0.1, 0.2, ...],
top_k=5,
namespace="production"
)

# Access results
for match in results["matches"]:
print(f"ID: \&#123;match['id']&#125;")
print(f"Score: \&#123;match['score']&#125;")
print(f"Metadata: \&#123;match['metadata']&#125;")

`

### Lọc siêu dữ liệu

``` python

# Exact match
filter = \&#123;"category": "tutorial"&#125;

# Comparison
filter = \&#123;"price": \&#123;"$gte": 100&#125;&#125; # $gt, $gte, $lt, $lte, $ne

# Logical operators
filter = &#123;
"$and": [
\&#123;"category": "tutorial"&#125;,
\&#123;"difficulty": \&#123;"$lte": 3&#125;&#125;
]
&#125; # Also: $or

# In operator
filter = \&#123;"tags": \&#123;"$in": ["Python", "ml"]&#125;&#125;

`

## Không gian tên

``` python

# Partition data by namespace
index.upsert(
vectors=[\&#123;"id": "vec1", "values": [...]&#125;],
namespace="user-123"
)

# Query specific namespace
results = index.query(
vector=[...],
namespace="user-123",
top_k=5
)

# List namespaces
stats = index.describe_index_stats()
print(stats['namespaces'])

`

## Tìm kiếm kết hợp (dày đặc + thưa thớt)

``` python

# Upsert with sparse vectors
index.upsert(vectors=[
&#123;
"id": "doc1",
"values": [0.1, 0.2, ...], # Dense vector
"sparse_values": &#123;
"indices": [10, 45, 123], # Token IDs
"values": [0.5, 0.3, 0.8] # TF-IDF scores
&#125;,
"metadata": \&#123;"text": "..."&#125;
&#125;
])

# Hybrid query
results = index.query(
vector=[0.1, 0.2, ...],
sparse_vector=&#123;
"indices": [10, 45],
"values": [0.5, 0.3]
&#125;,
top_k=5,
alpha=0.5 # 0=sparse, 1=dense, 0.5=hybrid
)

`

## Tích hợp LangChain

``` python
from langchain_pinecone import PineconeVectorStore
from langchain_OpenAI import OpenAIEmbeddings

# Create vector store
vectorstore = PineconeVectorStore.from_documents(
documents=docs,
embedding=OpenAIEmbeddings(),
index_name="my-index"
)

# Query
results = vectorstore.similarity_search("query", k=5)

# With metadata filter
results = vectorstore.similarity_search(
"query",
k=5,
filter=\&#123;"category": "tutorial"&#125;
)

# As retriever
retriever = vectorstore.as_retriever(search_kwargs=\&#123;"k": 10&#125;)

`

## Tích hợp LlamaIndex

`Python
from Llama_index.vector_stores.pinecone import PineconeVectorStore

# Connect to Pinecone
pc = Pinecone(API_key="your-key")
pinecone_index = pc.Index("my-index")

# Create vector store
vector_store = PineconeVectorStore(pinecone_index=pinecone_index)

# Use in LlamaIndex
from Llama_index.core import StorageContext, VectorStoreIndex`storage_context = StorageContext.from_defaults(vector_store=vector_store)
index = VectorStoreIndex.from_documents(documents, storage_context=storage_context)

`

## Quản lý chỉ mục

`Python

# List indices
indexes = pc.list_indexes()

# Describe index
index_info = pc.describe_index("my-index")
print(index_info)

# Get index stats
stats = index.describe_index_stats()
print(f"Total vectors: \&#123;stats['total_vector_count']&#125;")
print(f"Namespaces: \&#123;stats['namespaces']&#125;")

# Delete index
pc.delete_index("my-index")

`

## Xóa vectơ

``` python

# Delete by ID
index.delete(ids=["vec1", "vec2"])

# Delete by filter
index.delete(filter=\&#123;"category": "old"&#125;)

# Delete all in namespace
index.delete(delete_all=True, namespace="test")

# Delete entire index
index.delete(delete_all=True)

`

## Các phương pháp hay nhất
1. **Sử dụng serverless** - Tự động mở rộng quy mô, tiết kiệm chi phí
2. **Nâng cấp hàng loạt** - Hiệu quả hơn (100-200 mỗi đợt)
3. **Thêm siêu dữ liệu** - Bật lọc
4. **Sử dụng không gian tên** - Tách biệt dữ liệu theo người dùng/người thuê
5. **Giám sát việc sử dụng** - Kiểm tra bảng điều khiển Pinecone
6. **Tối ưu hóa bộ lọc** - Lập chỉ mục các trường được lọc thường xuyên
7. **Thử nghiệm với bậc miễn phí** - 1 chỉ mục, 100K vectơ miễn phí
8. **Sử dụng tìm kiếm kết hợp** - Chất lượng tốt hơn
9. **Đặt kích thước phù hợp** - Mô hình nhúng phù hợp
10. **Sao lưu thường xuyên** - Xuất dữ liệu quan trọng

## Hiệu suất

| Hoạt động | Độ trễ | Ghi chú |
|----------|--------------|-------|
| Upsert | ~50-100ms | Mỗi đợt |
| Truy vấn (tr50) | ~50 mili giây | Phụ thuộc vào kích thước chỉ mục |
| Truy vấn (tr95) | ~100 mili giây | Mục tiêu SLA |
| Bộ lọc siêu dữ liệu | ~+10-20ms | Chi phí bổ sung |

## Giá cả (tính đến năm 2025)

**Không có máy chủ**:
- 0,096 USD trên một triệu đơn vị đọc
- 0,06 USD trên một triệu đơn vị ghi
- 0,06 USD cho mỗi GB dung lượng lưu trữ/tháng`**Cấp miễn phí**:
- 1 chỉ mục không có máy chủ
- 100K vectơ (1536 kích thước)
- Tuyệt vời cho việc tạo mẫu

## Tài nguyên
- **Trang web**: https://www.pinecone.io
- **Tài liệu**: https://docs.pinecone.io
- **Bảng điều khiển**: https://app.pinecone.io
- **Giá**: https://www.pinecone.io/pricing