php插入mongodb向量embedding并进行相似度近似检索搜索代码

代码语言:php

所属分类:其他

代码描述:php插入mongodb向量embedding并进行相似度近似检索搜索代码

代码标签: php 插入 mongodb 向量 embedding 相似度 近似 检索 搜索 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<?php


use MongoDB\Driver\Manager;
use MongoDB\Driver\BulkWrite;
use MongoDB\Driver\Query;
$uri = "mongodb://localhost:27017/mydatabase";

// 连接到 MongoDB
$manager = new Manager($uri);

// 插入向量数据的函数
function insertVector($manager, $collection, $id, $vector) {
    $bulk = new BulkWrite();
    $bulk->insert(['_id' => $id, 'vector' => $vector]);
    $manager->executeBulkWrite($collection, $bulk);
}

// 示例向量数据
$vectors = [
    ['_id' => 1, 'vector' => [1.0, 2.0, 3.0]],
    ['_id' => 2, 'vector' => [4.0, 5.0, 6.0]],
    // 更多向量
];

// 插入向量数据到集合
$collection = 'mydatabase.vectors';
foreach ($vectors as $vector) {
    insertVector($manager, $collection, $vector['_id'], $vector['vector']);
}

echo "向量数据已成功插入到MongoDB。\n";


// 计算向量间的欧氏距离
function euclideanDistance($vec1, $vec2) {
    $sum = 0;
    for ($i = 0; $i < count($vec1); $i++) {
        $sum += pow($vec1[$i] - $vec2[$i], 2);
    }
    return sqrt($sum);.........完整代码请登录后点击上方下载按钮下载查看

网友评论0