pinecone

package
v0.5.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package pinecone 提供 Pinecone 向量数据库集成

Pinecone 是一个托管的向量数据库服务,专为生产级向量搜索而设计。

特性:

  • 完全托管,无需运维
  • 亚毫秒级查询延迟
  • 自动扩缩容
  • 支持元数据过滤
  • 支持命名空间隔离

使用示例:

store, err := pinecone.NewStore(ctx,
    pinecone.WithAPIKey("your-api-key"),
    pinecone.WithEnvironment("us-west1-gcp"),
    pinecone.WithIndex("my-index"),
)
defer store.Close()

Index

Constants

View Source
const (
	// DefaultDimension 默认向量维度(OpenAI text-embedding-ada-002)
	DefaultDimension = 1536

	// DefaultMetric 默认距离度量
	DefaultMetric = "cosine"

	// DefaultHTTPTimeout 默认 HTTP 超时时间
	DefaultHTTPTimeout = 30 * time.Second

	// DefaultMaxRetries 默认最大重试次数
	DefaultMaxRetries = 100

	// DefaultRetryDelay 默认重试延迟
	DefaultRetryDelay = 100 * time.Millisecond
)

默认配置常量

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(*Store)

Option Store 配置选项

func WithAPIKey

func WithAPIKey(apiKey string) Option

WithAPIKey 设置 API Key

func WithDimension

func WithDimension(dim int) Option

WithDimension 设置向量维度

func WithEnvironment

func WithEnvironment(env string) Option

WithEnvironment 设置环境

func WithHTTPClient

func WithHTTPClient(client *http.Client) Option

WithHTTPClient 设置 HTTP 客户端

func WithHost

func WithHost(host string) Option

WithHost 设置索引主机地址

func WithIndex

func WithIndex(index string) Option

WithIndex 设置索引名称

func WithMetric

func WithMetric(metric string) Option

WithMetric 设置距离度量 支持: cosine, euclidean, dotproduct

func WithNamespace

func WithNamespace(namespace string) Option

WithNamespace 设置命名空间

type Store

type Store struct {
	// contains filtered or unexported fields
}

Store Pinecone 向量存储

封装 Pinecone REST API,实现 vector.Store 接口

func NewStore

func NewStore(ctx context.Context, opts ...Option) (*Store, error)

NewStore 创建 Pinecone 存储

func (*Store) Add

func (s *Store) Add(ctx context.Context, docs []vector.Document) error

Add 添加文档

func (*Store) Clear

func (s *Store) Clear(ctx context.Context) error

Clear 清空索引

func (*Store) Close

func (s *Store) Close() error

Close 关闭连接

func (*Store) Count

func (s *Store) Count(ctx context.Context) (int, error)

Count 返回文档数量

func (*Store) Delete

func (s *Store) Delete(ctx context.Context, ids []string) error

Delete 删除文档

func (*Store) Get

func (s *Store) Get(ctx context.Context, id string) (*vector.Document, error)

Get 获取指定文档

func (*Store) Search

func (s *Store) Search(ctx context.Context, embedding []float32, topK int, opts ...vector.SearchOption) ([]vector.Document, error)

Search 搜索相似文档

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL