多くの人はWeChatの音声入力を直接使いたいと思うだろう。
一般的なものとは対照的だ。 mp3
歌で応える .wav
フォーマットが異なり、WeChatの音声入力はデフォルトで .amr
フォーマット
以下は、WeChatから開発者サーバーが受信したWebhookで、公開番号のユーザーから音声メッセージを受信したことを示しています。 .amr
.
多くのSTT(Speech to Text)サービスは前者のみをサポートしている。 .amr
形式に変換される。 mp3
フォーマットは?
処方
最初は ラフ
これは後に ラフ
にある。 サービスとしての機能 などのファイルシステムの使用をサポートしないソリューション。 fs
サーバー上のファイルを操作する。
そんな時、GitHubで解決策を見つけた。[2]を開始する。 エクスプレス
サービスを使用します。 fluent-ffmpeg
そうしれいかん .amr
コンバート mp3
その後、ファイルは発信者が使用できるようにサーバーに一時的に保存される。
このソリューションは、サーバーにあらかじめ エフエフエムペグ
さもなければ fluent-ffmpeg
は利用できない。
「これは単純なFunction-as-a-Serviceではない」と私は思った。私自身はバックエンドとオペレーションの人間で、以前はユーザーとのフロントエンドのインタラクションに重点を置き、サーバーレス一辺倒だった。今、これは私にとってちょっとした挑戦だ。
しかし、少し前に公開されたシーロスのことを思い出した。 デブボックス
その埋め合わせのための宣伝のようだ。 ラフ
このようなファンクション・アズ・ア・サービスでは不十分だ。
"Devboxで上に書いたようにサービスをデプロイできないだろうか?"こうして変革(ピット・ステップ)が始まる。
ボディ・センスを使ったデブボックス
Devboxとは何かについては、序章をご覧いただきたい:
ここでは、特にその開発経験についてお話ししたいと思う。
というのも、それはあなたの認識に大きく影響するからだ。 デブボックス
私が理解し、回り道をしてきたので、これは使い方のヒントや結論の段落であり、私が議論するためにここに置いたものである。
ある デブボックス
その上、すべての開発プロセスはダイレクト.
最初はとても使いづらかったけど、ローカルのIDEと同じように使えるよ SSHホストに接続する
関数を見てみよう。 クロード これについてのメモだ:
Devboxを使用すると、次のようなことを避けることができます。 ログサーバーのIPまたはドメイン名
/ SSHポート番号を入力
/ サーバーのユーザー名またはパスワード(またはSSHキー)を入力します。
手続きは下のボタンを1回押すだけ。
私が使っているのは ウィンドサーフ 最初のクリックの後、私のウィンドサーフはリモートサーバーに接続しようとしました。その後、IDE上で行った変更は、実際にリモートサーバーを操作することになります。
ランニングを含む pnpm i
あるいは他のオーダー、すべてだ。
さらに重要なのは、コマンドの実行を含むすべてのアクションが、DevboxのWeb UIに表示されることです。 リリースバージョン
を含む)すべてが、このような事態に陥った。コマンドの実行
これは仮想マシンの現在の状態のスナップショットに相当する。
そのため、Devbox開発環境にインストールしたすべての依存関係や基礎となるソフトウェア(たとえばエフエフエムペグ
)にある。 リリースバージョン
その後、本番環境ではまったく手順をたどる必要はなく、箱から出してすぐにすべての前提条件がインストールされた。
このことを理解したとき、あなたはようやくその理由を理解することになる。 デブボックス
世間は常にこう言ってきた。『やっと、本番環境での依存関係の問題やバージョン番号の衝突を心配する必要がなくなった。なぜなら、本番環境は開発環境の完全な鏡だからだ!
ハンズオン
以上のような理解で デブボックス
の知識があれば、実践部分は比較的簡単である。
1.Devboxでexpressを選択
2.IDEで開く
前述したように VSコード
/ カーソル
/ ウィンドサーフ
開発用サーバーに接続する。
サーバーに接続後、すべてのファイルを選択します。 Cmd + A
デフォルトのテンプレートファイル全体を削除してください。
3.コードのダウンロード
を選んだだけだ。 エクスプレス
テンプレートは、デフォルトの ギット
, ノード
歌で応える pnpm
すべて設置済み。
それでは、ターミナルを開いて ギット
ダウンロードコード
git clone https://github.com/yenche123/liubai.git
SSHホストのIDE上でコマンドを打つと、少し遅延を感じますが、それはリモートサーバー上の端末を操作しているからで、当然遅延が発生します。
以前の開発経験では、ローカルで開発し、コードをパッケージ化してサーバーにアップロードしていた。 デブボックス
そして、すべてをサーバー上で運用し、デベロップメント・アズ・デプロイメントを行う。
4.FFmpegをインストールする
Terminalで以下のコマンドを入力し続ける。 エフエフエムペグ
の設置。
sudo apt update && sudo apt upgrade # Yを押して続ける。 sudo apt install ffmpeg # Yを押して続けます。 インストールに成功したら、ffmpeg -version #を確認する。
最後の行で、インストールが成功したかどうかを確認できる。
繰り返しますが、ソフトウェアはイメージに直接含まれているので、このインストール後に本番環境で手順をたどる必要はありません。かなりすごいことでしょう?
5.entrypoint.shを書く
我々はルート・ディレクトリにいる。 リューバイ
兄弟ポジション(上図)は エントリポイント.sh
ファイルには次のように書かれている。
#!/bin/bash cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm dev
このファイルは、本番環境のサーバーに、マシン起動後に希望するサービスを開始する方法を通知するためのものである。
ここでは、まず保存先フォルダーを探すようマシンに指示する。 liubai-ffmpeg
次に pnpm dev
コマンドで起動する。 エクスプレス
サービス
6.entrypoint.shの認証
また、ルート・ディレクトリで以下のコマンドを実行する。 エントリポイント.sh
実行可能パーミッションを追加する。
chmod +x entrypoint.sh
7.依存関係のインストール
開けてみよう。 liubai-ffmpeg
ディレクトリに必要な依存関係をインストールする:
cd /home/Devbox/project/liubai/liubai-backends/liubai-ffmpeg pnpm i
8.開発環境でのサービスの開始
ルート・ディレクトリーに戻って、もう一度サービスを開始するシミュレーションをしてみよう:
cd /home/Devbox/project バッシュ entrypoint.sh
上記のようなプリント・メッセージが表示されるということは、開発環境を起動したマシン上で アムール
反復行動クラシファイア mp3
サービスの
に戻ろう。 デブボックス
ウェブ・ウイで、パブリック・アドレスをコピーする。
次に、ブラウザのアドレスバーに次のように入力する。 /こんにちは
以下の画面が表示されれば、指定されたサービスが正常に開始されたことを意味する。
今度はスプライシングだ。 /new?url=あなたのamrファイル&id=ミリ秒単位の現在のタイムスタンプ
そして アムール
コンバート mp3
サービスだ!
9.本番環境への展開
Devbox web uiをクリックします。 リリースバージョン
.
リリース処理中にIDEが一時的に切断されるのは正常なことです。
投稿後 オンラインにする
最小構成に従って「完了」をクリックするだけです。
数分待つと、本番環境の アムール
コンバート mp3
サービス
Devboxでgitコミット
Devbox では、開発後に git commit を行いたいことがあります。この場合、リモートサーバーがリモートリポジトリにプッシュアクセスできる必要があります。
GitHubを例に、私が遭遇した例を紹介しよう。
ターミナルで実行 git push origin あなたのブランチ名
そうすると、Terminal はブラウザで GitHub ページを開き、IDE から認証コードを入力するように指示します。
ただし、この操作は認証に失敗することがあり、IDEの右下隅に 個人アクセス トークン
以下のように認証を行ってください:
オーソライズが完了したら ギットプッシュ
少しなら大丈夫だろう。
今すぐ体験
上記のサービスはすでに「ホワイトノート」に導入されており、「ホワイトノート」のWeChat公開番号に従って音声を送信すると、上記のサービスに電話をかける。 アムール
反復行動クラシファイア mp3
サービス
現在、大手モデルベンダーである7つのタイガースの中で、ミニマックスは開発者に以下のことを可能にしている。 メッセージ
に直接接続する。 mp3
フォーマル ベース64
.WeChatでマルチモーダルをネイティブに使う!
上記をまとめると、以下のようになる。 デブボックス
終了 アムール
反復行動クラシファイア mp3
サービスの
本稿の核心は ボディ・センスを使ったデブボックス その節では、次のことを簡単に紹介した。 デブボックス
従来の開発との違い SSHホストに接続する
そのため、私たちはリモートサーバーを直接操作し、ソフトウェアのインストールとコアコードの開発を完了した。
による デブボックス
基礎となるコンテナの最適化により、次のようなことが可能になる。デベロップ・アズ・ユー・デプロイ開発後、開発サーバー上で直接結果を検証できる。 デブボックス
仮想化装置全体のスナップショットを取る機能は、以下の問題を解決する。 開発環境
歌で応える 生産環境
これにより、依存関係や基盤となるソフトウェアをインストールするプロセスを踏むことなく、本番環境ですぐに結果を出すことができる。