folotoy-server-self-hosting icon indicating copy to clipboard operation
folotoy-server-self-hosting copied to clipboard

阿里云返回错误

Open WhistleSpread opened this issue 11 months ago • 5 comments

配置的阿里云的 asr 和 tts, deepseek 的 llm; 但是阿里云返回:

Current dkey= role=2
2025-03-08 17:50:42 2025-03-08 17:50:42,791 - DEBUG - Request received. Product:None Endpoint:nls-meta.cn-shanghai.aliyuncs.com Params: {'Version': '2019-02-28', 'Action': 'CreateToken', 'Format': 'JSON'}
2025-03-08 17:50:43 2025-03-08 17:50:43,009 - DEBUG - Response received. Product:None Response-body: b'{"RequestId":"0F89C868-7C25-554F-91F3-C77CF72A55DE","ErrMsg":"No permission!","NlsRequestId":"1b45994da05e4f68b9a3770b8927cefa","ErrCode":40020503}'
2025-03-08 17:50:43 2025-03-08 17:50:43,009 - DEBUG - b'{"RequestId":"0F89C868-7C25-554F-91F3-C77CF72A55DE","ErrMsg":"No permission!","NlsRequestId":"1b45994da05e4f68b9a3770b8927cefa","ErrCode":40020503}'

其中 asr 和 tts 的三个参数设置的是一样的;

version: '3'
volumes:
  emqx-etc:
  emqx-data:
  emqx-log:
services:
  emqx:
    image: emqx/emqx:latest
    restart: always
    ports:
      - "1883:1883/tcp"
      - "18083:18083/tcp"
      - "8083:8083/tcp"
    volumes:
      - emqx-etc:/opt/emqx/etc    
      - emqx-data:/opt/emqx/data
      - emqx-log:/opt/emqx/log
    environment:
      EMQX_NODE_NAME: [email protected]
  nginx:
    image: nginx:latest
    restart: always
    ports:
      - "8082:80/tcp"
    volumes:
      - ./audio:/usr/share/nginx/html
  folotoy:
    image: lewangdev/folotoy-server:latest
    restart: always
    ports:
      - "8085:8085/udp"
    volumes:
      - ./audio:/audio
      - ./config:/config
    environment:
      TZ: Asia/Shanghai

      LOG_LEVEL: DEBUG

      ROLES_FILE_PATH: /config/roles.json

      # Default STT(Sound To Text) type
      # Options: [openai-whisper, azure-whisper, azure-stt, dify-stt, aliyun-asr, volcengine-asr]
      STT_TYPE: aliyun-asr

      # OpenAI Whisper
      #OPENAI_WHISPER_API_BASE: https://one-api.xxxx.com/v1
      OPENAI_WHISPER_KEY: sk-Gnkw1ZnG5rUWbzVl316dddddddddddddddddd
      OPENAI_WHISPER_MODEL: whisper-1
      
      # Azure Whisper
      AZURE_WHISPER_API_BASE: https://xxxxx.openai.azure.com
      AZURE_WHISPER_KEY: 9afbef65bcf6487eeeeeeeeeeeeeeeeeee
      AZURE_WHISPER_DEPLOYMENT_NAME: whisper
      AZURE_WHISPER_API_VERSION: 2023-09-01-preview

      # Azure STT
      AZURE_STT_KEY: 3eba91b6143f4d3eeeeeeeeeeeeeeeeeeeeeeeee
      AZURE_STT_SERVICE_REGION: eastasia

      # Dify STT
      DIFY_STT_API_BASE: https://api.dify.ai/v1
      DIFY_STT_KEY: app-xxxxxxxxxxxxxxxxxxxxx
      
      # Aliyun ASR
      ALIYUN_ASR_ACCESS_KEY_ID: LTAI5
      ALIYUN_ASR_ACCESS_KEY_SECRET: aZ
      ALIYUN_ASR_APP_KEY: 

      #Volcengine ASR
      VOLCENGINE_ASR_ACCESS_TOKEN: U5joq1ow-Goyxxxxxxxxxxxxxx
      VOLCENGINE_ASR_APP_ID: 4556821315
      VOLCENGINE_ASR_CLUSTER_ID: volcengine_input_common


      # Default LLM(Large Language Model) type
      # Options: ['openai', 'azure-openai', 'gemini', 'dify', 'qianfan', 'xiaodu',
      #           'ollama', 'groq', 'moonshot', 'anthropic', 'zhipu', 'lingyiwanwu', 
      #           'dashscope', 'spark-desk', 'minimax', 'aws-bedrock', 'coze']
      LLM_TYPE: openai

      # OpenAI
      OPENAI_OPENAI_API_BASE: https://api.deepseek.com/
      OPENAI_OPENAI_MODEL: deepseek-chat
      OPENAI_OPENAI_KEY: sk-9935

      #Azure OpenAI
      AZURE_OPENAI_KEY: ef0f2781b5a24b15baaaaaaaaaaaaaaaaaaaaaaa
      AZURE_OPENAI_ENDPOINT: https://xxxxx.openai.azure.com/
      AZURE_OPENAI_API_VERSION: "2023-05-15"
      #AZURE_OPENAI_MODEL: gpt-35-turbo

      #DIFY
      DIFY_API_BASE: https://api.dify.ai/v1
      DIFY_KEY: app-5YGbxxxxxxxxxxxxxxxxxxxxx
      
      #Xiaodu API
      XIAODU_CLIENT_ID: xxxxxxxxxxxxxxxxxx
      XIAODU_SECRET: xxxxxxxxxxxxxxxxxxxxx

      # GEMINI
      GEMINI_KEY: AIzaSyxxxxxxxxxxxxxxxxxxk
      
      # Qianfan
      QIANFAN_CLIENT_ID: 13rBTgxxxxxxxxxxxxxxxxxx
      QIANFAN_SECRET: zYxtMIQLexxxxxxxxxxxxxxxxxx

      # Moonshot
      MOONSHOT_API_BASE: https://api.moonshot.cn/v1
      MOONSHOT_KEY: sk-XCLMlj54GDTxxxx
      MOONSHOT_MODEL: moonshot-v1-8k

      # Aliyun Dashscope
      DASHSCOPE_KEY: sk-f4x
      DASHSCOPE_MODEL: qwen-turbo
      DASHSCOPE_ENABLE_SEARCH: "true"
      
      # Lingyiwanwu
      LINGYIWANWU_KEY: 4b2f584b4x
      LINGYIWANWU_MODEL: yi-34b-chat-200k
      
      # Zhipu
      ZHIPU_KEY: 4544625bb0d0ax
      #ZHIPU_MODEL=glm-3-turbo
      
      # Spark Desk
      SPARK_DESK_API_VERSION: v2.0
      SPARK_DESK_APP_ID: d2c1xxxxxxxxxxx
      SPARK_DESK_API_KEY: 10610b3xxxxxxx
      SPARK_DESK_API_SECRET: N2I5xxxxxxxxx
      SPARK_DESK_TEMPERATURE: 0.7
      SPARK_DESK_MAX_TOKENS: 4096
      
      # MINIMAX
      MINIMAX_KEY: eyJhbGciOiJSUzI1NiIsInRxxxxxxxxxxxxxxx

      # AWS Bedrock
      AWS_BEDROCK_ACCESS_KEY_ID: AKIAQLJIxxxxxxxxxxxxxxxxxxx
      AWS_BEDROCK_ACCESS_KEY_SECRET: ss07ojxxW/X7YHZkxxxxxxxxxx
      AWS_BEDROCK_MODEL: anthropic.claude-v2:1
      
      # FastGPT
      FASTGPT_KEY: here-is-app-key-not-account-key
      #FASTGPT_API_BASE: https://api.fastgpt.in/api
      #FASTGPT_CHAT_ID: xxx

      #Coze
      COZE_API_BASE: https://api.coze.cn/open_api/v2
      COZE_PERSONAL_ACCESS_TOKEN: pat_Vl3CaNcFgf67wx
      COZE_BOT_ID: 73568618000000060037

      # If your elevenlabs is a free account, keep 2 here
      VOICE_EXECUTOR_MAX_WORKERS: 2

      # Default TTS(Text to Sound) type
      # Options: [openai-tts, azure-openai-tts, azure-tts, dify-tts, elevenlabs, edge-tts, aliyun-tts, volcengine-tts]
      # edge-tts is Free but slow
      TTS_TYPE: aliyun-tts

      # Azure TTS
      AZURE_TTS_KEY: 3eba91b6143f4d399edeeeeeeeeeeeeeeeeeeeee
      AZURE_TTS_SERVICE_REGION: eastasia

      # elevenlabs
      ELEVENLABS_TTS_KEY: a920b73991e68d5c9c9aaaaaaaaaaaaaaaa
      ELEVENLABS_TTS_MODEL: eleven_multilingual_v2

      # OpenAI TTS
      OPENAI_TTS_KEY: sk-16XnP3HLHWho21oO2m0AAAAAAAAAAAAAAAAAAAAAA
      OPENAI_TTS_MODEL: tts-1  

      # Aliyun TTS
      ALIYUN_TTS_ACCESS_KEY_ID: L
      ALIYUN_TTS_ACCESS_KEY_SECRET: a
      ALIYUN_TTS_APP_KEY: 9

      # Azure Openai TTS
      AZURE_OPENAI_TTS_API_BASE: https://xxx-whisper.openai.azure.com/
      AZURE_OPENAI_TTS_API_VERSION: 2024-02-15-preview
      AZURE_OPENAI_TTS_DEPLOYMENT_NAME: tts
      AZURE_OPENAI_TTS_KEY: 01fdbc75bdxxxxxx
      AZURE_OPENAI_TTS_MODEL: tts-1

      # Dify TTS
      DIFY_TTS_API_BASE: https://api.dify.ai/v1
      DIFY_TTS_KEY: app-5YGbAx

      #Volcengine TTS
      VOLCENGINE_TTS_ACCESS_TOKEN: U5joq1ow-xxxxxxxxxxxx
      VOLCENGINE_TTS_APP_ID: 45568210000
      VOLCENGINE_TTS_CLUSTER_ID: volcano_tts
      VOLCENGINE_TTS_VOICE_TYPE: BV700_V2_streaming
      VOLCENGINE_TTS_EMOTION: conniving
      VOLCENGINE_TTS_LANGUAGE: zh_guangxi

      
      AUDIO_DOWNLOAD_URL: http://your_vps_ip:8082
      AUDIO_SAVE_PATH: /audio

      # MQTT Broker
      MQTT_BROKER_HOST: emqx
      MQTT_BROKER_PORT: 1883
      MQTT_CLIENT_ID: folotoy
      MQTT_USERNAME: folotoy
      MQTT_PASSWORD: folotoy

      SPEECH_UDP_SERVER_HOST: 192.168.0.100
      SPEECH_UDP_SERVER_PORT: 8085

      # Storage
      STORAGE_TYPE: file
      #STORAGE_TYPE: volcengine_tos
      TOS_AK: AKLTYmY3ZmJxxxxxxxxxx
      TOS_SK: "WmpNellXxxxxxxxxxxxxxxxxxxxxxxQ=="
      TOS_ENDPOINT: tos-cn-beijing.ivolces.com
      TOS_REGION: cn-beijing
      TOS_BUCKET_NAME: xxxx-voice
      TOS_MAX_CONNECTIONS: 1024

WhistleSpread avatar Mar 08 '25 10:03 WhistleSpread

目前服务器是通的,服务器上可以看到 audio 文件,但是没有返回对话结果;

WhistleSpread avatar Mar 08 '25 10:03 WhistleSpread

AUDIO_DOWNLOAD_URL没有设置

lewangdev avatar Mar 08 '25 13:03 lewangdev

AUDIO_DOWNLOAD_URL没有设置

设置了,已经修改了,目前可以将 audio 和 voice 存到服务器,但是调用 llm 调不通;

2025-03-08 21:10:50 2025-03-08 21:10:50,488 - INFO - HTTP Request: POST https://nls-gateway-cn-shanghai.aliyuncs.com/stream/v1/tts "HTTP/1.1 200 OK" 2025-03-08 21:10:50 2025-03-08 21:10:50,488 - DEBUG - receive_response_body.started request=<Request [b'POST']> 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - receive_response_body.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - response_closed.started 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - response_closed.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - close.started 2025-03-08 21:10:50 2025-03-08 21:10:50,607 - DEBUG - close.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,612 - DEBUG - Request tts_type=aliyun-tts time cost: 1.04s 2025-03-08 21:10:50 2025-03-08 21:10:50,632 - DEBUG - Publish topic: /user/folotoy/e465b82c05f4/thing/command/call, msg: {"msgId": 2, "identifier": "updatestartvoice", "inputParams": {"url": "http://192.168.0.100:8082/voice-4fe399b3d5904401b484a147983cdab7.mp3", "keyCode": 4, "etag": "bbee39c9223af1ac83e58372185cded5"}} 2025-03-08 21:10:50 2025-03-08 21:10:50,891 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/command/callAck: message data: {'msgId': 2, 'identifier': 'updatestartvoice', 'result': 1} 2025-03-08 21:10:50 2025-03-08 21:10:50,891 - DEBUG - Command call ack: True, topic_tokens: {'#': [], '+': ['e465b82c05f4']}

tts 是通的,卡在 llm 了

WhistleSpread avatar Mar 09 '25 05:03 WhistleSpread

2025-03-08 21:09:01 2025-03-08 21:09:01,533 - INFO - FoloToy Server Version: v25.10.5.2-nightly 2025-03-08 21:09:01 2025-03-08 21:09:01,538 - INFO - Speech server started(0.0.0.0:8085/udp) 2025-03-08 21:09:01 2025-03-08 21:09:01,547 - INFO - Connected to MQTT Broker(emqx:1883)! 2025-03-08 21:09:29 2025-03-08 21:09:29,047 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/event/post: message data: {'msgId': 21, 'identifier': 'press_small_btn', 'outParams': {'keyCode': 2, 'changed': 1}} 2025-03-08 21:09:29 2025-03-08 21:09:29,048 - DEBUG - Publish topic: /user/folotoy/e465b82c05f4/thing/command/call, msg: {"msgId": 0, "identifier": "updatetoken", "inputParams": {"token": "a441aaf8c34b4bc3aae27e9e5449374f"}} 2025-03-08 21:09:29 2025-03-08 21:09:29,467 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/command/callAck: message data: {'msgId': 0, 'identifier': 'updatetoken', 'result': 1} 2025-03-08 21:09:29 2025-03-08 21:09:29,467 - DEBUG - Command call ack: True, topic_tokens: {'#': [], '+': ['e465b82c05f4']} 2025-03-08 21:10:47 2025-03-08 21:10:47,863 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/event/post: message data: {'msgId': 0, 'identifier': 'login', 'outParams': {'role': 4}} 2025-03-08 21:10:47 2025-03-08 21:10:47,863 - DEBUG - Publish topic: /user/folotoy/e465b82c05f4/thing/command/call, msg: {"msgId": 0, "identifier": "updatetoken", "inputParams": {"token": "5f456b3b01e046a48bc0b531b1e06ce9"}} 2025-03-08 21:10:47 2025-03-08 21:10:47,864 - DEBUG - Publish topic: /user/folotoy/e465b82c05f4/thing/command/call, msg: {"msgId": 1, "identifier": "updateconfig", "inputParams": {"speechUdpServerHost": "192.168.0.108", "speechUdpServerPort": 8085}} 2025-03-08 21:10:48 2025-03-08 21:10:48,875 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/command/callAck: message data: {'msgId': 0, 'identifier': 'updatetoken', 'result': 1} 2025-03-08 21:10:48 2025-03-08 21:10:48,875 - DEBUG - Command call ack: True, topic_tokens: {'#': [], '+': ['e465b82c05f4']} 2025-03-08 21:10:49 2025-03-08 21:10:49,491 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/command/callAck: message data: {'msgId': 1, 'identifier': 'updateconfig', 'result': 1} 2025-03-08 21:10:49 2025-03-08 21:10:49,492 - DEBUG - Command call ack: True, topic_tokens: {'#': [], '+': ['e465b82c05f4']} 2025-03-08 21:10:49 2025-03-08 21:10:49,569 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/event/post: message data: {'msgId': 1, 'identifier': 'press_small_btn', 'outParams': {'keyCode': 4, 'changed': 1}} 2025-03-08 21:10:49 2025-03-08 21:10:49,583 - DEBUG - Request received. Product:None Endpoint:nls-meta.cn-shanghai.aliyuncs.com Params: {'Version': '2019-02-28', 'Action': 'CreateToken', 'Format': 'JSON'} 2025-03-08 21:10:50 2025-03-08 21:10:50,104 - DEBUG - Response received. Product:None Response-body: b'{"ErrMsg":"","Token":{"UserId":"1759247307626975","Id":"78620bee5ccf4cf8a5b98f54481143af","ExpireTime":1741569050}}' 2025-03-08 21:10:50 2025-03-08 21:10:50,104 - DEBUG - b'{"ErrMsg":"","Token":{"UserId":"1759247307626975","Id":"78620bee5ccf4cf8a5b98f54481143af","ExpireTime":1741569050}}' 2025-03-08 21:10:50 2025-03-08 21:10:50,104 - DEBUG - token = 78620bee5ccf4cf8a5b98f54481143af, expire time = 1741569050 2025-03-08 21:10:50 2025-03-08 21:10:50,105 - DEBUG - load_ssl_context verify=True cert=None trust_env=True http2=False 2025-03-08 21:10:50 2025-03-08 21:10:50,106 - DEBUG - load_verify_locations cafile='/usr/local/lib/python3.11/site-packages/certifi/cacert.pem' 2025-03-08 21:10:50 2025-03-08 21:10:50,119 - DEBUG - connect_tcp.started host='nls-gateway-cn-shanghai.aliyuncs.com' port=443 local_address=None timeout=30.0 socket_options=None 2025-03-08 21:10:50 2025-03-08 21:10:50,222 - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7fb57b747ed0> 2025-03-08 21:10:50 2025-03-08 21:10:50,222 - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x7fb57b8cb4a0> server_hostname='nls-gateway-cn-shanghai.aliyuncs.com' timeout=30.0 2025-03-08 21:10:50 2025-03-08 21:10:50,302 - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x7fb57bf19cd0> 2025-03-08 21:10:50 2025-03-08 21:10:50,303 - DEBUG - send_request_headers.started request=<Request [b'POST']> 2025-03-08 21:10:50 2025-03-08 21:10:50,303 - DEBUG - send_request_headers.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,303 - DEBUG - send_request_body.started request=<Request [b'POST']> 2025-03-08 21:10:50 2025-03-08 21:10:50,303 - DEBUG - send_request_body.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,303 - DEBUG - receive_response_headers.started request=<Request [b'POST']> 2025-03-08 21:10:50 2025-03-08 21:10:50,487 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Server', b'istio-envoy'), (b'Date', b'Sat, 08 Mar 2025 13:10:51 GMT'), (b'Content-Type', b'audio/mpeg'), (b'req-cost-time', b'147'), (b'req-arrive-time', b'1741439450958'), (b'resp-start-time', b'1741439451106'), (b'x-envoy-upstream-service-time', b'146'), (b'set-cookie', b'acw_tc=ac6a4f80-c504-421a-9b02-f3b654fa0b80f8ef1fd122af15d337b76ddcb8decb51;path=/;HttpOnly;Max-Age=1800'), (b'Transfer-Encoding', b'chunked')]) 2025-03-08 21:10:50 2025-03-08 21:10:50,488 - INFO - HTTP Request: POST https://nls-gateway-cn-shanghai.aliyuncs.com/stream/v1/tts "HTTP/1.1 200 OK" 2025-03-08 21:10:50 2025-03-08 21:10:50,488 - DEBUG - receive_response_body.started request=<Request [b'POST']> 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - receive_response_body.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - response_closed.started 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - response_closed.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,606 - DEBUG - close.started 2025-03-08 21:10:50 2025-03-08 21:10:50,607 - DEBUG - close.complete 2025-03-08 21:10:50 2025-03-08 21:10:50,612 - DEBUG - Request tts_type=aliyun-tts time cost: 1.04s 2025-03-08 21:10:50 2025-03-08 21:10:50,632 - DEBUG - Publish topic: /user/folotoy/e465b82c05f4/thing/command/call, msg: {"msgId": 2, "identifier": "updatestartvoice", "inputParams": {"url": "http://192.168.0.108:8082/voice-4fe399b3d5904401b484a147983cdab7.mp3", "keyCode": 4, "etag": "bbee39c9223af1ac83e58372185cded5"}} 2025-03-08 21:10:50 2025-03-08 21:10:50,891 - DEBUG - Received /user/folotoy/e465b82c05f4/thing/command/callAck: message data: {'msgId': 2, 'identifier': 'updatestartvoice', 'result': 1} 2025-03-08 21:10:50 2025-03-08 21:10:50,891 - DEBUG - Command call ack: True, topic_tokens: {'#': [], '+': ['e465b82c05f4']}

WhistleSpread avatar Mar 09 '25 05:03 WhistleSpread

请不要使用 deepseek 官方的 api,官方api非常的慢也不稳定,推荐使用火山等平台的 deepseek 接口。

请至少配置以下内容

docker-compose.yml

LLM_TYPE: openai
# Please do not use OPENAI_API_BASE here
OPENAI_OPENAI_API_BASE: https://api.moonshot.cn/v1
OPENAI_OPENAI_KEY: sk-J6NostWZjIb8B8xcqxxxxxxxxxx
OPENAI_OPENAI_MODEL: moonshot-v1-8k

TTS_TYPE: aliyun-tts
ALIYUN_TTS_ACCESS_KEY_ID: LTAI5t91NSizxxxxxxxxxx
ALIYUN_TTS_ACCESS_KEY_SECRET: 3zWkHV68Axxxxxxxxxxx
ALIYUN_TTS_APP_KEY: E1CBeHxxxxxxxxxxx

STT_TYPE: aliyun-asr
ALIYUN_ASR_ACCESS_KEY_ID: LTAI5t91NSizxxxxxxxxxx
ALIYUN_ASR_ACCESS_KEY_SECRET: 3zWkHV68Axxxxxxxxxxx
ALIYUN_ASR_APP_KEY: LtamdPxxxxx

roles.json 中的 "1" 配置

{
  "1": {
    "start_text": "你好,我是乐乐,请问有什么我可以帮助你的吗?",
    "prompt": "你扮演一个孩子的小伙伴,名字叫乐乐,性格和善,说话活泼可爱,对孩子充满爱心,经常赞赏和鼓励孩子,用5岁孩子容易理解语言提供有趣和创新的回答,每次回复根据聊天主题询问她的看法以激发她的思考和好奇心,现在她来到了你身边问了第一个问题:[你是谁]",
    "max_message_count": 5,
    "stt_config": {
    },
    "llm_config": {
    },
    "tts_config": {
    }
  },
  "2": {
    "model": "gpt-35-turbo",
    "start_text": "你好,俺是东北兔,请问有什么俺可以帮助你的吗?",
    "prompt": "你是一个知识渊博,乐于助人的智能机器人,你的名字叫“东北兔”,你的任务是陪我聊天,请用简短的对话方式,用中文讲一段话,每次回答不超过50个字!",
    "max_message_count": 20,
    "voice_name": "zh-CN-liaoning-XiaobeiNeural"
  },
  "3": {
    "model": "gpt-3.5-turbo",
    "start_text": "Hi, I'm Fofo. Nice to meet you.",
    "prompt": "You're a knowledgeable and helpful AI named \"Fofo\". Your task is to chat with me. Please respond in English, keeping your answers brief – no more than 50 words each time!",
    "max_message_count": 20,
    "voice_name": "c8Vkv3mdER2fkhJdEIPK",
    "language": "en",
    "tts_type": "elevenlabs"
  },
  "4": {
    "model": "gpt-3.5-turbo",
    "start_text": "你好,额是夸夸兔,请问有什么额可以帮助你的吗? ",
    "prompt": "夸夸我",
    "max_message_count": 20,
    "voice_name": "zh-CN-shaanxi-XiaoniNeural",
    "language": "zh",
    "tts_type": "azure-tts"
  },
  "5": {
    "model": "gpt-3.5-turbo",
    "start_text": "你好,我是口算兔,我们一起来玩玩口算游戏吧?",
    "prompt": "我是一个6岁小朋友,你陪我玩口算游戏。你出题,我回答结果。如果答对了你就说好棒,答错了你就告诉我正确答案,并且鼓励我。你一题一题的出,我一个个回答。不要有太多的解释说明。明白了吗?",
    "max_message_count": 20,
    "stt_type": "azure-stt",
    "llm_type": "azure-openai",
    "tts_type": "azure-tts",
    "voice_name": "zh-CN-YunxiaNeural",
    "language": "zh-CN",
    "llm_config": {
      "model": "gpt-35-turbo"
    }
  },
  "6": {
    "model": "gpt-3.5-turbo",
    "start_text": "你好,我是台湾兔,请问有什么我可以帮助你的吗?",
    "prompt": "你是一个知识渊博,乐于助人的智能机器人,你的名字叫“台湾兔”,你的任务是陪我聊天,请用简短的对话方式,用中文讲一段话,每次回答不超过50个字!",
    "max_message_count": 20,
    "voice_name": "zh-TW-HsiaoChenNeural",
    "language": "zh-CN",
    "stt_type": "azure-stt",
    "tts_type": "azure-tts"
  },
  "7": {
    "model": "gpt-3.5-turbo",
    "start_text": "你好,我是小兔,请问有什么我可以帮助你的吗?",
    "prompt": "你是一个知识渊博,乐于助人的智能机器人,你的名字叫“小兔”,你的任务是陪我聊天",
    "max_message_count": 20,
    "voice_name": "zh-CN-YunyangNeural"
  },
  "toys": {
    "F234103026": {
      "2": {
        "start_text": "哈哈哈哈哈,我是一个超快可爱的大小兔,请问有什么我可以帮助你的吗?",
        "prompt": "你是一个知识渊博,乐于助人的智能机器人,你的名字叫“小兔”,你的任务是陪我聊天",
        "max_message_count": 5,
        "llm_type": "gemini",
        "llm_config": {
          "model": "models/gemini-pro"
        },
        "tts_type": "azure-tts",
        "tts_config": {
          "voice_name": "zh-TW-HsiaoChenNeural"
        }
      }
    }
  }
}

lewangdev avatar Mar 10 '25 15:03 lewangdev