Integrate BACKBEAT SDK and resolve KACHING license validation
Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
56
vendor/github.com/blevesearch/go-faiss/index_flat.go
generated
vendored
Normal file
56
vendor/github.com/blevesearch/go-faiss/index_flat.go
generated
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
package faiss
|
||||
|
||||
/*
|
||||
#include <faiss/c_api/IndexFlat_c.h>
|
||||
#include <faiss/c_api/Index_c.h>
|
||||
*/
|
||||
import "C"
|
||||
import "unsafe"
|
||||
|
||||
// IndexFlat is an index that stores the full vectors and performs exhaustive
|
||||
// search.
|
||||
type IndexFlat struct {
|
||||
Index
|
||||
}
|
||||
|
||||
// NewIndexFlat creates a new flat index.
|
||||
func NewIndexFlat(d int, metric int) (*IndexFlat, error) {
|
||||
var idx faissIndex
|
||||
if c := C.faiss_IndexFlat_new_with(
|
||||
&idx.idx,
|
||||
C.idx_t(d),
|
||||
C.FaissMetricType(metric),
|
||||
); c != 0 {
|
||||
return nil, getLastError()
|
||||
}
|
||||
return &IndexFlat{&idx}, nil
|
||||
}
|
||||
|
||||
// NewIndexFlatIP creates a new flat index with the inner product metric type.
|
||||
func NewIndexFlatIP(d int) (*IndexFlat, error) {
|
||||
return NewIndexFlat(d, MetricInnerProduct)
|
||||
}
|
||||
|
||||
// NewIndexFlatL2 creates a new flat index with the L2 metric type.
|
||||
func NewIndexFlatL2(d int) (*IndexFlat, error) {
|
||||
return NewIndexFlat(d, MetricL2)
|
||||
}
|
||||
|
||||
// Xb returns the index's vectors.
|
||||
// The returned slice becomes invalid after any add or remove operation.
|
||||
func (idx *IndexFlat) Xb() []float32 {
|
||||
var size C.size_t
|
||||
var ptr *C.float
|
||||
C.faiss_IndexFlat_xb(idx.cPtr(), &ptr, &size)
|
||||
return (*[1 << 30]float32)(unsafe.Pointer(ptr))[:size:size]
|
||||
}
|
||||
|
||||
// AsFlat casts idx to a flat index.
|
||||
// AsFlat panics if idx is not a flat index.
|
||||
func (idx *IndexImpl) AsFlat() *IndexFlat {
|
||||
ptr := C.faiss_IndexFlat_cast(idx.cPtr())
|
||||
if ptr == nil {
|
||||
panic("index is not a flat index")
|
||||
}
|
||||
return &IndexFlat{&faissIndex{ptr}}
|
||||
}
|
||||
Reference in New Issue
Block a user