效果不錯的開源Embedding:M3E-BASE
發(fā)布日期: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)
馬上咨詢: 如果您有業(yè)務方面的問題或者需求,歡迎您咨詢!我們帶來的不僅僅是技術,還有行業(yè)經驗積累。
QQ: 39764417/308460098 Phone: 13 9800 1 9844 / 135 6887 9550 聯系人:石先生/雷先生