FFH—AI 詩作 HttpRequest 練習

FFH—AI 詩作 HttpRequest 練習

オープンソースの詳細については、以下をご覧ください。

51CTO オープンソース基本ソフトウェアコミュニティ

​​https://ost..com​​

序文

最近、オンライン授業で AI 詩作インターフェースを見ました。以前のフェッチインターフェースはメンテナンスされなくなったので、この機会に Hongmeng の http インターフェースを試してみました。次に、HTTP リクエストに関する基本的な知識を確認し、Hongmeng の HTTP リクエストを練習するために、簡単な AI 詩作デモを実装します。

デモ

http インターフェース常識補足

コンテンツタイプ

コンテンツ タイプの目的は、返されるコンテンツのコンテンツ タイプをクライアントに伝えることです。さまざまなコンテンツ タイプの形式は次のとおりです。

コンテンツタイプ

対応するフォーマット

テキスト/HTML

HTML形式

テキスト/プレーン

プレーンテキスト形式

テキスト/xml

XML形式

画像/gif

gif画像形式

画像/jpeg

Jpg画像フォーマット

画像/png

png画像形式

アプリケーション/xhtml+xml

テキスト

アプリケーション/xml

XML データ形式

アプリケーション/atom+xml

Atom XML シンジケーション形式

アプリケーション/json

JSONデータ形式

アプリケーション/pdf

PDF形式

アプリケーション/msword

Word文書形式

アプリケーション/オクテットストリーム

バイナリ ストリーム データ (一般的なファイルのダウンロードなど)

アプリケーション/x-www-form-urlencoded

フォームデータはキー/値形式でエンコードされ、サーバーに送信されます(フォームでデータを送信するためのデフォルトの形式)

マルチパート/フォームデータ

この形式は、フォームにファイルをアップロードする必要がある場合に必要です。

応答ステータス コード (ResponseCode)

各インターフェース要求に対して、サーバーは応答ステータス コードを返します。各ステータス コードには異なる意味があります。

名前

価値

説明する

わかりました

200

リクエストは成功しました。通常、GET および POST リクエストに使用されます。

作成

201

作成されました。新しいリソースが正常に要求され、作成されました。

承認済み

202

承認されました。リクエストは受け入れられましたが、完了まで処理されていません。

権限がない

203

許可されていない情報。リクエストは成功しました。

コンテンツなし

204

コンテンツがありません。サーバーは正常に処理しましたが、コンテンツを返しませんでした。

リセット

205

コンテンツをリセットします。

部分的

206

部分的なコンテンツ。サーバーはいくつかの GET リクエストを正常に処理しました。

複数選択

300

複数のオプション。

移動済み_PERM

301

永久に移動します。要求されたリソースは新しい URI に恒久的に移動されました。返される情報には新しい URI が含まれ、ブラウザは自動的に新しい URI にリダイレクトされます。

移動済み_一時

302

一時的な移動。

その他を見る

303

他のアドレスを表示します。

変更されていません

304

変更されていません。

プロキシの使用

305

プロキシを使用してください。

要求の形式が正しくありません

400

クライアントの要求は構文的に間違っていたため、サーバーが理解できませんでした。

無許可

401

リクエストにはユーザー認証が必要です。

支払いが必要です

402

将来の使用のために予約されています。

禁断

403

サーバーはクライアントの要求を理解しましたが、要求の実行を拒否しています。

見つかりません

404

サーバーはクライアントが要求したリソース (Web ページ) を見つけることができません。

不正な方法

405

クライアント要求内のメソッドは禁止されています。

受け入れられない

406

サーバーは、クライアントの要求のコンテンツ特性に基づいて要求を完了できません。

プロキシ認証

407

リクエストにはプロキシの認証が必要です。

クライアントタイムアウト

408

リクエストに時間がかかりすぎたため、タイムアウトになりました。

対立

409

サーバーは、クライアントの PUT 要求を完了するときにこのコードを返す場合があります。サーバーが要求を処理中に競合が発生しました。

消えた

410

クライアントが要求したリソースは存在しません。

長さは必須です

411

サーバーは、Content-Length なしでクライアントから送信された要求情報を処理できません。

事前設定失敗

412

クライアントは前提条件エラーのある情報を要求しました。

エンティティが大きすぎる

413

リクエスト エンティティが大きすぎてサーバーが処理できないため、リクエストは拒否されました。

要求が長すぎる

414

要求された URI が長すぎるため (URI は通常 URL です)、サーバーはそれを処理できません。

サポートされていないタイプ

415

サーバーは要求された形式を処理できません。

内部エラー

500

内部サーバー エラーが発生したため、要求を完了できませんでした。

実装されていません

501

サーバーは要求された機能をサポートしていないため、要求を完了できません。

不正なゲートウェイ

502

サーバーはゲートウェイまたはプロキシとして機能しているときに、リモート サーバーから無効な要求を受信しました。

利用不可

503

過負荷またはシステムメンテナンスのため、サーバーは一時的にクライアントのリクエストを処理できません。

ゲートウェイタイムアウト

504

ゲートウェイまたはプロキシとして機能しているサーバーは、リモート サーバーからの要求を適切なタイミングで受信しませんでした。

バージョン

505

サーバーによって要求された HTTP プロトコルのバージョン。

コードの実装

1. ネットワーク権限を申請する

config.json ファイルにネットワーク権限を登録します。これにより、プログラムはネットワーク ソケットを開いてネットワーク接続を確立できるようになります。

 「必要な権限」 : [
{
「名前」 : 「ohos.permission.INTERNET」
}
]

2. httpモジュールをインポートする

 '@ohos.net.http' からhttp をインポートします

3. HttpRequestオブジェクトを作成する

createHttp() を呼び出して HttpRequest オブジェクトを作成した後、各 httpRequest は http リクエスト タスクに対応しており、再利用できないことに注意してください。つまり、ネットワーク リクエストごとに新しい HttpRequest オブジェクトを作成する必要があります。リクエストが実行されると、オブジェクトは自動的に破棄されます。

 httpRequest を http.createHttp() にします。

4. リクエストインターフェースを書く

 httpRequest . リクエスト(
"https://py.myie9.com/cangtoutest/" + this .poemHead
{
ヘッダー: {
'コンテンツタイプ' : 'text/plain'
},
読み取りタイムアウト: 10000
接続タイムアウト: 10000
}, ( エラー, データ) => {
もしエラーが起きたら
console.info ( "xxx---" + JSON.stringify (データ) )
this.aiResult = data.result ;
} それ以外{
console.info ( 'xxx--- エラー: ' + JSON.stringify ( err )) ;
}
})

ここまでで、単純な http リクエストが完了しました。

後で、リクエストをカプセル化して、メソッド、Content-Type など、変更する必要があるいくつかのパラメータを公開できます。後で時間を見つけて、HTTP リクエストのカプセル化に関するブログを書く予定です。

5. 頭韻詩の完全なコード

jsコード:

 '@ohos.net.http' からhttp をインポートします
'@system.router' からルーターをインポートします
// 各 httpRequest は http リクエストタスクに対応しており、再利用できません
httpRequest = http.createHttp () します

エクスポートデフォルト{
データ: {
詩の見出し: "123"
aiResult : 「上記の要件を満たすフィールドを入力してください」
},
初期化(){
},
戻る() {
ルーター.back ()
},
ヘッド詩を隠す() {
httpRequest = http.createHttp ( ) ;
httpRequest . リクエスト(
"https://py.myie9.com/cangtoutest/" + this .poemHead
{
ヘッダー: {
'コンテンツタイプ' : 'text/plain'
},
読み取りタイムアウト: 10000
接続タイムアウト: 10000
}, ( エラー, データ) => {
もしエラーが起きたら
console.info ( "xxx---" + JSON.stringify (データ) )
this.aiResult = data.result ;
} それ以外{
console.info ( 'xxx--- エラー: ' + JSON.stringify ( err )) ;
}
})
},
チェック1e ){
console.log ( "xxx---" + JSON.stringify ( e.value ) )
this.poemHead = e.value.poemHead
this.hideHeadPoem () ;
}
}

CSSコード:

 。容器{
ディスプレイ: フレックス;
flex-direction : ;
コンテンツの中央揃え ;
アイテムの位置合わせ: 中央;
: 0px ;
: 0px ;
: 100% ;
高さ: 100% ;
}
。タイトル{
フォントサイズ: 60px ;
テキスト配置: 中央;
: 100% ;
高さ40% ;
マージン: 10px ;
}
。画面{
コンテンツの中央揃え ;
アイテムの位置合わせ: 中央;
: 80% ;
高さ35% ;
境界線の半径: 20px ;
背景色: #fff5f1f1 ;
不透明度0.8 ;
ボックスの影: 10px 10px 5px #888888 ;
}
.サブボタン{
: 250px ;
左マージン25% ;
背景色: #ffa5552f ;
上マージン: 5% ;
}
.subButton2 {
: 250px ;
高さ: 70px ;
左マージン25% ;
背景色: #ffa5552f ;
上マージン2% ;
}

HMLコード:

 < div クラス= "コンテナ" >
< フォームクラス= "コンテナ" onsubmit = 'check1' >
< input style = "width:80%;height:10%;margin-top: 15%;" type = "text" placeholder = "頭韻詩を生成するための文章を入力してください" name = 'poemHead' > </ input >
< div クラス= "display" スタイル= "margin-top: 15%;" >
< テキストスタイル= "余白: 40px;フォントサイズ: 38px;" >
{{aiResult}}
</ テキスト>
</div>
< input class = "subButton" type = 'submit' >頭韻詩を生成します</ input >
< button class = "subButton2" onclick = "back" >戻る</ button >
</ フォーム>
< image src = "../../common/123.png" style = "z-index: -1; position: fixed; width: 100%; height: 100%;" > </ image >
</div>

完全なデモ コードについては添付ファイルを参照してください。

https://ost..com/resource/2180.

オープンソースの詳細については、以下をご覧ください。

51CTO オープンソース基本ソフトウェアコミュニティ

​​https://ost..com​​.

<<:  91.3%の成長、「スマート」な製造業の実現は協働ロボットにかかっている

>>:  気温を下げて干ばつを緩和するブラックテクノロジーが多数存在します。人工降雨の謎とは?

ブログ    
ブログ    

推薦する

...

AIによる価格比較、本当にあなたに代わって価格を比較してくれるのでしょうか?

ダブルイレブンの割引を計算するために、昨年どれだけの髪の毛が抜けたか覚えていますか?昨年、天猫は総取...

建築環境における人工知能:その可能性を実現するためのステップ

AI と自動化により、企業はさまざまな最適化ソフトウェアを使用して、冷房、暖房、発電を自動的に改善し...

AIツールClaude 2が世界中で利用可能に:ファイルのアップロードとより長い応答テキストをサポート

10月18日、Anthropicは今年7月に新しいClaude 2言語モデルをリリースしました。 C...

...

ML アルゴリズムが製造業に及ぼす影響

製造業の企業は顧客に最高の製品とサービスを提供することを目指しており、最終的な目標は顧客を満足させ、...

機械学習の理論的基礎はどの程度しっかりしているのでしょうか?

機械学習の分野では、いくつかのモデルが非常に効果的ですが、その理由は完全にはわかっていません。逆に、...

...

チャットボットのさまざまな種類について学ぶ

チャットボットの種類は、提供されるさまざまな機能と応答に使用する方法によって決まります。チャットボッ...

...

テクノロジーが建設業界に及ぼす8つの影響

人工知能 (AI): ChatGPT などのツールの最近の登場により、AI はビルダーの間で注目を集...

顔認識の背後にあるもの:怖いのは技術ではない

[[312730]]以前、AI顔変換ソフトウェアZAOが一夜にして人気を博したことで、サーバーが「満...

5 つの機械学習アルゴリズムを使用してまれなイベントを分類する方法

[51CTO.com クイック翻訳] 機械学習はデータサイエンスの頂点であり、教師あり学習は機械学習...

...