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は人類のために多くのことを行ってきました...

[[314062]] 10日以上も経過したが、流行は収束の兆しを見せず、事態はますます深刻化してい...

2022年の銀行業界における人工知能の応用

人工知能はあらゆる分野に革命をもたらしており、銀行業も例外ではありません。 調査によると、世界の人工...

ロボット市場は飛躍の準備ができており、人間と機械の統合が主流のトレンドとなっている

最近、2021年世界ロボット大会が北京で盛大に開幕しました。ロボット分野の最先端技術と最新の成果が展...

ネイチャー誌に「LK-99は超伝導体ではない」という記事が掲載された。

長年続いていた室温超伝導の謎が解明されたようだ。昨日、ネイチャー誌は「LK-99は室温超伝導体ではな...

Google は、99% のプログラマーに勝る AutoML を Kaggle プラットフォームに統合しました。

今後、Kaggle のコンペティションに参加する際には、AutoML を直接送信して、参加する AI...

ドローンの耐久性の低さの問題を軽減するために、一般の人がこれを行うことができます

[[396949]]近年、新世代の通信およびナビゲーション技術の継続的な進歩を背景に、我が国のドロー...

2024年のテクノロジートレンド: AIは金融サービス企業のデジタル変革の実現に役立つ

AIは銀行の顧客サービスの性質を変える銀行やその他の金融機関は、コールセンターからチャットボット、よ...

音声認識におけるCNNの応用

序文音声認識の現在の開発状況をまとめると、DNN、RNN/LSTM、CNN が音声認識における主流の...

近似アルゴリズムとは何ですか?どのような問題に適用されますか?この記事でその答えが分かります

COVID-19パンデミックは世界に多大な変化をもたらし、世界中の科学者や研究者が効果的なワクチンの...

2024年以降の5つのAIトレンド

GPT-4 以降: OpenAI GPT-3 は、その自然言語機能で大きな話題を呼びました。 GPT...

OpenAIは、GPT-4の「怠惰」問題を近い将来に修正し、オフライン評価とA/Bテストの後にモデルを更新すると発表した。

IT Homeは12月12日、OpenAIが先週、一部のユーザーから苦情を受けたと報じた。多くのユ...

OpenAIの謎の新モデルQ*が暴露された。取締役会に警告するにはあまりにも強力だったため、ウルトラマン解任の導火線になるかもしれない

OpenAI 宮殿ドラマが終わったばかりですが、すぐにまた別の騒動が勃発しました。ロイター通信は、ア...

ユーザー投票に基づくランキングアルゴリズム: Delicious と Hacker News

インターネットの出現は「情報爆発」を意味します。ユーザーが心配するのは、もはや情報量が少なすぎること...

AIの最下層に突入! NUSのYou Yang氏のチームは拡散モデルを使用してニューラルネットワークパラメータを構築したとLeCun氏は称賛した。

拡散モデルは新たな大きな応用をもたらしました——ソラが動画を生成するのと同じように、ニューラルネット...