Files

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.. _stream_text_async:

流式数据获取(异步)
================================

概述
---------------------------
此示例演示如何使用异步的方式利用大模型平台下发的url获取流式文本数据, 获取到的数据在回掉函数中打印

.. note::

    回调函数上下文与调用线程为同一线程

编译
---------------------------

    ${SAMPLE_PATH} 需修改为对应示例的路径

   .. tabs::
    .. group-tab:: Ubuntu

        .. code-block:: bash

            cmake -B build -DDEFCONF_FILE=prj-linux.conf -S ${SAMPLE_PATH}
            cmake --build build

    .. group-tab:: Zephyr

        .. code-block:: bash

            west build -p -b csk6_duomotai_devkit ${SAMPLE_PATH}

运行
---------------------------

.. tabs::
    .. group-tab:: Ubuntu

        成功编译后直接运行build目录下的可执行程序

        .. code-block:: bash

            ./build/xxxxx

    .. group-tab:: Zephyr

        zephyr环境下将板子的DAP-USB连接电脑进行烧录和查看日志

        .. code-block:: bash

            west flash


成功运行后,可以看到以下日志:

.. code-block:: bash

    [stream_text] response content: event: data
    data: 根据


    sse_evt_cb_handle, evt:0, data:根据
    [stream_text] response content: event: data
    data: 图片中的


    sse_evt_cb_handle, evt:0, data:图片中的
    [stream_text] response content: event: data
    data: 食材,以下是


    sse_evt_cb_handle, evt:0, data:食材,以下是
    [stream_text] response content: event: data
    data: 三道菜的建议


    sse_evt_cb_handle, evt:0, data:三道菜的建议
    [stream_text] response content: event: data
    data: 

    1.


    sse_evt_cb_handle, evt:0, data:

    1.
    [stream_text] response content: event: data
    data:  蔬菜沙拉:使用生菜、胡萝卜和西红柿制作一份新鲜的蔬菜沙拉。


    sse_evt_cb_handle, evt:0, data: 蔬菜沙拉:使用生菜、胡萝卜和西红柿制作一份新鲜的蔬菜沙拉。
    [stream_text] response content: event: data
    data: 可以将生菜撕成小块,与切片的胡萝卜和西红柿混合在一起,加入橄榄油、柠檬汁和盐调味。


    sse_evt_cb_handle, evt:0, data:可以将生菜撕成小块,与切片的胡萝卜和西红柿混合在一起,加入橄榄油、柠檬汁和盐调味。
    [stream_text] response content: event: data
    data: 这是一道轻盈健康的前菜或配菜。



    sse_evt_cb_handle, evt:0, data:这是一道轻盈健康的前菜或配菜。
    [stream_text] response content: event: data
    data: 
    2. 烤蔬菜:将胡萝卜、洋葱和西兰花切成小块,撒上盐、胡椒和橄榄油,然后放入烤箱烤至金黄酥脆。


    sse_evt_cb_handle, evt:0, data:
    2. 烤蔬菜:将胡萝卜、洋葱和西兰花切成小块,撒上盐、胡椒和橄榄油,然后放入烤箱烤至金黄酥脆。
    [stream_text] response content: event: data
    data: 这道烤蔬菜可以作为主菜的配菜,也可以单独作为一道营养丰富的菜肴。



    sse_evt_cb_handle, evt:0, data:这道烤蔬菜可以作为主菜的配菜,也可以单独作为一道营养丰富的菜肴。
    [stream_text] response content: event: data
    data: 
    3. 香蕉蓝莓奶昔:将香蕉、蓝莓和牛奶放入搅拌机中搅拌均匀,制作成奶昔。


    sse_evt_cb_handle, evt:0, data:
    3. 香蕉蓝莓奶昔:将香蕉、蓝莓和牛奶放入搅拌机中搅拌均匀,制作成奶昔。
    [stream_text] response content: event: data
    data: 可以根据个人口味添加蜂蜜或糖来增加甜味。


    sse_evt_cb_handle, evt:0, data:可以根据个人口味添加蜂蜜或糖来增加甜味。
    [stream_text] response content: event: data
    data: 这道奶昔既健康又美味,是一道适合早餐或下午茶的选择。




    sse_evt_cb_handle, evt:0, data:这道奶昔既健康又美味,是一道适合早餐或下午茶的选择。
    [stream_text] response content: event: data
    data: 希望这些建议能够帮助你利用图片中的食材做出美味的菜肴!


    sse_evt_cb_handle, evt:0, data:希望这些建议能够帮助你利用图片中的食材做出美味的菜肴!
    [stream_text] response content: event: done
    data: [DONE]


    sse_evt_cb_handle, evt:1, data:(null)
    request done

示例中所使用的API文档见 ::ref:`lsc_stream_text`