google助手api grpc绑定

google-assistant-grpc的Python项目详细描述


此包包含为Google Assistant Service生成的Python绑定。 它是Google Assistant SDK的一部分。

这个包应该与支持gRPCPython的posix平台兼容。

安装

  • 您可以使用pip进行安装。

    pip install --upgrade google-assistant-grpc
    

授权

用法

  • 使用google.assistant.embedded.v1alpha1.embedded_assistant_pb2_grpc初始化GRPC存根。:

    import google.assistant.embedded.v1alpha1.embedded_assistant_pb2_grpc
    assistant = embedded_assistant_pb2.EmbeddedAssistantStub(channel)
    
  • 调用Assist流方法。它接受AssistRequest的生成器并返回AssistResponse的生成器。

    assist_responses_generator = assistant.Assist(assist_requests_generator)
    start_acquiring_audio()
    
  • 发送带有音频配置参数的AssistRequest消息,然后是包含助手请求音频数据的多个传出AssistRequest消息。

    import google.assistant.embedded.v1alpha1.embedded_assistant_pb2
    
    def generate_assist_requests():
        yield embedded_assistant_pb2.AssistConfig(
            audio_in_config=embedded_assistant_pb2.AudioInConfig(
                encoding='LINEAR16',
                sample_rate_hertz=16000,
            ),
            audio_out_config=embedded_assistant_pb2.AudioOutConfig(
                encoding='LINEAR16',
                sample_rate_hertz=16000,
            ),
            device_config=embedded_assistant_pb2.DeviceConfig(
                device_id=device_id,
                device_model_id=device_model_id,
            )
        )
        for data in acquire_audio_data():
            yield embedded_assistant_pb2.AssistRequest(audio_in=data)
    
  • 处理AssistResponse消息的传入流:

for assist_response in assist_response_generator:
    if resp.event_type == END_OF_UTTERANCE:
       stop_acquiring_audio()
    if resp.speech_results:
       print(' '.join(r.transcript for r in resp.speech_results)
    if resp.dialog_state_out.supplemental_display_text:
       print(resp.dialog_state_out.supplemental_display_text)
    if len(resp.audio_out.audio_data) > 0:
       playback_audio_data(resp.audio_out.audio_data)

对于维护人员

有关 python包本身的开发、维护和发布。

许可证

版权所有(c)2017 Google Inc.

由一个或多个贡献者授权给apache软件基金会(asf) 许可协议。请参阅随本工作一起分发的通知文件 有关版权所有权的其他信息。ASF授权这个 根据apache许可证2.0版(“许可证”)向您提交文件;您不能 除非符合许可证,否则请使用此文件。你可以得到一份 在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发的是按“原样”分发的,而不是 明示或默示的任何形式的保证或条件。见 管理以下权限和限制的特定语言的许可证 执照。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java这种src与构建树时间戳的比较如何更快?   java如何在两个命令处理程序之间通信   java下拉框值更改   Java如何从另一个类中提取字段的值   无字段名的java Jackson序列化   java游戏循环和方法调用   java Spring Security permitAll()匹配器被忽略   java如何在一个方法中将数组中的int作为单独的int传递?   使用ArrayList在Java中实现同步队列   java JButton的操作侦听器在JTable中不工作   java中C++ OOP指针的技巧   java My regex搜索只打印出最后一个匹配项   java如何在Hadoop中序列化非常大的可写对象   spring Paypal JavaSDK支付执行问题   带有SPNEGO SSO的java Tomcat 6仍会提示输入登录名和密码   java HttpResponse主体正在更改   java如何在RxJava中实现链锁   为什么我需要java。lang.ClassNotFoundException:com。mysql。希杰。jdbc。mysqlconnectorjava8时的驱动程序。0.16.jar在类路径中?   java输入错误。即使在接受新输入后仍使用旧输入