詳細については、sharpapi.comのウェブサイトをご覧ください»
公式を参照してください:
composer require sharpapi/sharpapi-php-clientsharpapi.comに登録し、APIキーを取得します。
それでおしまい!
$ sharpApi = new SharpAPI SharpApiService SharpApiService ( SHARP_API_KEY );
$ statusUrl = $ sharpApi -> productCategories (
' Lenovo Chromebook Laptop (2023), 14" FHD Touchscreen Slim 3,
8-Core MediaTek Kompanio 520 CPU, 4GB RAM, 128GB Storage ' ,
' German ' , // optional language
400 , // optional quantity
' optional neutral voice tone ' , // optional voice tone
' optional current e-store categories ' // optional context, current categories to match
);
$ resultSharpApiJob = $ sharpApi -> fetchResults ( $ statusUrl );
var_dump ( $ resultSharpApiJob -> getResultJson ());典型的なユースケースにはこれらの手順が必要です。
fetchResults($statusUrl)メソッドを実行し、180秒間10秒ごとにリクエストを送信します(これらの値はSharpApiServiceできます。SharpApiserviceソースコードを確認してください)。SharpApiJobオブジェクトが返されます。successリターンステータスで終了したジョブの場合$jobResultJson = $jobResult->getResultJson()など、メソッドの1つで結果を得ることができます。通常、派遣された各ジョブには、数秒から1分かかります。
その期間の後、戻った仕事は通常successステータスを持ち、その結果はさらなる処理に利用できるようになります。各APIメソッドは、異なる返品形式を返します。詳細については、以下のAPIメソッド/エンドポイントのリストに移動します»
私たちのAPIは、毎回正しいフォーマットを返すことを保証します。 Sharpapiがまれに使用するAIエンジンは、誤動作し、タイムアウトまたは誤ったデータを返す傾向があります。そのような場合、ジョブの返されたstatusはfailedます。その場合、まったく同じジョブリクエストを再実行できます。
ジョブがまだエンジンによって処理されている限り、それはpendingステータスを返し続けます。
基礎となるHTTPリクエストはガズルを搭載しているため、典型的なガズルの例外を確認することをお勧めします。
use GuzzleHttp Exception ClientException ;
// Step 1: dispatch the job to the API with one of the methods, for example:
try {
$ statusUrl = SharpApiService:: summarizeText (
$ text ,
' German ' // optional language
500 , // optional length
' neutral ' // optional voice tone
);
// $statusUrl example value: 'https://sharpapi.com/api/v1/job/status/75acb6dc-a975-4969-9ef1-c62cebc511cb'
} catch ( ClientException $ e ) {
$ e -> getResponse ()
}
// Step 2: request to check job status in polling mode and wait for the result
$ jobResult = SharpApiService:: fetchResults ( $ statusUrl );
// Step 3: get results of dispatched API job, f.e. this returns job result as a prettied JSON
$ jobResultJson = $ jobResult -> getResultJson ();
// ..or PHP array:
$ jobResultArray = $ jobResult -> getResultArray ();
// ..or PHP stdClass:
$ jobResultObject = $ jobResult -> getResultObject (); <?php
namespace App Http Controllers ;
use GuzzleHttp Exception GuzzleException ;
use SharpAPI SharpApiService SharpApiService ;
class SharpTest extends Controller
{
public function __construct ( public SharpApiService $ sharpApiService )
{
}
/**
* @throws GuzzleException
*/
public function detect_phones (): void
{
$ statusUrl = $ this -> sharpApiService -> detectPhones (
' Where to find us? Call with a sales tech advisor:
Call: 1800-394-7486 or our Singapore office +65 8888 8888 '
);
$ result = $ this -> sharpApiService -> fetchResults ( $ statusUrl );
dd ( $ result -> getResultJson ());
/* returned:
[
{
"detected_number": "1800-394-7486",
"parsed_number": "+18003947486"
},
{
"detected_number": "+65 8888 8888",
"parsed_number": "+6588888888"
}
]
*/
}
}各メソッドは常にSharpApiJobオブジェクトを返します。そこでは、 getResultJson / getResultArray / getResultObjectメソッドが異なるデータ構造を返します。 sharpapi.comで提供される詳細な例を参照してください。
SharpApiLanguages Enum値を使用して、コードをより読みやすくすることもできます。複数の形式(PDF/DOC/DOCX/TXT/RTF)から履歴書(CV)ファイルを解析し、データポイントの広範なオブジェクトを返します。
オプションの出力言語パラメーターも提供できます( English値はデフォルトのものとして設定されています)。
$ statusUrl = SharpApiService:: parseResume ( ' /test/resume.pdf ' , ' English ' );広範なパラメーターのリストに基づいて、このエンドポイントは、短い説明、ジョブ要件、ジョブの責任を含む、応答形式の簡潔なジョブの詳細を提供します。唯一の必須パラメーターはnameです。
この機能は、入力パラメーターの検証を支援するために、 JobDescriptionParametersという名前の特殊なDTOクラス( Data Transfer Object )パラメーターを使用します。このDTOのコンストラクターのnameパラメーターのみが必須です。
Voice_Toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
このAPIメソッドは、オプションのコンテキストパラメーターも提供します。これは、コンテンツ処理に追加の柔軟な指示を提供するために使用できます。
$ jobDescriptionParameters = new JobDescriptionParameters (
name: " PHP Senior Engineer " ,
company_name: " ACME LTD " , // optional
minimum_work_experience: " 5 years " , // optional
minimum_education: " Bachelor Degree " , // optional
employment_type: " full time " , // optional
required_skills: [ ' PHP8 ' , ' Laravel ' ], // optional
optional_skills: [ ' AWS ' , ' Redis ' ], // optional
country: " United Kingdom " , // optional
remote: true , // optional
visa_sponsored: true , // optional
voice_tone: ' Professional and Geeky ' , // optional voice tone
context: null , // optional context, additional AI processing instructions
language: null // optional output language
);
$ statusUrl = SharpApiService:: generateJobDescription ( $ jobDescriptionParameters );関連するスキルのリストを生成し、その重量をフロート値(1.0-10.0)として生成し、10は最高の関連スコアである100%に等しくなります。
最初のパラメーター( name )のみが必要です。
max_quantityパラメーターで出力を制限できます。
$ statusUrl = SharpApiService:: relatedSkills (
' MySQL ' ,
' English ' , // optional language
10 // optional quantity
);ウェイトをフロート値(1.0-10.0)として、関連するジョブポジションのリストを生成します。10は100%に相当し、最も高い関連スコアです。
最初のパラメーター( name )のみが必要です。
max_quantityパラメーターで出力を制限できます。
$ statusUrl = SharpApiService:: relatedJobPositions (
' Senior PHP Engineer ' ,
' English ' , // optional language
10 // optional quantity
);顧客の製品レビューを解析し、0〜100%のスコアでその感情(肯定/ネガティブ/ニュートラル)を提供します。オンラインストアのセンチメントレポート処理に最適です。
$ statusUrl = SharpApiService:: productReviewSentiment ( ' customer review contents ' );関連性の重みを備えた製品の適切なカテゴリのリストをフロート値(1.0-10.0)として生成します。10は100%に相当し、最も高い関連スコアです。製品名とそのパラメーターを提供して、可能な限り最高のカテゴリマッチを取得します。製品カタログデータとバルク製品の処理に適しています。
max_quantityパラメーターで出力を制限できます。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
追加のオプションのパラメーターコンテキスト内で、マッピングプロセス(現在のeコマースカテゴリなど)で考慮される他のカテゴリのリストを提供できます。
$ statusUrl = SharpApiService:: productCategories (
' Sony Playstation 5 ' ,
' English ' , // optional language
5 , // optional quantity
' Tech-savvy ' , // optional voice tone
' Game Console, PS5 Console ' // optional context, current categories to match
);製品説明の短いバージョンを生成します。可能な限り最高のマーケティング導入を得るために、製品の詳細とパラメーターを多く提供します。製品カタログデータとバルク製品の処理に適しています。
max_lengthパラメーターで出力を制限できます。 max_length 、結果の一般的な感覚を維持するために、厳格な要件ではなく、言語モデルの強力な提案として機能することに留意してください。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
$ statusUrl = SharpApiService:: generateProductIntro (
' Sony Playstation 5 ' ,
SharpApiLanguages:: ENGLISH , // optional language
300 , // optional length
' Funny ' // optional voice tone
);購入後、お客様にパーソナライズされた感謝メールを生成します。応答コンテンツには、最後にタイトル、グリーティング、または送信者情報が含まれていないため、残りのメールを簡単にパーソナライズできます。
MAX_Lengthパラメーターで出力を制限できます。 max_length 、結果の一般的な感覚を維持するために、厳格な要件ではなく、言語モデルの強力な提案として機能することに留意してください。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、面白いまたは喜びのような形容詞であるか、有名な作家の名前でさえあります。
このAPIメソッドは、オプションのコンテキストパラメーターも提供します。これは、コンテンツ処理に追加の柔軟な指示を提供するために使用できます。
$ statusUrl = SharpApiService:: generateThankYouEmail (
' Sony Playstation 5 ' ,
SharpApiLanguages:: ENGLISH , // optional language
250 , // optional length
' Neutral ' , // optional voice tone
' Must invite customer to visit again before Holidays ' // optional context
);提供されたテキストを選択した言語に翻訳します。 80の言語がサポートされています。詳細については、含まれているSharpApiLanguages Enumクラスを確認してください。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、面白いまたは喜びのような形容詞であるか、有名な作家の名前でさえあります。
オプションのコンテキストcontextも使用できます。ユースケースの例や追加の説明など、翻訳されたテキストにより多くのコンテキストを提供するために使用できます。
$ statusUrl = SharpApiService:: translate (
' turn ' ,
SharpApiLanguages:: FRENCH , // optional language
' neutral ' , // optional voice tone
' to turn a page ' // optional context
);
// will result in :
// {"content": "tourner", "to_language": "French", "from_language": "English"} 提供されたテキストの言い換えバージョンを生成します。 contentパラメーターのみが必要です。出力言語、最大文字の長さ、音声トーンを定義できます。
テキストの処理方法に関する追加の手順は、コンテキストパラメーターで提供できます。 max_length 、結果の一般的な感覚を維持するために、厳格な要件ではなく、言語モデルの強力な提案として機能することに留意してください。
オプションのvoice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
このAPIメソッドは、オプションのcontextパラメーターも提供します。これは、コンテンツ処理に追加の柔軟な指示を提供するために使用できます。
$ statusUrl = SharpApiService:: paraphrase (
$ text ,
SharpApiLanguages:: FRENCH , // optional language
500 , // optional length
' neutral ' , // optional voice tone
' avoid using abbreviations ' // optional context
);校正(および文法をチェックする)提供されたテキスト。
$ statusUrl = SharpApiService:: proofread ( $ text );提供されたコンテンツがスパムろ過テストに合格するかどうかを確認します。パーセンテージの信頼性スコアと、スパムと見なされるかどうかの説明を提供します。この情報は、モデレーターが最終決定を下すために役立ちます。
$ statusUrl = SharpApiService:: detectSpam ( $ text );任意の電話番号の提供されたテキストを解析し、元の検出されたバージョンとそのe.164形式を返します。電話番号に対するデータの大きなチャンクを処理して検証する場合、またはそれらが想定されていない場所で電話番号を検出したい場合は、役立つ場合があります。
$ statusUrl = SharpApiService:: detectPhones ( $ text );可能なメールの提供されたテキストを解析します。電子メールアドレスに対して大量のデータのチャンクを処理および検証した場合に役立つ場合があります。
$ statusUrl = SharpApiService:: detectEmails ( $ text );提供されたコンテンツに基づいて、一意のキーワード/タグのリストを生成します。
max_quantityパラメーターで出力を制限できます。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。
$ statusUrl = SharpApiService:: generateKeywords (
$ text ,
' English ' , // optional language
5 , // optional length
' Freaky & Curious ' , // optional voice tone
' add emojis! ' // optional extra context instructions for content processing
);提供されたコンテンツの要約バージョンを生成します。より長いテキストのマーケティング紹介を生成するのに最適です。
max_lengthパラメーターで出力を制限できます。 max_length 、結果の一般的な感覚を維持するために、厳格な要件ではなく、言語モデルの強力な提案として機能することに留意してください。
voice_ton Eパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
$ statusUrl = SharpApiService:: summarizeText (
$ text ,
' English ' , // optional language
' David Attenborough ' , // optional voice tone
' add emojis! ' // optional extra context instructions for content processing
);提供されているコンテンツに基づいて、最も重要なすべてのメタタグを生成します。可能な限り多くのタグを入手するには、Webサイトと写真のURLへのリンクを必ず含めてください。
voice_ton Eパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
$ statusUrl = SharpApiService:: generateSeoTags (
$ text ,
' English ' , // optional language
' David Attenborough ' // optional voice tone
);旅行/ホスピタリティ製品のレビューを解析し、0〜100%のスコアでその感情(肯定的/負/中立)を提供します。オンラインストアのセンチメントレポート処理に最適です。
$ statusUrl = SharpApiService:: travelReviewSentiment ( $ text );Tours&Activity製品に適したカテゴリのリストを生成します。これは、Float値(1.0-10.0)として関連する重みを備えた製品です。製品名とそのパラメーターを提供して、可能な限り最高のカテゴリマッチを取得します。製品カタログデータとバルク製品の処理に適しています。最初のパラメーターproductNameのみが必要です。
max_quantityパラメーターで出力を制限できます。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
追加のオプションのパラメーターcontext内で、マッピングプロセス(現在のeコマースカテゴリなど)で考慮される他のカテゴリのリストを提供できます。
$ statusUrl = SharpApiService:: toursAndActivitiesProductCategories (
' Oasis of the Bay '
'Ha Long', // optional city
' Vietnam ' , // optional country
' English ' , // optional language
10 , // optional quantity
' Adventurous ' , // optional voice tone
' Bay Hotels, Ha Long Hotels ' // optional context, current categories to match
);Float値(1.0-10.0)として関連する重みを持つホスピタリティタイプ製品の適切なカテゴリのリストを生成し、10は最高の関連スコアである100%に相当します。製品名とそのパラメーターを提供して、可能な限り最高のカテゴリマッチを取得します。入力製品のカタログデータとバルク製品の処理が便利です。最初のパラメーターproductNameのみが必要です。
max_quantityパラメーターで出力を制限できます。
voice_toneパラメーターを提供することにより、好みのライティングスタイルを設定できます。それは、 funnyまたはjoyousような形容詞であるか、有名な作家の名前でさえあります。
追加のオプションのパラメーターcontext内で、マッピングプロセス(現在のeコマースカテゴリなど)で考慮される他のカテゴリのリストを提供できます。
$ statusUrl = SharpApiService:: hospitalityProductCategories (
' Hotel Crystal 大人専用'
'Tokyo', // optional city
' Japan ' , // optional country
' English ' , // optional language
10 , // optional quantity
' Adventurous ' , // optional voice tone
' Tokyo Hotels, Crystal Hotels ' // optional context, current categories to match
);サブスクリプションの現在の期間に関する詳細を確認するエンドポイント
$ statusUrl = SharpApiService:: quota ();結果:
{
"timestamp" : " 2024-03-19T12:49:41.445736Z " ,
"on_trial" : false ,
"trial_ends" : " 2024-03-17T07:57:46.000000Z " ,
"subscribed" : true ,
"current_subscription_start" : " 2024-03-18T12:37:39.000000Z " ,
"current_subscription_end" : " 2024-04-18T12:37:39.000000Z " ,
"subscription_words_quota" : 100000 ,
"subscription_words_used" : 9608 ,
"subscription_words_used_percentage" : 0.1
} subscription_words_used_percentageは、現在の毎月のクォータ使用の割合であり、枯渇したクレジットのユーザーにアラートとして役立つ可能性があります。 80%を超える値で、サービスの混乱を避けるために、https://sharpapi.com/dashboard/creditsでより多くのクレジットを購読することをお勧めします。
これらの値は、https://sharpapi.com/dashboardのダッシュボードでも利用できます
APIの可用性を確認するための単純なPingエンドポイントと、内部ティムゼゾーン(タイムスタンプ)です。
$ statusUrl = SharpApiService:: ping ();結果:
{
"ping" : " pong " ,
"timestamp" : " 2024-03-12T08:50:11.188308Z "
}お知らせください»
最近変更されたものの詳細については、Changelogをご覧ください。
MITライセンス(MIT)。詳細については、ライセンスファイルをご覧ください。