Documentation
¶
Index ¶
- Constants
- Variables
- func RegisterOpaqueSearchServer(s grpc.ServiceRegistrar, srv OpaqueSearchServer)
- type CandidateRequest
- func (*CandidateRequest) Descriptor() ([]byte, []int)deprecated
- func (x *CandidateRequest) GetLshHash() []byte
- func (x *CandidateRequest) GetMultiProbe() bool
- func (x *CandidateRequest) GetNumCandidates() int32
- func (x *CandidateRequest) GetNumProbes() int32
- func (x *CandidateRequest) GetSessionId() string
- func (*CandidateRequest) ProtoMessage()
- func (x *CandidateRequest) ProtoReflect() protoreflect.Message
- func (x *CandidateRequest) Reset()
- func (x *CandidateRequest) String() string
- type CandidateResponse
- func (*CandidateResponse) Descriptor() ([]byte, []int)deprecated
- func (x *CandidateResponse) GetDistances() []int32
- func (x *CandidateResponse) GetIds() []string
- func (*CandidateResponse) ProtoMessage()
- func (x *CandidateResponse) ProtoReflect() protoreflect.Message
- func (x *CandidateResponse) Reset()
- func (x *CandidateResponse) String() string
- type GetPlanesRequest
- type GetPlanesResponse
- func (*GetPlanesResponse) Descriptor() ([]byte, []int)deprecated
- func (x *GetPlanesResponse) GetDimension() int32
- func (x *GetPlanesResponse) GetNumPlanes() int32
- func (x *GetPlanesResponse) GetPlanes() []float64
- func (*GetPlanesResponse) ProtoMessage()
- func (x *GetPlanesResponse) ProtoReflect() protoreflect.Message
- func (x *GetPlanesResponse) Reset()
- func (x *GetPlanesResponse) String() string
- type HealthCheckRequest
- type HealthCheckResponse
- func (*HealthCheckResponse) Descriptor() ([]byte, []int)deprecated
- func (x *HealthCheckResponse) GetActiveSessions() int64
- func (x *HealthCheckResponse) GetMessage() string
- func (x *HealthCheckResponse) GetStatus() HealthCheckResponse_Status
- func (x *HealthCheckResponse) GetVectorCount() int64
- func (*HealthCheckResponse) ProtoMessage()
- func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message
- func (x *HealthCheckResponse) Reset()
- func (x *HealthCheckResponse) String() string
- type HealthCheckResponse_Status
- func (HealthCheckResponse_Status) Descriptor() protoreflect.EnumDescriptor
- func (x HealthCheckResponse_Status) Enum() *HealthCheckResponse_Status
- func (HealthCheckResponse_Status) EnumDescriptor() ([]byte, []int)deprecated
- func (x HealthCheckResponse_Status) Number() protoreflect.EnumNumber
- func (x HealthCheckResponse_Status) String() string
- func (HealthCheckResponse_Status) Type() protoreflect.EnumType
- type OpaqueSearchClient
- type OpaqueSearchServer
- type OpaqueSearch_ComputeScoresStreamClient
- type OpaqueSearch_ComputeScoresStreamServer
- type RegisterKeyRequest
- func (*RegisterKeyRequest) Descriptor() ([]byte, []int)deprecated
- func (x *RegisterKeyRequest) GetPublicKey() []byte
- func (x *RegisterKeyRequest) GetSessionTtlSeconds() int32
- func (*RegisterKeyRequest) ProtoMessage()
- func (x *RegisterKeyRequest) ProtoReflect() protoreflect.Message
- func (x *RegisterKeyRequest) Reset()
- func (x *RegisterKeyRequest) String() string
- type RegisterKeyResponse
- func (*RegisterKeyResponse) Descriptor() ([]byte, []int)deprecated
- func (x *RegisterKeyResponse) GetSessionId() string
- func (x *RegisterKeyResponse) GetSessionTtlSeconds() int32
- func (*RegisterKeyResponse) ProtoMessage()
- func (x *RegisterKeyResponse) ProtoReflect() protoreflect.Message
- func (x *RegisterKeyResponse) Reset()
- func (x *RegisterKeyResponse) String() string
- type ScoreChunk
- type ScoreRequest
- func (*ScoreRequest) Descriptor() ([]byte, []int)deprecated
- func (x *ScoreRequest) GetCandidateIds() []string
- func (x *ScoreRequest) GetEncryptedQuery() []byte
- func (x *ScoreRequest) GetSessionId() string
- func (*ScoreRequest) ProtoMessage()
- func (x *ScoreRequest) ProtoReflect() protoreflect.Message
- func (x *ScoreRequest) Reset()
- func (x *ScoreRequest) String() string
- type ScoreResponse
- func (*ScoreResponse) Descriptor() ([]byte, []int)deprecated
- func (x *ScoreResponse) GetEncryptedScores() [][]byte
- func (x *ScoreResponse) GetIds() []string
- func (*ScoreResponse) ProtoMessage()
- func (x *ScoreResponse) ProtoReflect() protoreflect.Message
- func (x *ScoreResponse) Reset()
- func (x *ScoreResponse) String() string
- type SearchRequest
- func (*SearchRequest) Descriptor() ([]byte, []int)deprecated
- func (x *SearchRequest) GetEncryptedQuery() []byte
- func (x *SearchRequest) GetLshHash() []byte
- func (x *SearchRequest) GetMaxCandidates() int32
- func (x *SearchRequest) GetSessionId() string
- func (x *SearchRequest) GetTopN() int32
- func (*SearchRequest) ProtoMessage()
- func (x *SearchRequest) ProtoReflect() protoreflect.Message
- func (x *SearchRequest) Reset()
- func (x *SearchRequest) String() string
- type SearchResponse
- func (*SearchResponse) Descriptor() ([]byte, []int)deprecated
- func (x *SearchResponse) GetEncryptedScores() [][]byte
- func (x *SearchResponse) GetIds() []string
- func (x *SearchResponse) GetLshDistances() []int32
- func (*SearchResponse) ProtoMessage()
- func (x *SearchResponse) ProtoReflect() protoreflect.Message
- func (x *SearchResponse) Reset()
- func (x *SearchResponse) String() string
- type UnimplementedOpaqueSearchServer
- func (UnimplementedOpaqueSearchServer) ComputeScores(context.Context, *ScoreRequest) (*ScoreResponse, error)
- func (UnimplementedOpaqueSearchServer) ComputeScoresStream(*ScoreRequest, grpc.ServerStreamingServer[ScoreChunk]) error
- func (UnimplementedOpaqueSearchServer) GetCandidates(context.Context, *CandidateRequest) (*CandidateResponse, error)
- func (UnimplementedOpaqueSearchServer) GetPlanes(context.Context, *GetPlanesRequest) (*GetPlanesResponse, error)
- func (UnimplementedOpaqueSearchServer) HealthCheck(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)
- func (UnimplementedOpaqueSearchServer) RegisterKey(context.Context, *RegisterKeyRequest) (*RegisterKeyResponse, error)
- func (UnimplementedOpaqueSearchServer) Search(context.Context, *SearchRequest) (*SearchResponse, error)
- type UnsafeOpaqueSearchServer
Constants ¶
const ( OpaqueSearch_RegisterKey_FullMethodName = "/opaque.v1.OpaqueSearch/RegisterKey" OpaqueSearch_GetPlanes_FullMethodName = "/opaque.v1.OpaqueSearch/GetPlanes" OpaqueSearch_GetCandidates_FullMethodName = "/opaque.v1.OpaqueSearch/GetCandidates" OpaqueSearch_ComputeScores_FullMethodName = "/opaque.v1.OpaqueSearch/ComputeScores" OpaqueSearch_ComputeScoresStream_FullMethodName = "/opaque.v1.OpaqueSearch/ComputeScoresStream" OpaqueSearch_Search_FullMethodName = "/opaque.v1.OpaqueSearch/Search" OpaqueSearch_HealthCheck_FullMethodName = "/opaque.v1.OpaqueSearch/HealthCheck" )
Variables ¶
var ( HealthCheckResponse_Status_name = map[int32]string{ 0: "UNKNOWN", 1: "SERVING", 2: "NOT_SERVING", } HealthCheckResponse_Status_value = map[string]int32{ "UNKNOWN": 0, "SERVING": 1, "NOT_SERVING": 2, } )
Enum value maps for HealthCheckResponse_Status.
var File_api_proto_opaque_proto protoreflect.FileDescriptor
var OpaqueSearch_ServiceDesc = grpc.ServiceDesc{ ServiceName: "opaque.v1.OpaqueSearch", HandlerType: (*OpaqueSearchServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "RegisterKey", Handler: _OpaqueSearch_RegisterKey_Handler, }, { MethodName: "GetPlanes", Handler: _OpaqueSearch_GetPlanes_Handler, }, { MethodName: "GetCandidates", Handler: _OpaqueSearch_GetCandidates_Handler, }, { MethodName: "ComputeScores", Handler: _OpaqueSearch_ComputeScores_Handler, }, { MethodName: "Search", Handler: _OpaqueSearch_Search_Handler, }, { MethodName: "HealthCheck", Handler: _OpaqueSearch_HealthCheck_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "ComputeScoresStream", Handler: _OpaqueSearch_ComputeScoresStream_Handler, ServerStreams: true, }, }, Metadata: "api/proto/opaque.proto", }
OpaqueSearch_ServiceDesc is the grpc.ServiceDesc for OpaqueSearch service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func RegisterOpaqueSearchServer ¶
func RegisterOpaqueSearchServer(s grpc.ServiceRegistrar, srv OpaqueSearchServer)
Types ¶
type CandidateRequest ¶
type CandidateRequest struct {
// Session identifier
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
// LSH hash computed by client
LshHash []byte `protobuf:"bytes,2,opt,name=lsh_hash,json=lshHash,proto3" json:"lsh_hash,omitempty"`
// Maximum number of candidates to return
NumCandidates int32 `protobuf:"varint,3,opt,name=num_candidates,json=numCandidates,proto3" json:"num_candidates,omitempty"`
// Use multi-probe LSH (check neighboring buckets)
MultiProbe bool `protobuf:"varint,4,opt,name=multi_probe,json=multiProbe,proto3" json:"multi_probe,omitempty"`
// Number of probes for multi-probe LSH
NumProbes int32 `protobuf:"varint,5,opt,name=num_probes,json=numProbes,proto3" json:"num_probes,omitempty"`
// contains filtered or unexported fields
}
CandidateRequest requests candidate vectors by LSH hash.
func (*CandidateRequest) Descriptor
deprecated
func (*CandidateRequest) Descriptor() ([]byte, []int)
Deprecated: Use CandidateRequest.ProtoReflect.Descriptor instead.
func (*CandidateRequest) GetLshHash ¶
func (x *CandidateRequest) GetLshHash() []byte
func (*CandidateRequest) GetMultiProbe ¶
func (x *CandidateRequest) GetMultiProbe() bool
func (*CandidateRequest) GetNumCandidates ¶
func (x *CandidateRequest) GetNumCandidates() int32
func (*CandidateRequest) GetNumProbes ¶
func (x *CandidateRequest) GetNumProbes() int32
func (*CandidateRequest) GetSessionId ¶
func (x *CandidateRequest) GetSessionId() string
func (*CandidateRequest) ProtoMessage ¶
func (*CandidateRequest) ProtoMessage()
func (*CandidateRequest) ProtoReflect ¶
func (x *CandidateRequest) ProtoReflect() protoreflect.Message
func (*CandidateRequest) Reset ¶
func (x *CandidateRequest) Reset()
func (*CandidateRequest) String ¶
func (x *CandidateRequest) String() string
type CandidateResponse ¶
type CandidateResponse struct {
// Candidate vector IDs
Ids []string `protobuf:"bytes,1,rep,name=ids,proto3" json:"ids,omitempty"`
// Hamming distances to query hash
Distances []int32 `protobuf:"varint,2,rep,packed,name=distances,proto3" json:"distances,omitempty"`
// contains filtered or unexported fields
}
CandidateResponse contains candidate vector IDs.
func (*CandidateResponse) Descriptor
deprecated
func (*CandidateResponse) Descriptor() ([]byte, []int)
Deprecated: Use CandidateResponse.ProtoReflect.Descriptor instead.
func (*CandidateResponse) GetDistances ¶
func (x *CandidateResponse) GetDistances() []int32
func (*CandidateResponse) GetIds ¶
func (x *CandidateResponse) GetIds() []string
func (*CandidateResponse) ProtoMessage ¶
func (*CandidateResponse) ProtoMessage()
func (*CandidateResponse) ProtoReflect ¶
func (x *CandidateResponse) ProtoReflect() protoreflect.Message
func (*CandidateResponse) Reset ¶
func (x *CandidateResponse) Reset()
func (*CandidateResponse) String ¶
func (x *CandidateResponse) String() string
type GetPlanesRequest ¶
type GetPlanesRequest struct {
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
// contains filtered or unexported fields
}
GetPlanesRequest requests the LSH hyperplanes.
func (*GetPlanesRequest) Descriptor
deprecated
func (*GetPlanesRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetPlanesRequest.ProtoReflect.Descriptor instead.
func (*GetPlanesRequest) GetSessionId ¶
func (x *GetPlanesRequest) GetSessionId() string
func (*GetPlanesRequest) ProtoMessage ¶
func (*GetPlanesRequest) ProtoMessage()
func (*GetPlanesRequest) ProtoReflect ¶
func (x *GetPlanesRequest) ProtoReflect() protoreflect.Message
func (*GetPlanesRequest) Reset ¶
func (x *GetPlanesRequest) Reset()
func (*GetPlanesRequest) String ¶
func (x *GetPlanesRequest) String() string
type GetPlanesResponse ¶
type GetPlanesResponse struct {
// Flattened hyperplanes (num_planes * dimension floats)
Planes []float64 `protobuf:"fixed64,1,rep,packed,name=planes,proto3" json:"planes,omitempty"`
// Number of planes (hash bits)
NumPlanes int32 `protobuf:"varint,2,opt,name=num_planes,json=numPlanes,proto3" json:"num_planes,omitempty"`
// Vector dimension
Dimension int32 `protobuf:"varint,3,opt,name=dimension,proto3" json:"dimension,omitempty"`
// contains filtered or unexported fields
}
GetPlanesResponse contains the LSH hyperplanes for client-side hashing.
func (*GetPlanesResponse) Descriptor
deprecated
func (*GetPlanesResponse) Descriptor() ([]byte, []int)
Deprecated: Use GetPlanesResponse.ProtoReflect.Descriptor instead.
func (*GetPlanesResponse) GetDimension ¶
func (x *GetPlanesResponse) GetDimension() int32
func (*GetPlanesResponse) GetNumPlanes ¶
func (x *GetPlanesResponse) GetNumPlanes() int32
func (*GetPlanesResponse) GetPlanes ¶
func (x *GetPlanesResponse) GetPlanes() []float64
func (*GetPlanesResponse) ProtoMessage ¶
func (*GetPlanesResponse) ProtoMessage()
func (*GetPlanesResponse) ProtoReflect ¶
func (x *GetPlanesResponse) ProtoReflect() protoreflect.Message
func (*GetPlanesResponse) Reset ¶
func (x *GetPlanesResponse) Reset()
func (*GetPlanesResponse) String ¶
func (x *GetPlanesResponse) String() string
type HealthCheckRequest ¶
type HealthCheckRequest struct {
// contains filtered or unexported fields
}
HealthCheckRequest for service health check.
func (*HealthCheckRequest) Descriptor
deprecated
func (*HealthCheckRequest) Descriptor() ([]byte, []int)
Deprecated: Use HealthCheckRequest.ProtoReflect.Descriptor instead.
func (*HealthCheckRequest) ProtoMessage ¶
func (*HealthCheckRequest) ProtoMessage()
func (*HealthCheckRequest) ProtoReflect ¶
func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message
func (*HealthCheckRequest) Reset ¶
func (x *HealthCheckRequest) Reset()
func (*HealthCheckRequest) String ¶
func (x *HealthCheckRequest) String() string
type HealthCheckResponse ¶
type HealthCheckResponse struct {
Status HealthCheckResponse_Status `protobuf:"varint,1,opt,name=status,proto3,enum=opaque.v1.HealthCheckResponse_Status" json:"status,omitempty"`
// Additional info
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
// Number of active sessions
ActiveSessions int64 `protobuf:"varint,3,opt,name=active_sessions,json=activeSessions,proto3" json:"active_sessions,omitempty"`
// Number of vectors in index
VectorCount int64 `protobuf:"varint,4,opt,name=vector_count,json=vectorCount,proto3" json:"vector_count,omitempty"`
// contains filtered or unexported fields
}
HealthCheckResponse indicates service health.
func (*HealthCheckResponse) Descriptor
deprecated
func (*HealthCheckResponse) Descriptor() ([]byte, []int)
Deprecated: Use HealthCheckResponse.ProtoReflect.Descriptor instead.
func (*HealthCheckResponse) GetActiveSessions ¶
func (x *HealthCheckResponse) GetActiveSessions() int64
func (*HealthCheckResponse) GetMessage ¶
func (x *HealthCheckResponse) GetMessage() string
func (*HealthCheckResponse) GetStatus ¶
func (x *HealthCheckResponse) GetStatus() HealthCheckResponse_Status
func (*HealthCheckResponse) GetVectorCount ¶
func (x *HealthCheckResponse) GetVectorCount() int64
func (*HealthCheckResponse) ProtoMessage ¶
func (*HealthCheckResponse) ProtoMessage()
func (*HealthCheckResponse) ProtoReflect ¶
func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message
func (*HealthCheckResponse) Reset ¶
func (x *HealthCheckResponse) Reset()
func (*HealthCheckResponse) String ¶
func (x *HealthCheckResponse) String() string
type HealthCheckResponse_Status ¶
type HealthCheckResponse_Status int32
const ( HealthCheckResponse_UNKNOWN HealthCheckResponse_Status = 0 HealthCheckResponse_SERVING HealthCheckResponse_Status = 1 HealthCheckResponse_NOT_SERVING HealthCheckResponse_Status = 2 )
func (HealthCheckResponse_Status) Descriptor ¶
func (HealthCheckResponse_Status) Descriptor() protoreflect.EnumDescriptor
func (HealthCheckResponse_Status) Enum ¶
func (x HealthCheckResponse_Status) Enum() *HealthCheckResponse_Status
func (HealthCheckResponse_Status) EnumDescriptor
deprecated
func (HealthCheckResponse_Status) EnumDescriptor() ([]byte, []int)
Deprecated: Use HealthCheckResponse_Status.Descriptor instead.
func (HealthCheckResponse_Status) Number ¶
func (x HealthCheckResponse_Status) Number() protoreflect.EnumNumber
func (HealthCheckResponse_Status) String ¶
func (x HealthCheckResponse_Status) String() string
func (HealthCheckResponse_Status) Type ¶
func (HealthCheckResponse_Status) Type() protoreflect.EnumType
type OpaqueSearchClient ¶
type OpaqueSearchClient interface {
// RegisterKey registers a client's public key and creates a session.
RegisterKey(ctx context.Context, in *RegisterKeyRequest, opts ...grpc.CallOption) (*RegisterKeyResponse, error)
// GetPlanes retrieves the LSH hyperplanes for client-side hashing.
GetPlanes(ctx context.Context, in *GetPlanesRequest, opts ...grpc.CallOption) (*GetPlanesResponse, error)
// GetCandidates performs LSH lookup to find candidate vectors.
GetCandidates(ctx context.Context, in *CandidateRequest, opts ...grpc.CallOption) (*CandidateResponse, error)
// ComputeScores computes encrypted similarity scores for candidates.
ComputeScores(ctx context.Context, in *ScoreRequest, opts ...grpc.CallOption) (*ScoreResponse, error)
// ComputeScoresStream streams encrypted scores one at a time (for large responses).
ComputeScoresStream(ctx context.Context, in *ScoreRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ScoreChunk], error)
// Search performs the complete search flow in one call (convenience method).
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*SearchResponse, error)
// HealthCheck checks service health.
HealthCheck(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error)
}
OpaqueSearchClient is the client API for OpaqueSearch service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
OpaqueSearch is the main service for privacy-preserving vector search.
func NewOpaqueSearchClient ¶
func NewOpaqueSearchClient(cc grpc.ClientConnInterface) OpaqueSearchClient
type OpaqueSearchServer ¶
type OpaqueSearchServer interface {
// RegisterKey registers a client's public key and creates a session.
RegisterKey(context.Context, *RegisterKeyRequest) (*RegisterKeyResponse, error)
// GetPlanes retrieves the LSH hyperplanes for client-side hashing.
GetPlanes(context.Context, *GetPlanesRequest) (*GetPlanesResponse, error)
// GetCandidates performs LSH lookup to find candidate vectors.
GetCandidates(context.Context, *CandidateRequest) (*CandidateResponse, error)
// ComputeScores computes encrypted similarity scores for candidates.
ComputeScores(context.Context, *ScoreRequest) (*ScoreResponse, error)
// ComputeScoresStream streams encrypted scores one at a time (for large responses).
ComputeScoresStream(*ScoreRequest, grpc.ServerStreamingServer[ScoreChunk]) error
// Search performs the complete search flow in one call (convenience method).
Search(context.Context, *SearchRequest) (*SearchResponse, error)
// HealthCheck checks service health.
HealthCheck(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)
// contains filtered or unexported methods
}
OpaqueSearchServer is the server API for OpaqueSearch service. All implementations must embed UnimplementedOpaqueSearchServer for forward compatibility.
OpaqueSearch is the main service for privacy-preserving vector search.
type OpaqueSearch_ComputeScoresStreamClient ¶
type OpaqueSearch_ComputeScoresStreamClient = grpc.ServerStreamingClient[ScoreChunk]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type OpaqueSearch_ComputeScoresStreamServer ¶
type OpaqueSearch_ComputeScoresStreamServer = grpc.ServerStreamingServer[ScoreChunk]
This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type RegisterKeyRequest ¶
type RegisterKeyRequest struct {
// Serialized public key (Lattigo format)
PublicKey []byte `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
// Requested session TTL in seconds (server may enforce max)
SessionTtlSeconds int32 `protobuf:"varint,2,opt,name=session_ttl_seconds,json=sessionTtlSeconds,proto3" json:"session_ttl_seconds,omitempty"`
// contains filtered or unexported fields
}
RegisterKeyRequest contains the client's public key for session creation.
func (*RegisterKeyRequest) Descriptor
deprecated
func (*RegisterKeyRequest) Descriptor() ([]byte, []int)
Deprecated: Use RegisterKeyRequest.ProtoReflect.Descriptor instead.
func (*RegisterKeyRequest) GetPublicKey ¶
func (x *RegisterKeyRequest) GetPublicKey() []byte
func (*RegisterKeyRequest) GetSessionTtlSeconds ¶
func (x *RegisterKeyRequest) GetSessionTtlSeconds() int32
func (*RegisterKeyRequest) ProtoMessage ¶
func (*RegisterKeyRequest) ProtoMessage()
func (*RegisterKeyRequest) ProtoReflect ¶
func (x *RegisterKeyRequest) ProtoReflect() protoreflect.Message
func (*RegisterKeyRequest) Reset ¶
func (x *RegisterKeyRequest) Reset()
func (*RegisterKeyRequest) String ¶
func (x *RegisterKeyRequest) String() string
type RegisterKeyResponse ¶
type RegisterKeyResponse struct {
// Unique session identifier
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
// Actual TTL granted (may be less than requested)
SessionTtlSeconds int32 `protobuf:"varint,2,opt,name=session_ttl_seconds,json=sessionTtlSeconds,proto3" json:"session_ttl_seconds,omitempty"`
// contains filtered or unexported fields
}
RegisterKeyResponse returns the session ID for subsequent requests.
func (*RegisterKeyResponse) Descriptor
deprecated
func (*RegisterKeyResponse) Descriptor() ([]byte, []int)
Deprecated: Use RegisterKeyResponse.ProtoReflect.Descriptor instead.
func (*RegisterKeyResponse) GetSessionId ¶
func (x *RegisterKeyResponse) GetSessionId() string
func (*RegisterKeyResponse) GetSessionTtlSeconds ¶
func (x *RegisterKeyResponse) GetSessionTtlSeconds() int32
func (*RegisterKeyResponse) ProtoMessage ¶
func (*RegisterKeyResponse) ProtoMessage()
func (*RegisterKeyResponse) ProtoReflect ¶
func (x *RegisterKeyResponse) ProtoReflect() protoreflect.Message
func (*RegisterKeyResponse) Reset ¶
func (x *RegisterKeyResponse) Reset()
func (*RegisterKeyResponse) String ¶
func (x *RegisterKeyResponse) String() string
type ScoreChunk ¶
type ScoreChunk struct {
// Vector ID
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Encrypted score (serialized ciphertext)
EncryptedScore []byte `protobuf:"bytes,2,opt,name=encrypted_score,json=encryptedScore,proto3" json:"encrypted_score,omitempty"`
// contains filtered or unexported fields
}
ScoreChunk is a single encrypted score for streaming.
func (*ScoreChunk) Descriptor
deprecated
func (*ScoreChunk) Descriptor() ([]byte, []int)
Deprecated: Use ScoreChunk.ProtoReflect.Descriptor instead.
func (*ScoreChunk) GetEncryptedScore ¶
func (x *ScoreChunk) GetEncryptedScore() []byte
func (*ScoreChunk) GetId ¶
func (x *ScoreChunk) GetId() string
func (*ScoreChunk) ProtoMessage ¶
func (*ScoreChunk) ProtoMessage()
func (*ScoreChunk) ProtoReflect ¶
func (x *ScoreChunk) ProtoReflect() protoreflect.Message
func (*ScoreChunk) Reset ¶
func (x *ScoreChunk) Reset()
func (*ScoreChunk) String ¶
func (x *ScoreChunk) String() string
type ScoreRequest ¶
type ScoreRequest struct {
// Session identifier
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
// Encrypted query vector (serialized ciphertext)
EncryptedQuery []byte `protobuf:"bytes,2,opt,name=encrypted_query,json=encryptedQuery,proto3" json:"encrypted_query,omitempty"`
// Candidate IDs to score
CandidateIds []string `protobuf:"bytes,3,rep,name=candidate_ids,json=candidateIds,proto3" json:"candidate_ids,omitempty"`
// contains filtered or unexported fields
}
ScoreRequest requests encrypted similarity scores.
func (*ScoreRequest) Descriptor
deprecated
func (*ScoreRequest) Descriptor() ([]byte, []int)
Deprecated: Use ScoreRequest.ProtoReflect.Descriptor instead.
func (*ScoreRequest) GetCandidateIds ¶
func (x *ScoreRequest) GetCandidateIds() []string
func (*ScoreRequest) GetEncryptedQuery ¶
func (x *ScoreRequest) GetEncryptedQuery() []byte
func (*ScoreRequest) GetSessionId ¶
func (x *ScoreRequest) GetSessionId() string
func (*ScoreRequest) ProtoMessage ¶
func (*ScoreRequest) ProtoMessage()
func (*ScoreRequest) ProtoReflect ¶
func (x *ScoreRequest) ProtoReflect() protoreflect.Message
func (*ScoreRequest) Reset ¶
func (x *ScoreRequest) Reset()
func (*ScoreRequest) String ¶
func (x *ScoreRequest) String() string
type ScoreResponse ¶
type ScoreResponse struct {
// Encrypted scores (serialized ciphertexts)
EncryptedScores [][]byte `protobuf:"bytes,1,rep,name=encrypted_scores,json=encryptedScores,proto3" json:"encrypted_scores,omitempty"`
// Corresponding IDs (same order as scores)
Ids []string `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
// contains filtered or unexported fields
}
ScoreResponse contains encrypted similarity scores.
func (*ScoreResponse) Descriptor
deprecated
func (*ScoreResponse) Descriptor() ([]byte, []int)
Deprecated: Use ScoreResponse.ProtoReflect.Descriptor instead.
func (*ScoreResponse) GetEncryptedScores ¶
func (x *ScoreResponse) GetEncryptedScores() [][]byte
func (*ScoreResponse) GetIds ¶
func (x *ScoreResponse) GetIds() []string
func (*ScoreResponse) ProtoMessage ¶
func (*ScoreResponse) ProtoMessage()
func (*ScoreResponse) ProtoReflect ¶
func (x *ScoreResponse) ProtoReflect() protoreflect.Message
func (*ScoreResponse) Reset ¶
func (x *ScoreResponse) Reset()
func (*ScoreResponse) String ¶
func (x *ScoreResponse) String() string
type SearchRequest ¶
type SearchRequest struct {
// Session identifier
SessionId string `protobuf:"bytes,1,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
// LSH hash computed by client
LshHash []byte `protobuf:"bytes,2,opt,name=lsh_hash,json=lshHash,proto3" json:"lsh_hash,omitempty"`
// Encrypted query vector
EncryptedQuery []byte `protobuf:"bytes,3,opt,name=encrypted_query,json=encryptedQuery,proto3" json:"encrypted_query,omitempty"`
// Maximum candidates to consider
MaxCandidates int32 `protobuf:"varint,4,opt,name=max_candidates,json=maxCandidates,proto3" json:"max_candidates,omitempty"`
// Number of scores to compute and return
TopN int32 `protobuf:"varint,5,opt,name=top_n,json=topN,proto3" json:"top_n,omitempty"`
// contains filtered or unexported fields
}
SearchRequest combines all steps into one request (convenience).
func (*SearchRequest) Descriptor
deprecated
func (*SearchRequest) Descriptor() ([]byte, []int)
Deprecated: Use SearchRequest.ProtoReflect.Descriptor instead.
func (*SearchRequest) GetEncryptedQuery ¶
func (x *SearchRequest) GetEncryptedQuery() []byte
func (*SearchRequest) GetLshHash ¶
func (x *SearchRequest) GetLshHash() []byte
func (*SearchRequest) GetMaxCandidates ¶
func (x *SearchRequest) GetMaxCandidates() int32
func (*SearchRequest) GetSessionId ¶
func (x *SearchRequest) GetSessionId() string
func (*SearchRequest) GetTopN ¶
func (x *SearchRequest) GetTopN() int32
func (*SearchRequest) ProtoMessage ¶
func (*SearchRequest) ProtoMessage()
func (*SearchRequest) ProtoReflect ¶
func (x *SearchRequest) ProtoReflect() protoreflect.Message
func (*SearchRequest) Reset ¶
func (x *SearchRequest) Reset()
func (*SearchRequest) String ¶
func (x *SearchRequest) String() string
type SearchResponse ¶
type SearchResponse struct {
// Encrypted scores
EncryptedScores [][]byte `protobuf:"bytes,1,rep,name=encrypted_scores,json=encryptedScores,proto3" json:"encrypted_scores,omitempty"`
// Corresponding IDs
Ids []string `protobuf:"bytes,2,rep,name=ids,proto3" json:"ids,omitempty"`
// LSH distances (for debugging/analysis)
LshDistances []int32 `protobuf:"varint,3,rep,packed,name=lsh_distances,json=lshDistances,proto3" json:"lsh_distances,omitempty"`
// contains filtered or unexported fields
}
SearchResponse contains the complete search results.
func (*SearchResponse) Descriptor
deprecated
func (*SearchResponse) Descriptor() ([]byte, []int)
Deprecated: Use SearchResponse.ProtoReflect.Descriptor instead.
func (*SearchResponse) GetEncryptedScores ¶
func (x *SearchResponse) GetEncryptedScores() [][]byte
func (*SearchResponse) GetIds ¶
func (x *SearchResponse) GetIds() []string
func (*SearchResponse) GetLshDistances ¶
func (x *SearchResponse) GetLshDistances() []int32
func (*SearchResponse) ProtoMessage ¶
func (*SearchResponse) ProtoMessage()
func (*SearchResponse) ProtoReflect ¶
func (x *SearchResponse) ProtoReflect() protoreflect.Message
func (*SearchResponse) Reset ¶
func (x *SearchResponse) Reset()
func (*SearchResponse) String ¶
func (x *SearchResponse) String() string
type UnimplementedOpaqueSearchServer ¶
type UnimplementedOpaqueSearchServer struct{}
UnimplementedOpaqueSearchServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedOpaqueSearchServer) ComputeScores ¶
func (UnimplementedOpaqueSearchServer) ComputeScores(context.Context, *ScoreRequest) (*ScoreResponse, error)
func (UnimplementedOpaqueSearchServer) ComputeScoresStream ¶
func (UnimplementedOpaqueSearchServer) ComputeScoresStream(*ScoreRequest, grpc.ServerStreamingServer[ScoreChunk]) error
func (UnimplementedOpaqueSearchServer) GetCandidates ¶
func (UnimplementedOpaqueSearchServer) GetCandidates(context.Context, *CandidateRequest) (*CandidateResponse, error)
func (UnimplementedOpaqueSearchServer) GetPlanes ¶
func (UnimplementedOpaqueSearchServer) GetPlanes(context.Context, *GetPlanesRequest) (*GetPlanesResponse, error)
func (UnimplementedOpaqueSearchServer) HealthCheck ¶
func (UnimplementedOpaqueSearchServer) HealthCheck(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)
func (UnimplementedOpaqueSearchServer) RegisterKey ¶
func (UnimplementedOpaqueSearchServer) RegisterKey(context.Context, *RegisterKeyRequest) (*RegisterKeyResponse, error)
func (UnimplementedOpaqueSearchServer) Search ¶
func (UnimplementedOpaqueSearchServer) Search(context.Context, *SearchRequest) (*SearchResponse, error)
type UnsafeOpaqueSearchServer ¶
type UnsafeOpaqueSearchServer interface {
// contains filtered or unexported methods
}
UnsafeOpaqueSearchServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to OpaqueSearchServer will result in compilation errors.