Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

34 lines
889B

  1. """
  2. google voice service
  3. """
  4. import json
  5. import openai
  6. from config import conf
  7. from common.log import logger
  8. from voice.voice import Voice
  9. class OpenaiVoice(Voice):
  10. def __init__(self):
  11. openai.api_key = conf().get('open_ai_api_key')
  12. def voiceToText(self, voice_file):
  13. logger.debug(
  14. '[Openai] voice file name={}'.format(voice_file))
  15. reply={}
  16. try:
  17. file = open(voice_file, "rb")
  18. result = openai.Audio.transcribe("whisper-1", file)
  19. text = result["text"]
  20. reply = {"type": "TEXT", "content": text}
  21. logger.info(
  22. '[Openai] voiceToText text={} voice file name={}'.format(text, voice_file))
  23. except Exception as e:
  24. reply = {"type": "ERROR", "content": str(e)}
  25. finally:
  26. return reply
  27. def textToVoice(self, text):
  28. pass