embedding.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. from typing import List
  2. from applications.config import LOCAL_MODEL_CONFIG, VLLM_SERVER_URL, DEV_VLLM_SERVER_URL
  3. from applications.utils.http import AsyncHttpClient
  4. async def get_basic_embedding(text: str, model: str, dev=False):
  5. """
  6. embedding text into vectors
  7. :param dev: 是否测试环境
  8. :param text:
  9. :param model:
  10. :return:tong
  11. """
  12. model_path = LOCAL_MODEL_CONFIG[model]
  13. async with AsyncHttpClient(timeout=20) as client:
  14. response = await client.post(
  15. url=DEV_VLLM_SERVER_URL if dev else VLLM_SERVER_URL,
  16. json={"input": text, "model": model_path},
  17. headers={"Content-Type": "application/json"},
  18. )
  19. return response["data"][0]["embedding"]
  20. async def get_img_embedding(url_list: List[str], dev=False):
  21. url = "http://117.50.199.192:8011/api/embed_image"
  22. async with AsyncHttpClient(timeout=20) as client:
  23. response = await client.post(
  24. url=url,
  25. json={"url_list": url_list},
  26. headers={"Content-Type": "application/json"},
  27. )
  28. return response
  29. __all__ = ["get_basic_embedding", "get_img_embedding"]