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

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

ブログ    
ブログ    
ブログ    

推薦する

人工知能の簡単な歴史 | (1)相農は人工知能の誕生を目撃した

[[391106]] 1956年、人工知能元年。その夏、米国ニューハンプシャー州ハノーバーの小さな町...

GPT-4Vに匹敵し、120万データと8つのA100のみを使用し、トレーニングは1日で完了し、LLaVA-1.5は11のベンチマークSOTAを更新しました。

マルチモーダル大型モデル着陸の風がようやく吹いた。 12日前、OpenAIはChatGPTに画像認識...

...

スマートワーク: AI がリモートワークをどう変えるのか

AI の出現は雇用者と従業員の両方からさまざまな程度の懐疑と恐怖を招いてきましたが、リモートワークに...

人工知能とデータ分析の新たなトレンド

明らかに、AI とデータ分析の世界はダイナミックな変化の真っ只中にあります。将来は、イノベーションと...

...

OpenAIの人事異動で最大の勝者はオープンソースコミュニティになると予想される

米国現地時間11月20日朝、マイクロソフトは突然、OpenAIの元CEOアルトマン氏とOpenAI社...

MetaGPTが人気に! 2ドルでボスになれる、GitHubには11.2万個のスターがつき、AIエージェント「オールラウンダー」が誕生

インテリジェントエージェントは未来です!最近、別の AI エージェント プロジェクト MetaGPT...

Canvasの画像認識技術とインテリジェントデザインについて考える

[[403856]]著者は最近、フロントエンドの視覚化と構築の技術を研究しています。最近、設計図に基...

...

宇宙の果ては「計算」だ! AI界の大物ウルフラム氏の最新スピーチ:LLMはコンピューティング空間を自律的に探索、シンギュラリティは今や到来

人工知能、宇宙、そしてあらゆるものを計算的に考えるにはどうすればよいでしょうか?最近、有名なイギリス...

売上高2,684億元の背後にあるアリババのAI技術の全貌

先日終了した双十一では、天猫の取引額は2,684億元に達し、前年比25.7%増加した。この成果の裏に...

...

...