效果不错的开源Embedding:M3E-BASE
发布日期:2023/7/28 4:59:55 浏览量:
Moka Massive Mixed Embedding , 简称: M3E-BASE
重要的点:模型开源, 代码开源 , 调用方式(狗哥的测试代码)
模型:https://huggingface.co/moka-ai/m3e-base
项目源码:https://github.com/wangyuxinwhy/uniem
本地调用方式(python):
import numpy as np
from flask 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,你后边自己用哪个向量库,就用哪个,有兴趣的小伙伴可以考虑将这个向
量化流程整合到dify,这样大家都可以使用了。
if __name__ == ’__main__’:
app.run(host=’0.0.0.0’, port=5000)
马上咨询: 如果您有业务方面的问题或者需求,欢迎您咨询!我们带来的不仅仅是技术,还有行业经验积累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 联系人:石先生/雷先生