網頁

2023年2月23日 星期四

使用 ngrok 服務 (Colab環境)

在開發網頁應用或是聊天機器人時,通常是使用本機的伺服器,無法真正在外界進行測試,然而透過免費的 ngrok 服務,能夠將本機環境映射到一個 ngrok 網址,公開在整個網際網路中,由於是公開網址,就能真正在外界進行測試。

現在一步一步講解本機如何產生一個 ngrok 網址

1. 首先註冊 ngrok 取得 token
前往 ngrok 的網站,註冊帳號並登入。ngrok 網站:https://ngrok.com/

2. 登入後,從左側選單點擊 Your Authtoken,會出現一段串接 ngrok 服務所使用的 token ( 點擊網頁最下方 reset token 按鈕可以重設 token )。

3.接著打開 colab,使用命令輸入註冊 ngrok 後取得的 token。


4.在colab輸入線面程式掛載Google雲端硬碟

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

!mkdir -p /drive
#umount /drive
!mount --bind /content/drive/My\ Drive /drive
!mkdir -p /drive/ngrok-ssh
!mkdir -p ~/.ssh

 
5.接著繼續輸入下方的程式碼,將 ngrok 安裝到 Google 雲端硬碟中。

!mkdir -p /drive/ngrok-ssh
%cd /drive/ngrok-ssh
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip -O ngrok-stable-linux-amd64.zip
!unzip -u ngrok-stable-linux-amd64.zip
!cp /drive/ngrok-ssh/ngrok /ngrok
!chmod +x /ngrok

6.使用 pip 安裝 flask_ngrok 函式庫。

!pip install flask_ngrok 

7. 輸入下面的程式碼,除了使用 Flask 建立網頁服務,也使用 run_with_ngrok 將網頁服務與 ngrok 串接。

from flask import Flask
from flask_ngrok import run_with_ngrok

app = Flask(__name__)
run_with_ngrok(app)

@app.route("/<name>")
def home(name):
    return f"<h1>hello {name}</h1>"

app.run()

程式碼執行後,如果出現 ngrok 的網址,就表示已經串接成功,因為 ngrok 支援 https,可自行將 http 改為 https。


 8. 打開瀏覽器輸入ngrok產生的網址。(最後要加上根目錄名)


 

對於開發者來說,ngrok 是一個相當方便的服務,可以快速測試程式是否正常運作,不過使用 ngrok 時仍有下列幾點事項需要注意:

使用本機環境開發時,如果電腦關機 ( 或網路斷線 ),服務也會跟著中斷。
ngrok 免費版同時間內只能串連一個服務。
Colab 程式有運行時間限制,無法作為正式的伺服器使用。


 

2023年2月7日 星期二

用Python串接OpenAI API

 首先,透過pip安裝openai


 程式碼,透過這程式碼向OpenAI 發送訊息:

openai.Completion.create 方法,方法的參數說明如下(參考Create completion ):
engine:AI 所使用的引擎名稱,如果是以自然語意為主,目前最新的使用 text-davinci-003
prompt:要傳送的句子會詞彙。
max_tokens:希望 AI 回傳的最大字數,預設 128。
temperature:隨機文字組合,範圍 0~1,預設 0.5,0 表示不隨機,1 表示完全隨機。
language:機器人處理的「程式語言」,預設 python,可設定 javascript、java、csharp、golang、ruby、php、cpp。

第2行 openai.api_key 要填入你自己的API-key,取得API-key的方式如下:

到Personal下拉選單,選擇View API keys

然後會出現下面的畫面:

按下 + Create new secret key ,就會有一組API-key 產生,複製下來貼到程式碼即可。

這樣就可以建立一個機器人聊天的環境,我們來試一下:

我提問了3個問題,彩虹顏色的組成,IG流行的主題,講個笑話

串接OpenAI 操作起來還蠻簡單的,只要索取 API-key 就可以使用, 而且是免費的。




如何挑選紅酒

 

面對賣場酒架上不同產區不同品種的紅酒要如何挑選一瓶適合自己的紅酒呢?

1. 決定費用限制:第一步是決定你的預算,紅酒的價格會因為品種、產地、酒莊等而不同,而你需要確定一個你可以承受的費用限制。
2. 了解紅酒的品種:紅酒的品種可以從產地、品牌、成分等不同的種類中選擇,你需要熟悉不同品種的紅酒,並且了解它們的風味和口感,以便做出適當的選擇。
3. 酒評的評價:可以參考紅酒專家的評價,以獲取相關的消息,讓你能夠更好地了解紅酒的品質和價格,並挑選出最佳的紅酒。
4. 深入了解你最喜歡的酒款:你也可以深入瞭解你最喜歡的酒款,從中了解它的歷史、風土、酒莊等詳細資訊,以便對你的選擇有更深入的了解。


不同的葡萄所釀造出的紅酒風味也有所不同,葡萄的品種有這幾種:Cabernet Sauvignon(卡本內蘇維農),Syrah(希哈),Tempranillo(田帊尼優),Merlot(梅洛),Pinot Noir(黑皮諾),
一般來說口感大致上如下:
Cabernet Sauvignon:Cabernet Sauvignon是一種深色紅葡萄品種,它帶有濃郁的黑莓,黑加侖子,甘草和香料的風味。它的口感也很厚實,帶有細膩的單寧,並且帶有持久的餘韻。
Syrah:Syrah是一種深色紅葡萄品種,它有著濃郁的果香和香料,加上柔和的單寧口感,並且帶有辛辣的口感。
Merlot:Merlot是一種深色紅葡萄品種,它有著濃郁的莓果和香料味,口感柔滑,帶有微苦的單寧,並且有持久的餘韻。
Pinot Noir:Pinot Noir是一種深色紅葡萄品種,它有著濃郁的草莓,覆盆子,甘草和香料的風味,口感柔滑,帶有細膩的單寧,並且有持久的餘韻。
Tempranillo:Tempranillo是一種深色紅葡萄品種,它有著濃郁的黑加侖子,藍莓,黑梅,甘草和香料的風味,而且酒莊也很深厚,並且帶有微苦的口感,並且持久的收結。

哪一種比較適合新手入門品嚐?
新手入門品嚐紅酒時,建議選擇Merlot或Pinot Noir,因為它們的口感比較柔滑,帶有細膩的單寧,而且風味也比較溫和,比較適合新手入門品嚐。

那一般的紅酒開瓶後需要醒酒嗎?
一般紅酒開瓶後,是不需要醒酒的,因為紅酒的酒精含量比白酒低,所以開瓶後可以直接飲用。但是,如果你想要更好地發揮紅酒的口感和品質,建議可以在開瓶前將酒放在室溫下醒酒,這樣可以讓紅酒的風味更加充分發揮。

紅酒開瓶後可以存放多久?
紅酒開瓶後,建議在兩小時內飲用完畢,如果無法在兩小時內飲用完畢,可以將酒放在冰箱中存放,最多可以存放3-4天。