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

歡迎在香港本地或內地大學本科畢業的內地學生
祖國同胞內地學生都嫌你出手低啦

一日淨係做三個鐘掛。

dc9
有乜問題?份工只係搵你做AI助手
又唔係你做晒啲嘢
咁都有full time pay咪算好囉

有乜問題?份工只係搵你做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。

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都幫你自動搞晒