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%の成長、「スマート」な製造業の実現は協働ロボットにかかっている

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

ブログ    

推薦する

機械学習を学ぶには? Alibaba のプログラマーが、わずか 7 つのステップで Python 機械学習を習得できるようお手伝いします。

概要: 現在、インターネット上の Python 機械学習リソースは非常に複雑で、初心者にとっては混乱...

...

自動運転の安全上のリスクはどこから来るのでしょうか?

最近、当社の自動運転デビューがニュースで取り上げられており、ADS はついに謎の組織ではなくなりまし...

ドローンは電力網を守り、点検や障害物の除去も可能!

[[412066]]現在、全国的に気温が上昇し続けているため、私の国では電力消費のピークの新たな波...

AI を活用して建設現場の活動を監視

[[348520]]建設現場は、人々とピースが適切なタイミングで組み合わさる必要がある巨大なパズルの...

百新銀行と百度クラウドAI+銀行金融技術シンクタンク会議が開催、オープンバンキングについて議論

11月19日、北京で「百度銀行&百度クラウドAI+銀行金融技術シンクタンク」が開催されました。カンフ...

人工知能を開発するには何が必要ですか?

独自の人工知能システムを構築するにはどうすればよいでしょうか?多くのことと同様に、答えは「それは状況...

中国語と英語で最大のAIモデルの世界記録が樹立され、大規模モデル競争の新たなステージが到来

[[429193]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

ギャップを埋める:AI時代のデータセンターの変革

ハイパースケールかエンタープライズかを問わず、現代のあらゆるデータセンターは、より広範なイノベーショ...

AIは単細胞生物が脳なしで意図した方向に移動する仕組みを説明するのに役立つ

単純な生物はどのようにして特定の場所へ移動できるのか?ウィーン大学で開発された人工知能と物理モデルが...

人工知能、機械学習、認知コンピューティングの入門

何千年もの間、人々はインテリジェントな機械を構築する方法について考え続けてきました。それ以来、人工知...

研究室から生活まで、人工知能はどこまで進化しているのでしょうか?

[[212805]]人工知能の概念は1956年に初めて提唱されました。60年間の浮き沈みを経て、人...

...

IDC: 2021 年の中国スマート デバイス市場に関するトップ 10 の予測

過去 10 年間、中国のスマート デバイス市場では、一連の技術的変化、エコシステムの変化、ユーザーの...