机密化向量解决方案:终于不用担心核心资料泄漏了!
文章标签:
AI工具列表

今天给大家介绍一个解决方案,解决了一个大家在构建知识库架构时常遇到的隐私问题,有些时候我们并不想将自己的核心资料传输到OpenAI,因为一旦留下了痕迹,就很难在互联网上完全擦除。但是别担心,今天解决方案就来了

这个方案的优点非常多:

首先,它能帮助你将百万级文本进行向量化,而且费用是零!

而且,使用这个方法得到的中文向量化结果与OpenAI提供的向量质量等价!

最重要的是,这种方法完全不需要你透露自己知识库的敏感数据!你的隐私绝不会被泄露!

这个方法就是Moka Massive Mixed Embedding(简称M3E BASE)

你可以在以下链接找到相关的模型和项目源码

模型链接:https://huggingface.co/moka-ai/m3e-base

项目源码链接:https://github.com/wangyuxinwhy/uniem

现在,让我为大家提供一个本地调用方式的Python代码示例(注意,代码中直接引用的是Transformer,所以它会自动下载模型文件,可能会有些慢哦):

import  numpy  np
from import Flask, jsonify, request
from sentence_transformers import SentenceTransformer

model = SentenceTransformer('m3e-base') 


app = Flask(__name__)
models = {
   #'text-embedding-ada-002': EmbeddingModel()  原来这里一直用openai的ada,现在可以用m3e替换
}


@app.route('/v1/embeddings', methods=['POST'])
def embed_text():
    data = request.get_json()
    texts = data.get('input', [])
    #model_name = data.get('model', '')

if not isinstance (texts, list):
    return jsonify({'error': 'inputs must be a list'}), 400
#if model_name not in models:
#    return jsonify({'error': 'model not supported'}), 400

#model = models[model_name]
#这里直接换成m3e-base
    result = {
        'data': [],
        'model': 'm3e-base',
        'object': 'list',
        'usage': {
            'prompt_tokens': 0 
            'total_tokens': 0 
        }
    }

    embeddings = model.encode(texts)
    for i, embedding in enumerate(embeddings):
        normalized_embedding = embedding / np.linalg.norm(embedding)
        result['data'].append({
            'embedding': normalized_embedding.tolist(),  # Convert numpy array to list 

            'index': i,
            'object''embedding'
        })

return jsonify(result)

# 结果就在result,你后边自己用哪个向量库,就用哪个

if __name__ == '__main__'
    app.run(host='0.0.0.0', port=5000
分享到:
0
0

发表回复

猜你喜欢
近期文章
生成式AI看起来很美,ROI怎么算
利用生成式AI推动创新 美国本田这样做
东方Project-个人AI绘画合集-8(更新至2024-2-14)
AI绘画(动物科普)—兔狲
12.28乾坤AI日报 — 2023年度十大科技名词发布
近期评论
ai-world发表在
AI赛博机车—借助SD技术赚取第一桶金
mulei77发表在
AI赛博机车—借助SD技术赚取第一桶金
An Vũ( CEO AGBIG GROUP)发表在
12.25乾坤AI日报 — 苹果正购买新闻采集权用于训练生成式 AI