| 12345678910111213141516171819202122232425262728293031323334 | 
							- from fastapi import APIRouter
 
- from gensim.models import KeyedVectors
 
- from loguru import logger
 
- import traceback
 
- router = APIRouter(tags=['related_words_server'])
 
- wv = KeyedVectors.load("/data/pythonProject/video_to_word/models/word2vec.wordvectors", mmap='r')
 
- @logger.catch()
 
- @router.post("/related_words/", description="获取相关词/推荐词", summary="获取相关词/推荐词")
 
- def get_related_words(word: str):
 
-     response = {'code': 0,
 
-                 "success": True,
 
-                 "result": []}
 
-     try:
 
-         if word in wv:
 
-             similar_word_lst = wv.most_similar(word, topn=10)
 
-             similar_word_lst = [item[0] for item in similar_word_lst if item[1] > 0.73]
 
-             response['result'] = similar_word_lst
 
-         logger.info(f"request body: {word}, response body: {response}")
 
-         return response
 
-     except:
 
-         response = {"code": -1,
 
-                     "message": traceback.format_exc(),
 
-                     "success": False,
 
-                     "result": []}
 
-         logger.error(f"request body: {word}, response body: {response}")
 
-         return response
 
- if __name__ == '__main__':
 
-     get_related_words('社交')
 
 
  |