PHP 使用微軟Azure AI 認知服務電腦視覺做處方箋辨識

最近接到了一個任務,是透過影像辨識的模式去取得處方箋內容。然後抓到病患的一些個資以及病名、藥名等資料。於是就想到用azure 的ai服務裡有電腦視覺可以做ocr,然後再透過open ai去抓出內容試試
簡單的寫了段程式,主要是把上傳到images裡的處方箋資料,透過azure vision 去做辨識,接著把辨識出的文字存到 檔名-result.txt裡面

https://portal.vision.cognitive.azure.com/demo/extract-text-from-images

https://azure.microsoft.com/zh-tw/products/cognitive-services/vision-services/

<?php
// 透過azure vision ai 取得images下的資料,然後將ocr結果另存新檔
$base_url = ‘https://eastasia.api.cognitive.microsoft.com/computervision/imageanalysis:analyze?features=caption%2Cread&model-version=latest&language=en&api-version=2023-02-01-preview’;

$api_key = ‘yourkey’;

$directory = ‘./images’; // 修改成目錄的路徑

$files = scandir($directory);

foreach ($files as $file) {
$extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (in_array($extension, [‘jpg’, ‘jpeg’])) {
$file_url = ‘https://yoursite/images/’ . $file;

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $base_url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => ”,
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => ‘POST’,
CURLOPT_POSTFIELDS => ‘{“url”:”‘ . $file_url . ‘”}’,
CURLOPT_HTTPHEADER => array(
‘Ocp-Apim-Subscription-Key: ‘ . $api_key,
‘Content-Type: application/json’
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
$file_name = pathinfo($file, PATHINFO_FILENAME) . ‘.txt’;
file_put_contents($file_name, $response);
$json_response = json_decode($response, true);

// Check if the response contains “readResult” and “content” fields
if (isset($json_response[‘readResult’]) && isset($json_response[‘readResult’][‘content’])) {
$content = $json_response[‘readResult’][‘content’];
$file_name = pathinfo($file, PATHINFO_FILENAME) . ‘-result.txt’;

// Save the content to a file
file_put_contents($file_name, $content);
}
}
}
?>

接著再透過open ai的服務,去把相關資料抓出來,再透過您是一位專業的藥師,擁有中西醫藥品的知識,請幫我從以下的文字找出醫事機構代碼、門診類別、姓名、年齡(如無訊息可以由就診日期的年減掉出生日期的年)、出生日期、就診日期、性別(如無訊息可以從身份證字號第二碼數字,數字1為男性,數字2為女性)、天數、用法、藥品健保碼並以條列的方式回應:,然後抓到我自己想要的資料。

 

<?php
// 設定 OpenAI API 金鑰
$api_key = ‘yourkey’;

// 獲取現有目錄下檔名符合 “-result.txt” 的檔案
$directory = ‘./’; // 修改成目錄的路徑
$files = scandir($directory);

foreach ($files as $file) {
if (strpos($file, ‘-result.txt’) !== false) {
echo $file.”\n\r”;
// 讀取檔案內容
$content = file_get_contents($file);
echo $content.”\n\r”;;
echo ‘您是一位專業的藥師,擁有中西醫藥品的知識,請幫我從以下的文字找出醫事機構代碼、門診類別、姓名、年齡(如無訊息可以由就診日期的年減掉出生日期的年)、出生日期、就診日期、性別(如無訊息可以從身份證字號第二碼數字,數字1為男性,數字2為女性)、天數、用法、藥品健保碼並以條列的方式回應:’.$conten.”\n\r”;;
// 設定 API 請求的 URL 和 headers
$url = ‘https://api.openai.com/v1/engines/text-davinci-002/completions’;
$headers = array(
‘Authorization: Bearer ‘ . $api_key,
‘Content-Type: application/json’,
);

// 設定 API 請求的 payload,這裡使用 GPT-3.5 模型
$data = array(
‘prompt’ => ‘您是一位專業的藥師,擁有中西醫藥品的知識,請幫我從以下的文字找出醫事機構代碼、門診類別、姓名、年齡(如無訊息可以由就診日期的年減掉出生日期的年)、出生日期、就診日期、性別(如無訊息可以從身份證字號第二碼數字,數字1為男性,數字2為女性)、天數、用法、藥品健保碼並以條列的方式回應:’.$content,
‘temperature’=> 0.7,
‘max_tokens’ => 2000,
);
$payload = json_encode($data);

// 初始化 curl
$ch = curl_init();

// 設定 curl 選項
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

// 執行 curl 並取得回傳結果
$response = curl_exec($ch);
echo $response.”\n\r”;;
// 關閉 curl
curl_close($ch);

// 處理 API 回傳的結果,你可以根據需要進行處理
$openai_result = json_decode($response, true);

// 將 API 回傳的結果存成新的檔案
$new_file_name = str_replace(‘-result.txt’, ‘-gpt.txt’, $file);
file_put_contents($new_file_name, $openai_result[‘choices’][0][‘text’]);
}
}
?>

 

運用chatGPT結合canva協助社群經營生成字卡

生成式AI chatGPT可以協助生成許多不錯的文案

再結合免費且強大可以製作出漂亮美觀的字卡的canva

就能夠讓社群經營每天有源源不絕的內容了

首先,在chatGPT上詢問你想要他幫你產生的20條內容

接著請chatGPT以csv的格式產出,然後複製下來到記事本另存為csv檔案

然後來到canva,找到您要的畫面後,按左邊的大量建立

接著會問要輸入或匯入CSV,我們選匯入csv

在要大量生成的文字框按右鍵,連接資料選擇要塞入的資料

最後再選擇其他19則也是如此,就可以完成了!

C# 微軟語音辨識/語音合成結合OpenAI ChatGPT 變成ai人工智慧管家

透過微軟azure上的語音服務,辨識麥克風傳入的聲音後將語音轉成文字
接著再把文字送到open ai api中的chatgpt 模型中取得回應內容
最後再將回應內容透過語音合成送出

參考:
Introducing ChatGPT and Whisper APIs
https://openai.com/blog/introducing-chatgpt-and-whisper-apis
openai api
https://platform.openai.com/docs/guides/chat

Betalgo.OpenAI.GPT3
https://www.nuget.org/packages/Betalgo.OpenAI.GPT3/6.7.0
https://github.com/betalgo/openai

C# ChatGPT取回後轉語音合成 將base64轉音檔

從ChatGPT的api,取得文件後,再透過語音合成轉為base64音檔念出。

 

台灣雅婷 https://www.yating.tw/zh/api-text-to-speech-zh/

雅婷文字轉語音 https://tts.yating.tw/

文件  https://developer.yating.tw/doc/tts-%E8%AA%9E%E9%9F%B3%E5%90%88%E6%88%90#%E7%AF%84%E4%BE%8B

後台: https://developer.yating.tw/zh-TW/dashboard

其他參考

https://ai.baidu.com/tech/speech/tts

 

https://aws.amazon.com/tw/polly/

https://tw.piliapp.com/text-to-speech/

https://azure.microsoft.com/zh-tw/products/cognitive-services/text-to-speech/#overview

https://cloud.google.com/text-to-speech?hl=zh-tw

https://azure.microsoft.com/zh-tw/products/cognitive-services/text-to-speech/

https://www.xfyun.cn/services/online_tts

https://everest-ai.ximalaya.com/charm-studio/


static void DecodeBase64ToFile(string Base64String, string filenames)
{
try
{

byte[] bytes = Convert.FromBase64String(Base64String);
using (var fs = new FileStream(filenames, FileMode.Create, FileAccess.Write))
{
fs.Write(bytes, 0, bytes.Length);
fs.Flush();
}
}
catch (Exception e)
{

}
}

微軟Microsoft人工智慧AI運用範疇影片

http://superlevin.tw/%E5%BE%AE%E8%BB%9Fmicrosoft%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7ai%E9%81%8B%E7%94%A8%E7%AF%84%E7%96%87%E5%BD%B1%E7%89%87/

 

eat River 醫療中心運用 Microsoft 的技術和裝置打造自動化的端對端藥物管理系統,大幅降低病患的等待時間、輸入資料的錯誤機率、藥物成本,讓病患更迅速地復原。

天全球有超過450億公升的水,因為水管漏水或破裂而流失,這相當2億人的每日用水。Grundfos 的智慧泵浦,透過Azure IoT 收集來自智慧感測器的據數,並利用Cortana Intelligence 的大數據分析,即時預測應對漏水問題,再搭配氣候數據,預估暴雨的發生地,提早策略性儲水。Grundfos 智慧泵浦在永續的水資源中扮演關鍵角色。

參考: https://gallery.azure.ai/experiments

平均每秒銷售一台印表機,每年銷售超過 5,000 萬台 PC,HP 每年需接觸超過 6 億個客戶,同為科技公司的 HP 很快地就發現,微軟的人工智慧可以協助他們處理客戶爆炸性的需求,AI 讓客戶解決問題的比例從 20-30%,提升至 70-80%,而後台儀表板更能提供關鍵指標,協助持續優化客服成果!

Microsoft Azure AI 技術 – 認知服務介紹 : https://azure.microsoft.com/zh-tw/services/cognitive-services/
不只看得懂數據,人工智慧也會分析影像!不論是城市中的監視器或是人手一支的行動電話,每天都有數量驚人的影像產生。而 Prism Skylabs 看準了藏在攝影鏡頭中的資訊,透過微軟認知服務的計算機視覺 API,幫助組織機構搜索閉路電視和安防攝像頭所拍攝的內容,讓企業一手掌握特定的事件、物品和人員!

Uber 正在使用 Microsoft Cognitive Services 提供即時身分識別確認。Uber 司機必須自拍自己的照片,並通過身分驗證才能載客。

有能力服務客戶的人,才能留下客戶,於是梅西百貨決心用人工智慧來擴增服務能量,消費者可以透過任何管道向梅西詢問,客服機器人會人性化的回答問題,帶領消費者找到答案,不必再翻找 FAQ,即使真人客服員,也可以藉由客服機器人的協助,快速上線工作,減少訓練的成本,在影片中您可以看到這是個有溫度的服務,它不僅滑潤了客戶關係,也為企業帶來更多的利潤!


日本電信大廠軟體銀行 (SoftBank) 的人形機器人 「Pepper」與微軟的雲端平台「Azure」利用線上大數據分析追蹤銷售品項,協助零售商更靈活調節庫存管理,同時記錄顧客的特性與需求,並搭載情感認知,客製化推薦顧客所需,創造零售購物新體驗。另外,Pepper 同時具備翻譯功能,可以服務更多來自不同地區旅客。

Great River 醫療中心運用 Microsoft 的技術和裝置打造自動化的端對端藥物管理系統,大幅降低病患的等待時間、輸入資料的錯誤機率、藥物成本,讓病患更迅速地復原。

全球有超過450億公升的水,因為水管漏水或破裂而流失,這相當2億人的每日用水。Grundfos 的智慧泵浦,透過Azure IoT 收集來自智慧感測器的據數,並利用Cortana Intelligence 的大數據分析,即時預測應對漏水問題,再搭配氣候數據,預估暴雨的發生地,提早策略性儲水。Grundfos 智慧泵浦在永續的水資源中扮演關鍵角色。

GCP(Google Cloud Platform)推出的machine learning與人工智慧相關的API列表

Google Cloud Platform雖然起步的比AWS(Amazon Web Service)晚,但推出了一系列的影像、聲音、文字相關的人工智慧API。以人工智慧這一塊領域當市場區隔,也成為後續人工智慧基礎建設重要的一環。
Cloud Video Intelligence API: 影像的人工智慧
Cloud Speech API: 聲音的人工智慧
Cloud Natural Language API: 自然語言處理
Cloud Machine Learning Engine: 訓練 TensorFlow 的模型
Cloud Jobs API: 人工智慧求職媒合