일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- sort
- License
- plugin
- aggregation
- Mac
- zip 암호화
- Test
- TensorFlow
- API
- licence delete curl
- matplotlib
- Python
- zip 파일 암호화
- license delete
- high level client
- aggs
- query
- 차트
- MySQL
- 파이썬
- Java
- docker
- analyzer test
- ELASTIC
- token filter test
- 900gle
- Elasticsearch
- flask
- springboot
- Kafka
Archives
- Today
- Total
개발잡부
[tensorflow 2] Text embedding API를 만들어 보자 본문
반응형
path 에서 받아쓰려고 했더니만 이거 버리고 다시 만들자!
https://ldh-6019.tistory.com/195
900gle shopping에서 사용 할 text embedding API 크롤러, 검색 API 에서 사용 예정
method POST 로 만들고 싶었으나.. 일단 GET 으로
# import tensorflow as tf
import tensorflow_hub as hub
import tensorflow_text
import kss, numpy
import json
from flask import Flask
from flask_restful import reqparse, abort, Api, Resource
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
def getTextVectors(input):
vectors = module(input)
return [vector.numpy().tolist() for vector in vectors]
#
class NumpyEncoder(json.JSONEncoder):
def default(self, obj):
if isinstance(obj, numpy.ndarray):
return obj.tolist()
return json.JSONEncoder.default(self, obj)
class Vector(Resource):
def get(self, input):
return {'vectors': json.dumps(getTextVectors(input)[0], cls=NumpyEncoder)}
def post(self, input):
args = parser.parse_args()
return {'vectors': json.dumps(getTextVectors(input)[0], cls=NumpyEncoder)}
api.add_resource(Vector, '/vectors/<string:input>')
if __name__ == '__main__':
module = hub.load("https://tfhub.dev/google/universal-sentence-encoder-multilingual-large/3")
app.run(debug=True)
결과
512차원 백터 json 으로 반환
반응형
'Python > text embeddings' 카테고리의 다른 글
[tensorflow] word2vec 구현해보자 2 (0) | 2022.05.20 |
---|---|
[tensorflow] word2vec 구현해보자 (0) | 2022.01.18 |
[tensorflow 2] Text embedding A/B TEST - 2 (0) | 2022.01.14 |
[tensorflow 2] Text embedding A/B TEST - 1 (0) | 2022.01.14 |
[tensorflow 2]Universal-sentence-encoder-multilingual-large (0) | 2022.01.13 |
Comments