nodejs实现本地ollama+faiss文件向量rag相似存储检索代码

代码语言:nodejs

所属分类:其他

代码描述:nodejs实现本地ollama+faiss文件向量rag相似存储检索代码

代码标签: nodejs 本地 ollama faiss 文件 向量 rag 相似 存储 检索 代码

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

//先安装库 npm install faiss-node
const faiss = require('faiss-node');
const fs = require('fs');

// 获取嵌入
async function getEmbeddings(model, prompt) {
    const url = "http://localhost:11434/api/embeddings";
    const payload = {
        model: model,
        prompt: prompt
    };

    try {
        const response = await fetch(url, {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json',
            },
            body: JSON.stringify(payload),
        });

        if (!response.ok) {
            throw new Error(`Failed to get embeddings: ${response.status}`);
        }

        const data = await response.json();
        return data;
    } catch (error) {
        throw new Error(`Failed to get embeddings: ${error.message}`);
    }
}

// 示例调用
(async () => {
    const result1 = await getEmbeddings("qwen2:7b", "小明是个好学生,每年都拿奖状");
    const result2 = await getEmbeddings("qwen2:7b", "小明的学校也非常好");
    const result3 = await getEmbeddings("qwen2:7b", "小明与小李是好朋友,天天一起上学");

    // 将向量转换为Float32Array
    const vector1 = result1.embedding;
    const vector2 = result2.embedding;
    const vector3 = result3.embedding;

 .........完整代码请登录后点击上方下载按钮下载查看

网友评论0