• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

googlesamples/assistant-sdk-cpp: Example of Google Assistant gRPC in C++

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

googlesamples/assistant-sdk-cpp

开源软件地址:

https://github.com/googlesamples/assistant-sdk-cpp

开源编程语言:

C++ 80.6%

开源软件介绍:

Google Assistant SDK for devices - C++

Requirements

This project is officially supported on Ubuntu 14.04. Other Linux distributions may be able to run this sample.

Refer to the Assistant SDK documentation for more information.

Setup instructions

Clean Project

If you have not setup this project before, you can skip this step.

sudo apt-get purge libc-ares-dev  # https://github.com/grpc/grpc/pull/10706#issuecomment-302775038
sudo apt-get purge libprotobuf-dev libprotoc-dev
sudo rm -rf /usr/local/bin/grpc_* /usr/local/bin/protoc \
    /usr/local/include/google/protobuf/ /usr/local/include/grpc/ /usr/local/include/grpc++/ \
    /usr/local/lib/libproto* /usr/local/lib/libgpr* /usr/local/lib/libgrpc* \
    /usr/local/lib/pkgconfig/protobuf* /usr/local/lib/pkgconfig/grpc* \
    /usr/local/share/grpc/

Build Project

  1. Clone this project
git clone https://github.com/googlesamples/assistant-sdk-cpp.git
cd assistant-sdk-cpp
export PROJECT_PATH=$(pwd)
  1. Install dependencies
sudo apt-get install autoconf automake libtool build-essential curl unzip pkg-config
sudo apt-get install libasound2-dev  # For ALSA sound output
sudo apt-get install libcurl4-openssl-dev # CURL development library
  1. Build Protocol Buffer, gRPC, and Google APIs
git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
GRPC_PATH=${PROJECT_PATH}/grpc
cd ${GRPC_PATH}

git submodule update --init

cd third_party/protobuf
./autogen.sh && ./configure && make
sudo make install
sudo ldconfig

export LDFLAGS="$LDFLAGS -lm"
cd ${GRPC_PATH}
make clean
make
sudo make install
sudo ldconfig

cd ${PROJECT_PATH}
git clone https://github.com/googleapis/googleapis.git
cd googleapis/
git checkout 980cdfa
make LANGUAGE=cpp
  1. Make sure you setup environment variable $GOOGLEAPIS_GENS_PATH
export GOOGLEAPIS_GENS_PATH=${PROJECT_PATH}/googleapis/gens
  1. Build this project
cd ${PROJECT_PATH}
make run_assistant
  1. Get credentials file. It must be an end-user's credentials.
  • Go to the Actions Console and register your device model, following these instructions
  • Move it in this folder and rename it to client_secret.json
  • run get_credentials.sh in this folder. It will create the file credentials.json.
  1. Start one of the run_assistant samples:
./run_assistant_file --input ./resources/weather_in_mountain_view.raw --output ./response.wav --credentials ./credentials.json
aplay ./response.wav --rate=16000 --format=S16_LE

On a Linux workstation, you can alternatively use ALSA for audio input:

./run_assistant_audio --credentials ./credentials.json

You can use a text-based query instead of audio. This allows you to continually enter text queries to the Assistant.

./run_assistant_text --credentials ./credentials.json

This takes input from cin, so you can send data to the program when it starts.

echo "what time is it" | ./run_assistant_text --credentials ./credentials.json

To change the locale, include a locale parameter:

echo "Bonjour" | ./run_assistant_text --credentials ./credentials.json --locale "fr-FR"

Default Assistant gRPC API endpoint is embeddedassistant.googleapis.com. If you want to test with a custom Assistant gRPC API endpoint, you can pass --api_endpoint CUSTOM_API_ENDPOINT.

Enabling screen output

To get a visual output from the Assistant, provide a command to be run alongside every step of the conversation. It will execute that command along along with a provided argument of a temporary HTML file.

echo "what time is it" | ./run_assistant_text --credentials ./credentials.json --html_out google-chrome

After you enter text, it will run google-chrome /tmp/google-assistant-cpp-screen-out.html.

If you prefer a different program, use that argument instead.




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap