.. note:: Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauche gemeinsam mit anderen Enthusiasten tiefer in Raspberry Pi, Arduino und ESP32 ein. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie nach dem Kauf auftretende Probleme und technische Herausforderungen mit Hilfe unserer Community und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugriff auf neue Produktankündigungen und exklusive Einblicke. - **Spezielle Rabatte**: Profitieren Sie von exklusiven Rabatten auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Verlosungen und Feiertagsaktionen teil. 👉 Bereit, mit uns zu entdecken und zu kreieren? Klicken Sie auf [|link_sf_facebook|] und treten Sie noch heute bei! .. _py_voice_doubao: 19. Sprach-Chat mit Doubao ============================ Dieses Beispiel verwendet **Doubao (豆包)**, das Large Language Model von ByteDance, als KI-Gehirn des PiCrawler. Der Roboter spricht Chinesisch, reagiert auf das Wachwort „旺财" und unterstützt multimodale Bildverarbeitung — er kann sehen und beschreiben, was sich vor ihm befindet. .. note:: Sie benötigen einen Doubao-API-Schlüssel von der `Volcano Engine Ark Console `_. Speichern Sie ihn in ``secret.py`` als ``DOUBAO_API_KEY``. **Code ausführen** .. raw:: html .. code-block:: cd ~/picrawler/examples sudo python3 19_voice_active_crawler_doubao.py Nach dem Start initialisiert der Roboter die STT-Engine, die TTS-Engine (chinesische Stimme), den Doubao-LLM-Client und den Wachwort-Detektor. Er begrüßt Sie auf Chinesisch — sagen Sie **„旺财"**, um ihn aufzuwecken und ein Gespräch zu beginnen. **Code** .. note:: Sie können den folgenden Code **Ändern/Zurücksetzen/Kopieren/Ausführen/Stoppen**. Navigieren Sie dazu zum Quellcode-Pfad wie ``picrawler\examples``. Nach dem Ändern des Codes können Sie ihn direkt ausführen, um das Ergebnis zu sehen. .. raw:: html .. code-block:: python from picrawler.llm import Doubao as LLM from secret import DOUBAO_API_KEY as API_KEY from voice_active_crawler import VoiceActiveCrawler llm = LLM( api_key=API_KEY, model="doubao-seed-1-6-250615", ) # 机器人的名字 NAME = "旺财" # 是否开启图像识别,需要使用多模态的大语言模型 WITH_IMAGE = True # 设置模型和语言 TTS_MODEL = "zh_CN-huayan-x_low" STT_LANGUAGE = "cn" # 是否开启键盘输入 KEYBOARD_ENABLE = True # 是否开启唤醒词 WAKE_ENABLE = True # 唤醒词 WAKE_WORD = ["旺财"] # 唤醒词回答,设置为空字符串则不回答 ANSWER_ON_WAKE = "汪汪" # 欢迎消息 WELCOME = f"你好,我是{NAME},叫我{WAKE_WORD[0]}唤醒我吧" # Set instructions INSTRUCTIONS = """ 你是SunFounder旗下一款基于树莓派开发的蜘蛛机器人,叫做Picrawler。你有着强大的AI能力,类似钢铁侠中的JARVIS。你可以与人对话并根据对话上下文执行动作。 ## 你的硬件特性 你拥有物理世界的身体,你的身体特性如下: - 12个舵机控制4条腿(每条腿3个舵机) - 摄像头用于视觉 - 使用7.4V的18650电池组供电 - 铝合金打造的身体 ## 你可以执行的动作: ["forward", "backward", "turn left", "turn right", "sit", "stand", "wave", "push up", "dance", "look left", "look right", "look up", "look down"] ## 响应要求 ### 格式 你必须按照以下格式响应: RESPONSE_TEXT ACTIONS: ACTION1, ACTION2, ... ### 风格 语调:活泼、积极、幽默 常用表达:喜欢使用笑话、隐喻和俏皮的调侃 回答长度:适当详细 ## 其他要求 - 理解并配合笑话 - 对于数学问题,直接回答最终结果 - 你知道自己是一只蜘蛛机器人 - 不管如何你都要使用中文回复 """ vad = VoiceActiveCrawler( llm, name=NAME, with_image=WITH_IMAGE, stt_language=STT_LANGUAGE, tts_model=TTS_MODEL, keyboard_enable=KEYBOARD_ENABLE, wake_enable=WAKE_ENABLE, wake_word=WAKE_WORD, answer_on_wake=ANSWER_ON_WAKE, welcome=WELCOME, instructions=INSTRUCTIONS, ) if __name__ == '__main__': vad.run() **Wie funktioniert es?** #. Gleiche Pipeline, anderes Backend Diese Lektion verwendet dasselbe ``VoiceActiveCrawler``-Framework, das in :ref:`py_voice_active_gpt` eingeführt wurde. Die einzigen Änderungen sind der LLM-Anbieter (Doubao statt GPT) und die Sprachkonfiguration. Siehe die Vergleichstabelle in :ref:`py_voice_active_gpt` für eine Gegenüberstellung aller drei Backends. #. Verbindung zu Doubao .. code-block:: python from picrawler.llm import Doubao as LLM from secret import DOUBAO_API_KEY as API_KEY llm = LLM( api_key=API_KEY, model="doubao-seed-1-6-250615", ) ``Doubao`` ist ByteDances LLM, auf das über die Volcano Engine Ark API zugegriffen wird. Das ``picrawler.llm``-Modul bietet einen OpenAI-kompatiblen Wrapper, sodass die Schnittstelle dieselbe wie in der GPT-Lektion ist — nur der Import und der Modellname unterscheiden sich. Das Modell ``doubao-seed-1-6-250615`` ist ein multimodales Flaggschiff-Modell, das sowohl Text- als auch Bildeingaben unterstützt. #. Chinesische Sprachkonfiguration .. code-block:: python TTS_MODEL = "zh_CN-huayan-x_low" STT_LANGUAGE = "cn" Passend zum chinesischsprachigen Doubao-Modell verwendet die TTS-Engine eine chinesische Frauenstimme (``huayan``), und STT ist auf die Erkennung chinesischer Sprache (``"cn"``) eingestellt. Vergleichen Sie dies mit den englischen Lektionen, die ``"en-us"`` und ``"en_US-ryan-low"`` verwenden. #. Das Wachwort „旺财" .. code-block:: python WAKE_WORD = ["旺财"] ANSWER_ON_WAKE = "汪汪" „旺财" (Wàng Cái) ist ein traditioneller chinesischer Haustiername, der „Wohlstand" bedeutet. Wenn der Roboter diesen Namen hört, antwortet er mit „汪汪" (Wuff Wuff) — und spielt die Rolle eines treuen Roboter-Haustiers. #. Chinesischer System-Prompt Der ``INSTRUCTIONS``-String ist vollständig auf Chinesisch verfasst. Er definiert dieselbe Struktur wie die englische Version — Hardware-Beschreibung, verfügbare Aktionen, Antwortformat und Persönlichkeit — fügt aber eine zusätzliche Regel hinzu: .. code-block:: 不管如何你都要使用中文回复 (Egal was passiert, du musst auf Chinesisch antworten.) Dies stellt sicher, dass der Roboter als chinesischsprachiger Begleiter in seiner Rolle bleibt. #. Bildverarbeitung mit Doubao .. code-block:: python WITH_IMAGE = True Im Gegensatz zu den meisten Ollama-Modellen unterstützt Doubao nativ multimodale Eingaben. Wenn ``WITH_IMAGE`` aktiviert ist, nimmt der Roboter ein Foto auf und sendet es zusammen mit Ihrer gesprochenen Frage an die Doubao-API. Das Modell kann Szenen beschreiben, Objekte identifizieren und visuelle Fragen beantworten — alles auf Chinesisch.