月薪$12000-$18000 請AI & Machine Learning Officer,外勞價?

返工
#1 閪寶
13/10/25 02:36

歡迎在香港本地或內地大學本科畢業的內地學生

祖國同胞內地學生都嫌你出手低啦

#2 AI 馬沙
13/10/25 02:42

一日淨係做三個鐘掛。

#3 ☝️
13/10/25 04:28

dc9

#4 牛河博士生
13/10/25 05:21

有乜問題?份工只係搵你做AI助手

又唔係你做晒啲嘢

咁都有full time pay咪算好囉

#5 閪寶
13/10/25 05:25

有乜問題?份工只係搵你做AI助手

又唔係你做晒啲嘢

咁都有full time pay咪算好囉

我好似可以搞得掂了

這是個很好的起點!由於計程車 App 涉及許多複雜的組件(後端、資料庫、即時通訊、地理空間計算),我會先從一個最核心、最能展示 Python 後端能力的元件開始:使用 Flask (一個輕量級的 Python Web 框架) 來建立一個基本的路線規劃和車費估算 API。

步驟一:設定環境

首先,你需要建立一個 Python 虛擬環境並安裝必要的函式庫。

# 建立虛擬環境

python3 -m venv taxi_env

# 啟動虛擬環境 (macOS/Linux)

source taxi_env/bin/activate

# 啟動虛擬環境 (Windows)

# .\taxi_env\Scripts\activate

# 安裝必要的套件:Flask 用於建立 API,Haversine 用於計算地理距離

pip install Flask haversine

步驟二:建立核心 API (app.py)

我們將使用 Haversine 公式來計算地球上兩點之間的「直線距離」,並以此為基礎來估算車費。在實際應用中,你會需要使用地圖服務的 API 來計算真實的道路距離和考慮交通狀況。

在 app.py 檔案中寫入以下程式碼:

from flask import Flask, request, jsonify

from haversine import haversine, Unit

app = Flask(__name__)

# --- 計程車費率設定(範例,請依據實際地區調整) ---

# 假設費率:

# 1. 起跳價: $25.0 (含頭 2 公里)

# 2. 續程費: $5.0 (每多 0.5 公里)

INITIAL_FARE = 25.0

INITIAL_DISTANCE_KM = 2.0

PER_DISTANCE_KM = 0.5

PER_FARE = 5.0

# ----------------------------------------------------

def calculate_fare(distance_km):

"""

根據直線距離(公里)計算估算車費。

:param distance_km: 兩點間的直線距離(公里)。

:return: 估算車費(浮點數)。

"""

if distance_km <= INITIAL_DISTANCE_KM:

return INITIAL_FARE

# 超過起跳距離的部分

extra_distance = distance_km - INITIAL_DISTANCE_KM

# 計算額外收費的跳表次數

# 使用 ceil() 確保即使只多一點點距離也算一次跳表

import math

# 這裡假設每 0.5 公里跳一次表

fare_jumps = math.ceil(extra_distance / PER_DISTANCE_KM)

extra_fare = fare_jumps * PER_FARE

total_fare = INITIAL_FARE + extra_fare

# 為了簡化,我們將結果四捨五入到整數

return round(total_fare)

@app.route('/api/estimate', methods=['GET'])

def estimate_fare():

"""

API 接口:根據起點和終點座標估算車費。

預期參數 (從 URL 查詢參數獲取):

start_lat, start_lon: 起點緯度、經度

end_lat, end_lon: 終點緯度、經度

"""

try:

# 從 URL 查詢參數中獲取座標

start_lat = float(request.args.get('start_lat'))

start_lon = float(request.args.get('start_lon'))

end_lat = float(request.args.get('end_lat'))

end_lon = float(request.args.get('end_lon'))

except (TypeError, ValueError):

# 參數缺失或格式錯誤

return jsonify({

"error": "請提供有效的起點和終點座標 (start_lat, start_lon, end_lat, end_lon)。"

}), 400

# 1. 定義座標 (緯度, 經度)

start_point = (start_lat, start_lon)

end_point = (end_lat, end_lon)

# 2. 計算兩點間的直線距離 (大圓距離)

# 單位設定為公里 (KM)

distance_km = haversine(start_point, end_point, unit=Unit.KILOMETERS)

# 3. 估算車費

estimated_fare = calculate_fare(distance_km)

# 4. 回傳結果

return jsonify({

"status": "success",

"start_location": start_point,

"end_location": end_point,

"distance_km": round(distance_km, 2), # 距離保留兩位小數

"estimated_fare": estimated_fare,

"note": "此為使用直線距離的初步估算,實際車費將根據道路距離、交通狀況和計程車跳表計算。"

})

if __name__ == '__main__':

# 在本機運行 (預設埠號 5000)

app.run(debug=True)

步驟三:運行 API 服務器

在你的終端機中,確保虛擬環境已啟動,然後運行:

python app.py

你會看到類似以下輸出的訊息:

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

* Restarting with stat

...

步驟四:測試 API

現在你可以透過瀏覽器或工具 (如 Postman/cURL) 來測試你的第一個 API 接口。

我們以台北車站到台北 101(直線距離約 7.5 公里)為例:

* 台北車站 (N 25.0485, E 121.5170)

* 台北 101 (N 25.0337, E 121.5651)

測試 URL 範例:

http://127.0.0.1:5000/api/estimate?start_lat=25.0485&start_lon=121.5170&end_lat=25.0337&end_lon=121.5651

你將會得到類似以下的回應 (JSON 格式):

{

"distance_km": 5.42,

"end_location": [

25.0337,

121.5651

],

"estimated_fare": 60,

"note": "此為使用直線距離的初步估算,實際車費將根據道路距離、交通狀況和計程車跳表計算。",

"start_location": [

25.0485,

121.517

],

"status": "success"

}

下一步的建議:

這個範例只是一個開始,真正的計程車 App 還需要:

* 資料庫:用來儲存用戶、司機和訂單資料 (可加入 SQLAlchemy 或使用 Django)。

* 真實路線規劃:整合 Google Maps API 或 OSRM 來計算真實道路距離和時間。

* 身份驗證:建立使用者註冊和登入系統 (例如使用 JWT)。

* 即時功能:設定 WebSocket (例如使用 Flask-SocketIO 或 Django Channels) 來即時追蹤車輛位置和訂單狀態。

* 使用者介面 (App):使用另一個框架(如 Flutter, React Native, 或 Kivy)來建立手機 App,並呼叫你這個 Python 後端 API。

#6 閪寶
13/10/25 05:27

Proficient in programming languages such as Python, R, or Java, and familiarity with machine learning frameworks like TensorFlow, PyTorch, or scikit-learn

竟然多過$10000真係佛心,一個AI成個output都幫你自動搞晒

本主題共有 6 則回覆,第 1 頁。