99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

用FastAPI和SQLite構(gòu)建本地情感關(guān)懷服務(wù):定時(shí)祝福與情感分析實(shí)踐

用FastAPI和SQLite構(gòu)建本地情感關(guān)懷服務(wù):定時(shí)祝福與情感分析實(shí)踐 這次我們來看一個(gè)很適合個(gè)人開發(fā)者和家庭場景的服務(wù)型小項(xiàng)目“你的幸福就是我最大的幸?!?。它不是一個(gè)圖像生成工作流也不是語音克隆工具而是一套用 FastAPI 搭起來的本地情感關(guān)懷服務(wù)用來記錄你在意的人的重要日期和情緒狀態(tài)在關(guān)鍵時(shí)刻自動(dòng)生成并推送一條祝福文案。項(xiàng)目的核心理念很樸素把“關(guān)心”變成數(shù)據(jù)、規(guī)則和定時(shí)任務(wù)不讓任何一個(gè)值得記住的日子被漏掉。這個(gè)項(xiàng)目最值得關(guān)注的點(diǎn)有幾個(gè)所有隱私數(shù)據(jù)默認(rèn)存在本地 SQLite不需要把家庭成員記錄傳到外部平臺(tái)提供完整的 REST API可以接自己的任務(wù)流支持批量生成祝福文案和定時(shí)掃描提醒硬件門檻低輕量模式在普通辦公電腦上就能運(yùn)行同時(shí)保留了接入更強(qiáng)情感分析模型的空間。如果后續(xù)要接入本地大模型做語義分析才會(huì)涉及顯卡和顯存評(píng)估基礎(chǔ)版本并不依賴 GPU。本文會(huì)帶讀者從零搭建完整閉環(huán)先初始化項(xiàng)目結(jié)構(gòu)和數(shù)據(jù)庫再啟動(dòng) API 服務(wù)然后錄入用戶和情感記錄跑一輪情感分析與祝福文案生成最后配置定時(shí)任務(wù)和批量任務(wù)隊(duì)列。每一步都給出了可復(fù)制的代碼和使用方法讀者跟著操作就能得到一個(gè)可運(yùn)行的本地服務(wù)。適合的讀者有兩類一類是想要給家人、伴侶、朋友做一套私人提醒系統(tǒng)的個(gè)人開發(fā)者另一類是正在學(xué)習(xí) FastAPI、SQLite、定時(shí)任務(wù)和本地?cái)?shù)據(jù)存儲(chǔ)全棧思路的初學(xué)者。如果只是好奇也可以先看第 5 節(jié)的功能測(cè)試和第 8 節(jié)的資源占用部分能快速判斷這套方案是否符合自己的需求。1. 核心能力速覽先把項(xiàng)目的關(guān)鍵規(guī)格放在前面方便快速判斷這個(gè)方案值不值得花時(shí)間。能力項(xiàng)說明項(xiàng)目類型本地部署的情感關(guān)懷與幸福記錄服務(wù)示例項(xiàng)目主要功能用戶管理、情感記錄、輕量情感分析、祝福文案生成、日期提醒、批量文案生成存儲(chǔ)方式SQLite 本地?cái)?shù)據(jù)庫數(shù)據(jù)默認(rèn)不出本機(jī)推薦運(yùn)行環(huán)境Python 3.9 及以上Windows / Linux / macOS 均可硬件門檻輕量模式普通辦公電腦即可接入本地大模型做語義分析時(shí)才需要評(píng)估顯存啟動(dòng)方式命令行啟動(dòng) FastAPI 服務(wù)接口 API提供 REST API可通過 /docs 查看交互文檔批量任務(wù)支持批量生成祝福文案、定時(shí)掃描提醒日期推送方式默認(rèn)輸出 JSON 文件和日志可自行擴(kuò)展郵件、機(jī)器人等通道適合場景個(gè)人與家庭隱私場景、FastAPI 全棧學(xué)習(xí)、自動(dòng)化關(guān)懷任務(wù)需要強(qiáng)調(diào)一點(diǎn)這個(gè)項(xiàng)目是一個(gè)通用實(shí)現(xiàn)模板不是某個(gè)組織發(fā)布的閉源軟件。讀者拿到的是代碼骨架實(shí)際的情感詞典、文案風(fēng)格、數(shù)據(jù)庫表結(jié)構(gòu)都可以按自己的場景改。表格里的“本地部署”“REST API”等說法都是圍繞這個(gè)模板本身的能力來描述的不綁定任何特定開源模型或第三方平臺(tái)賬號(hào)。2. 適用場景與使用邊界這個(gè)服務(wù)最合適的場景是個(gè)人和家庭內(nèi)部使用。你可以記錄父母的生日、伴侶的結(jié)婚紀(jì)念日、孩子的重要成長節(jié)點(diǎn)然后讓系統(tǒng)到點(diǎn)提醒你該打個(gè)電話該發(fā)條消息該準(zhǔn)備一份小禮物。相比在手機(jī)上單純?cè)O(shè)一個(gè)日歷鬧鐘這套項(xiàng)目的優(yōu)勢(shì)在于它把人物關(guān)系、情感記錄和文案生成串在了一起提醒的不只是一個(gè)“日期”而是一個(gè)“為什么要做這件事”的上下文。它也能用于學(xué)習(xí)完整的后端開發(fā)流程。FastAPI 負(fù)責(zé)接口層SQLite 負(fù)責(zé)持久化APScheduler 負(fù)責(zé)定時(shí)任務(wù)情感分析和模板生成負(fù)責(zé)業(yè)務(wù)邏輯。整個(gè)項(xiàng)目結(jié)構(gòu)足夠小但已經(jīng)覆蓋了一個(gè)服務(wù)端應(yīng)用的主要模塊適合作為練手項(xiàng)目逐步擴(kuò)展。使用邊界要提前說清楚。第一不要在沒有鑒權(quán)的情況下把服務(wù)暴露到公網(wǎng)默認(rèn)監(jiān)聽 127.0.0.1 就是為安全考慮的如果要多設(shè)備訪問應(yīng)該自己加 Token 或身份校驗(yàn)。第二情感分析結(jié)果只做參考它不能替代心理咨詢或醫(yī)療判斷如果發(fā)現(xiàn)記錄對(duì)象長期處于明顯的負(fù)面情緒應(yīng)該用真實(shí)的人際關(guān)懷去介入。第三如果你要把家人的情緒記錄、日期信息錄入系統(tǒng)最好征得對(duì)方同意這些信息屬于個(gè)人敏感數(shù)據(jù)。第四未來如果擴(kuò)展成自動(dòng)發(fā)送短信、微信消息、生成照片或語音祝福必須使用合規(guī)的推送通道并確保肖像權(quán)和聲音權(quán)已經(jīng)獲得授權(quán)。3. 環(huán)境準(zhǔn)備與項(xiàng)目結(jié)構(gòu)先準(zhǔn)備 Python 環(huán)境。推薦使用虛擬環(huán)境隔離依賴避免和系統(tǒng) Python 包沖突。Windows 用戶在命令提示符或 PowerShell 中執(zhí)行Linux / macOS 用戶使用終端。mkdir happiness_service cd happiness_service python -m venv venv激活虛擬環(huán)境# Windows venv\Scripts\activate # Linux / macOS source venv/bin/activate創(chuàng)建依賴文件 requirements.txt寫入以下內(nèi)容fastapi0.110 uvicorn0.29 apscheduler3.10 pydantic2.6然后安裝依賴pip install -r requirements.txt依賴安裝完成后創(chuàng)建項(xiàng)目目錄結(jié)構(gòu)。推薦按下面的方式組織文件后續(xù)擴(kuò)展功能時(shí)不容易亂happiness_service/ ├── app.py ├── config.py ├── database.py ├── analyzer.py ├── template_engine.py ├── scheduler.py ├── requirements.txt ├── data/ └── scripts/ └── send_blessing.py每個(gè)文件的職責(zé)如下config.py 保存路徑和端口配置database.py 負(fù)責(zé) SQLite 初始化和增刪改查analyzer.py 做輕量情感分析template_engine.py 負(fù)責(zé)祝福文案生成scheduler.py 是定時(shí)提醒任務(wù)app.py 是 FastAPI 入口scripts 目錄放獨(dú)立的批量腳本。先寫 config.py把路徑集中管理import os BASE_DIR os.path.dirname(os.path.abspath(__file__)) DATA_DIR os.path.join(BASE_DIR, data) DB_PATH os.path.join(DATA_DIR, happiness.db) HOST os.getenv(HAPPINESS_HOST, 127.0.0.1) PORT int(os.getenv(HAPPINESS_PORT, 8000))然后寫 database.py包含建表和基礎(chǔ)數(shù)據(jù)訪問方法import sqlite3 from pathlib import Path from config import DATA_DIR, DB_PATH def get_connection(): Path(DB_PATH).parent.mkdir(parentsTrue, exist_okTrue) conn sqlite3.connect(DB_PATH) conn.row_factory sqlite3.Row return conn def init_db(): conn get_connection() conn.executescript( CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, relationship TEXT DEFAULT default, birthday TEXT, anniversary_date TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS records ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, content TEXT NOT NULL, mood_type TEXT, mood_score REAL, keywords TEXT, remark TEXT, created_at TEXT DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ); CREATE TABLE IF NOT EXISTS remind_tasks ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, task_type TEXT NOT NULL, task_date TEXT NOT NULL, message TEXT, status TEXT DEFAULT pending, created_at TEXT DEFAULT CURRENT_TIMESTAMP ); ) conn.commit() conn.close()數(shù)據(jù)表設(shè)計(jì)為三張users 保存人物信息records 保存每次情感記錄和分析結(jié)果remind_tasks 保存待觸發(fā)的提醒任務(wù)。birthday 和 anniversary_date 統(tǒng)一使用“YYYY-MM-DD”格式字符串方便定時(shí)任務(wù)按月日匹配。analyzer.py 先實(shí)現(xiàn)一個(gè)離線情感詞典版本不需要聯(lián)網(wǎng)也不需要 GPU。這個(gè)版本用來演示完整流程夠了后續(xù)想提高準(zhǔn)確率可以把 analyze_sentiment 函數(shù)內(nèi)部換成調(diào)用本地部署的情感分類模型。POSITIVE_WORDS {幸福, 開心, 快樂, 溫暖, 感動(dòng), 滿足, 喜歡, 順利, 健康, 值得} NEGATIVE_WORDS {難過, 失落, 疲憊, 焦慮, 生氣, 委屈, 壓力, 糟糕, 失眠, 擔(dān)心} def analyze_sentiment(text: str) - dict: positive_hits [w for w in POSITIVE_WORDS if w in text] negative_hits [w for w in NEGATIVE_WORDS if w in text] if not positive_hits and not negative_hits: return { mood_type: neutral, mood_score: 5.0, keywords: [], } total len(positive_hits) len(negative_hits) ratio len(positive_hits) / total if ratio 0.6: mood_type positive elif ratio 0.4: mood_type negative else: mood_type neutral return { mood_type: mood_type, mood_score: round(ratio * 10, 1), keywords: positive_hits negative_hits, }template_engine.py 使用模板生成祝福文案。這里先做離線模板版本避免把家庭場景的文案請(qǐng)求發(fā)送到外部大模型接口。按場景區(qū)分生日、紀(jì)念日、日常問候后續(xù)可以按人物關(guān)系繼續(xù)擴(kuò)展模板庫。TEMPLATES { birthday: [ {name}生日快樂。愿你想要的都擁有愿你珍惜的人一直陪在身邊。你的幸福就是我最大的幸福。, 今天是你的生日{(diào)name}。不用趕著成為誰今天只做開心的自己。, ], anniversary: [ {name}紀(jì)念日快樂。謝謝你在那些平常日子里給的陪伴愿以后每個(gè)重要日子我們都不缺席。, 屬于我們的紀(jì)念日又到了{(lán)name}。時(shí)間在走想給你的心意不變。, ], daily: [ {name}今天有沒有按時(shí)吃飯稍微停下來歇一會(huì)兒別讓自己太累。, 想跟你說聲{name}今天也辛苦了。你的笑容就是我最想守護(hù)的東西。, ], } RELATIONSHIP_NOTES { partner: 最珍惜的人, parent: 最想孝順的人, child: 最想守護(hù)的人, friend: 重要的朋友, default: 在乎的人, } def build_relationship_prefix(relationship: str) - str: return RELATIONSHIP_NOTES.get(relationship, RELATIONSHIP_NOTES[default]) def generate_blessing(user_name: str, scenario: str daily, relationship: str default) - str: templates TEMPLATES.get(scenario, TEMPLATES[daily]) template templates[0] return template.format(nameuser_name)到這一步項(xiàng)目骨架已經(jīng)完整。沒有 GPU 也能跑因?yàn)槟氵€沒有調(diào)用任何深度學(xué)習(xí)模型。下面進(jìn)入服務(wù)啟動(dòng)和接口驗(yàn)證。4. 啟動(dòng) API 服務(wù)與基礎(chǔ)驗(yàn)證現(xiàn)在寫 FastAPI 入口 app.py。這里直接調(diào)用 init_db 初始化數(shù)據(jù)庫減少啟動(dòng)時(shí)序問題。再定義用戶創(chuàng)建、情感記錄、情感趨勢(shì)和祝福生成等接口。from typing import Optional from fastapi import FastAPI from pydantic import BaseModel from analyzer import analyze_sentiment from config import init_app_config from database import ( add_record, add_user, get_mood_trend, init_db, list_records, list_users, ) from template_engine import generate_blessing app FastAPI(title你的幸福就是我最大的幸福, version0.1.0) init_db() class UserCreate(BaseModel): name: str relationship: str default birthday: Optional[str] None anniversary_date: Optional[str] None class RecordCreate(BaseModel): user_id: int content: str remark: Optional[str] None class BlessingRequest(BaseModel): name: str scenario: str daily relationship: str default app.get(/health) def health_check(): return {status: ok, service: happiness-service} app.post(/users) def create_user(payload: UserCreate): user_id add_user( namepayload.name, relationshippayload.relationship, birthdaypayload.birthday, anniversary_datepayload.anniversary_date, ) return {user_id: user_id, message: 用戶創(chuàng)建成功} app.get(/users) def query_users(): return list_users() app.post(/records) def create_record(payload: RecordCreate): mood_result analyze_sentiment(payload.content) record_id add_record( user_idpayload.user_id, contentpayload.content, mood_resultmood_result, remarkpayload.remark, ) return {record_id: record_id, analysis: mood_result} app.get(/users/{user_id}/records) def query_records(user_id: int): return list_records(user_iduser_id) app.get(/users/{user_id}/mood_trend) def query_mood_trend(user_id: int): return get_mood_trend(user_iduser_id) app.post(/blessing) def create_blessing(payload: BlessingRequest): return { scenario: payload.scenario, message: generate_blessing( user_namepayload.name, scenariopayload.scenario, relationshippayload.relationship, ), }注意這個(gè)版本沒有給接口加鑒權(quán)只適合本機(jī)測(cè)試。啟動(dòng)命令如下uvicorn app:app --host 127.0.0.1 --port 8000啟動(dòng)后終端會(huì)輸出訪問地址。瀏覽器打開 http://127.0.0.1:8000/docs如果能看到 FastAPI 自帶的 Swagger 交互文檔說明服務(wù)已經(jīng)跑起來了。Swagger 頁面會(huì)把所有接口列出并且支持直接在頁面上點(diǎn)擊 Try it out 發(fā)送請(qǐng)求這是最方便的接口驗(yàn)證方式。也可以先驗(yàn)證健康檢查接口curl http://127.0.0.1:8000/health返回結(jié)果{status:ok,service:happiness-service}看到這個(gè)輸出服務(wù)就是可用的。接下來開始錄入真實(shí)數(shù)據(jù)做功能測(cè)試。5. 功能測(cè)試情感記錄與祝福生成先創(chuàng)建一個(gè)用戶。比如要記錄媽媽的信息接口請(qǐng)求如下curl -X POST http://127.0.0.1:8000/users \ -H Content-Type: application/json \ -d {name: 媽媽, relationship: parent, birthday: 1965-08-20}預(yù)期返回{user_id:1,message:用戶創(chuàng)建成功}如果返回其他內(nèi)容先看 Swagger 頁面里的錯(cuò)誤提示通常是 JSON 格式錯(cuò)誤或者日期字段格式不對(duì)。創(chuàng)建用戶后添加一條情感記錄。這里設(shè)計(jì)接口會(huì)先調(diào)用 analyzer.py 的情感分析再把分析結(jié)果和原文一起存入數(shù)據(jù)庫。curl -X POST http://127.0.0.1:8000/records \ -H Content-Type: application/json \ -d {user_id: 1, content: 今天陪媽媽復(fù)查醫(yī)生說恢復(fù)得很好她特別開心。, remark: 復(fù)查日}預(yù)期返回{ record_id: 1, analysis: { mood_type: positive, mood_score: 10.0, keywords: [開心] } }這里 mood_type 有三種可能positive、neutral、negative。mood_score 范圍是 0 到 10分?jǐn)?shù)越高代表文本中包含的積極詞匯占比越高。keywords 是文本中命中的情感詞典詞匯。因?yàn)樵睦镉小伴_心”而沒有負(fù)面詞所以判定為 positive分?jǐn)?shù)是 10。再測(cè)試一條負(fù)面記錄curl -X POST http://127.0.0.1:8000/records \ -H Content-Type: application/json \ -d {user_id: 1, content: 她說最近總是失眠工作壓力很大。, remark: 日常記錄}返回結(jié)果里 mood_type 應(yīng)該是 negativemood_score 偏低keywords 至少包含“失眠”“壓力”。這說明情感分析接口能區(qū)分正向和負(fù)向表達(dá)。情感趨勢(shì)接口能把一段時(shí)間內(nèi)的記錄聚合成折線數(shù)據(jù)。請(qǐng)求curl http://127.0.0.1:8000/users/1/mood_trend返回按日期分組的平均 mood_score。這個(gè)接口適合后續(xù)做一個(gè)小型 Web 看板用來觀察記錄對(duì)象的情緒變化。祝福生成接口測(cè)試curl -X POST http://127.0.0.1:8000/blessing \ -H Content-Type: application/json \ -d {name: 媽媽, scenario: daily, relationship: parent}預(yù)期返回{ scenario: daily, message: 媽媽今天有沒有按時(shí)吃飯稍微停下來歇一會(huì)兒別讓自己太累。 }如果返回的是英文或者亂碼檢查終端編碼。在 Windows 的 PowerShell 里發(fā)送中文 JSON 可能會(huì)出現(xiàn)編碼問題更穩(wěn)妥的辦法是用 Python 腳本調(diào)用接口或者把 JSON 寫入文件再通過 curl 的 --data file 方式發(fā)送。6. 接口 API 調(diào)用示例接口跑通后可以把服務(wù)接到自己的腳本里。下面是 Python 調(diào)用示例適合在本地批量錄入數(shù)據(jù)和生成文案。import requests BASE http://127.0.0.1:8000 # 創(chuàng)建用戶 user requests.post( f{BASE}/users, json{ name: 媽媽, relationship: parent, birthday: 1965-08-20, anniversary_date: None, }, ).json() print(user) # 添加一條情感記錄 record requests.post( f{BASE}/records, json{ user_id: user[user_id], content: 今天陪媽媽復(fù)查醫(yī)生說恢復(fù)得很好她特別開心。, remark: 復(fù)查日, }, ).json() print(record) # 生成祝福文案 blessing requests.post( f{BASE}/blessing, json{ name: 媽媽, scenario: daily, relationship: parent, }, ).json() print(blessing[message])如果只需要生成文案不一定要先創(chuàng)建用戶。祝福接口只依賴 name、scenario、relationship 三個(gè)字段可以直接使用。批量生成祝福文案時(shí)建議把名單放到一個(gè) JSON 文件里例如 people.json[ {name: 爸爸, relationship: parent, scenario: birthday}, {name: 伴侶, relationship: partner, scenario: anniversary}, {name: 朋友, relationship: friend, scenario: daily} ]再寫一個(gè)批量腳本 scripts/send_blessing.pyimport argparse import json import requests BASE http://127.0.0.1:8000 def load_people(path): with open(path, encodingutf-8) as f: return json.load(f) def batch_generate(people): results [] for person in people: response requests.post( f{BASE}/blessing, json{ name: person[name], scenario: person.get(scenario, daily), relationship: person.get(relationship, default), }, timeout10, ) data response.json() results.append( { name: person[name], message: data[message], } ) return results if __name__ __main__: parser argparse.ArgumentParser(description批量生成祝福文案) parser.add_argument(--people, defaultpeople.json, help名單文件) parser.add_argument(--output, defaultblessing_output.json, help輸出文件) args parser.parse_args() people load_people(args.people) results batch_generate(people) with open(args.output, w, encodingutf-8) as f: json.dump(results, f, ensure_asciiFalse, indent2) print(f已生成 {len(results)} 條文案輸出到 {args.output})運(yùn)行命令python scripts/send_blessing.py --people people.json --output blessing_output.json運(yùn)行后打開 blessing_output.json應(yīng)該能看到三條已經(jīng)填充好人名的祝福文案。這樣即使一次要寫幾十個(gè)人的祝福也只需要維護(hù)一份名單文件剩下的事情交給腳本。批量腳本有一個(gè)明顯的優(yōu)點(diǎn)它只依賴 /blessing 接口改動(dòng)模板時(shí)不需要重新學(xué)腳本。缺點(diǎn)是如果服務(wù)沒有啟動(dòng)所有請(qǐng)求都會(huì)失敗所以腳本里需要增加超時(shí)和異常處理。更完整的版本可以加日志記錄把失敗的用戶單獨(dú)輸出到一個(gè) retry.json 文件方便二次重跑。7. 定時(shí)提醒與批量任務(wù)擴(kuò)展只記錄數(shù)據(jù)和生成文案還不夠真正讓“你的幸福就是我最大的幸?!甭涞氐氖嵌〞r(shí)提醒。APScheduler 可以放在服務(wù)里每隔一段時(shí)間掃描一次數(shù)據(jù)庫把當(dāng)天需要提醒的人物找出來寫入隊(duì)列文件。scheduler.py 實(shí)現(xiàn)定時(shí)掃描邏輯import json import os from datetime import datetime from apscheduler.schedulers.background import BackgroundScheduler from config import DATA_DIR from database import get_connection QUEUE_FILE os.path.join(DATA_DIR, remind_queue.json) def scan_reminders(): today datetime.now().strftime(%m-%d) conn get_connection() rows conn.execute( SELECT u.id, u.name, u.relationship, u.birthday, u.anniversary_date FROM users u WHERE (substr(u.birthday, 6) ?) OR (substr(u.anniversary_date, 6) ?) , (today, today), ).fetchall() pending [] for row in rows: user dict(row) if user[birthday] and user[birthday][5:] today: task_type birthday elif user[anniversary_date] and user[anniversary_date][5:] today: task_type anniversary else: continue pending.append( { user_id: user[id], name: user[name], task_type: task_type, date: datetime.now().strftime(%Y-%m-%d), } ) conn.close() os.makedirs(DATA_DIR, exist_okTrue) with open(QUEUE_FILE, w, encodingutf-8) as f: json.dump(pending, f, ensure_asciiFalse, indent2) if pending: print(f[reminder] 檢測(cè)到 {len(pending)} 條應(yīng)提醒事項(xiàng)) else: print([reminder] 今天沒有匹配的日期) def start_scheduler(): scheduler BackgroundScheduler() scheduler.add_job(scan_reminders, interval, minutes1, idscan_reminders) scheduler.start() print([scheduler] 定時(shí)任務(wù)已啟動(dòng)每 1 分鐘掃描一次) return scheduler這個(gè)邏輯的核心是把日期字符串的“MM-DD”部分和今天的“MM-DD”比較。birthday 如果傳的是 “1965-08-20”substr(birthday, 6) 得到 “08-20”和今天的 “08-20” 匹配就說明今天是這個(gè)人的生日。定時(shí)任務(wù)不建議通過接口啟動(dòng)因?yàn)?uvicorn 開啟 --reload 時(shí)可能重復(fù)啟動(dòng)多個(gè)調(diào)度器。更穩(wěn)妥的做法是把定時(shí)任務(wù)獨(dú)立成一個(gè)進(jìn)程。在 scripts 下新建 run_scheduler.pyimport sys import threading from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) from scheduler import start_scheduler if __name__ __main__: scheduler start_scheduler() print(按 CtrlC 退出) try: threading.Event().wait() except KeyboardInterrupt: scheduler.shutdown()運(yùn)行python scripts/run_scheduler.py默認(rèn)情況下掃描結(jié)果寫到 data/remind_queue.json。實(shí)際使用中你可以在 scan_reminders 函數(shù)末尾追加真實(shí)的推送通道比如發(fā)送郵件、調(diào)用企業(yè)微信群機(jī)器人、寫入自己的待辦應(yīng)用。推送通道需要單獨(dú)申請(qǐng)權(quán)限因此這套項(xiàng)目先統(tǒng)一走 JSON 文件方便你自己對(duì)接。批量任務(wù)可以分為兩種。一種是周期性批量生成文案用第 6 節(jié)的 send_blessing.py 就能實(shí)現(xiàn)。另一種是批量發(fā)送提醒需要你把發(fā)送狀態(tài)回寫到數(shù)據(jù)庫的 remind_tasks 表里至少增加一個(gè) processed 字段避免每次掃描都重復(fù)發(fā)送同一條消息。這是從示例走向生產(chǎn)環(huán)境必須補(bǔ)上的細(xì)節(jié)。8. 資源占用與性能觀察這個(gè)項(xiàng)目的基礎(chǔ)版本沒有任何深度學(xué)習(xí)模型資源占用很低。啟動(dòng) uvicorn 和 APScheduler 后主要消耗來自 Python 進(jìn)程本身。普通辦公電腦上內(nèi)存占用通常在幾十 MB 到一兩百 MB 區(qū)間具體數(shù)值會(huì)因 Python 版本和已安裝依賴不同而有差異。CPU 占用在沒有請(qǐng)求時(shí)接近 0每隔一分鐘的定時(shí)掃描任務(wù)也只需要執(zhí)行幾條 SQLite 查詢和少量字符串比較。顯存占用在這個(gè)項(xiàng)目里是可選項(xiàng)。如果你只使用情感詞典和模板生成整個(gè)過程完全不需要 GPU。后續(xù)如果需要更準(zhǔn)確的情感語義分析可以在 analyzer.py 中改為調(diào)用本地部署的開源情感分類模型或本地大模型這時(shí)才需要關(guān)注顯存。顯存占用取決于你接的模型參數(shù)量、輸入文本長度和推理框架沒有統(tǒng)一數(shù)字必須按本機(jī)實(shí)測(cè)為準(zhǔn)。觀察資源占用有三種方式。第一Windows 任務(wù)管理器里看 python 進(jìn)程的 CPU 和內(nèi)存。第二Linux 下使用 top 或 htop 查看。第三如果接入了本地 GPU 模型使用 nvidia-smi 觀察當(dāng)前進(jìn)程的顯存占用。nvidia-smi批量任務(wù)對(duì)性能的影響要分開看。批量生成祝福文案時(shí)瓶頸一般在模板引擎和 JSON 序列化數(shù)千條文案也是秒級(jí)完成。批量寫入情感記錄時(shí)瓶頸可能出現(xiàn)在 SQLite 寫入頻率上建議批量插入時(shí)使用事務(wù)而不是逐條提交。另外定時(shí)掃描任務(wù)如果間隔太短并且掃描邏輯里加了外部推送就要考慮推送通道的頻率限制避免被平臺(tái)當(dāng)成垃圾請(qǐng)求。內(nèi)存泄漏和端口殘留是本地服務(wù)最常見的兩個(gè)問題。開發(fā)調(diào)試時(shí)uvicorn 進(jìn)程沒有正常退出再次啟動(dòng)就會(huì)提示端口被占用。遇到這種情況先找到占用端口的進(jìn)程并終止再重新啟動(dòng)服務(wù)。# Windows netstat -aon | findstr :8000 taskkill /PID 進(jìn)程號(hào) /F # Linux / macOS lsof -i :8000 kill -9 進(jìn)程號(hào)9. 常見問題與排查方法本地部署這個(gè)流程不長但會(huì)遇到一些典型問題。整理成表格方便直接對(duì)照。問題現(xiàn)象可能原因排查方式解決方案啟動(dòng)時(shí)提示端口被占用8000 端口被其他進(jìn)程使用netstat 或 lsof 查看端口占用關(guān)閉占用進(jìn)程或修改 config.py 里的 PORTuvicorn 命令找不到?jīng)]有激活虛擬環(huán)境或依賴未安裝檢查命令行前是否出現(xiàn) venv 前綴激活虛擬環(huán)境后重新安裝 requirements.txt運(yùn)行時(shí)提示 sqlite3.OperationalError: database is locked多個(gè)進(jìn)程同時(shí)寫入數(shù)據(jù)庫檢查是否有多個(gè) API 進(jìn)程或調(diào)度器進(jìn)程關(guān)掉重復(fù)進(jìn)程使用 WAL 模式避免多進(jìn)程寫同一個(gè) SQLite 文件中文返回亂碼Windows 終端編碼不是 UTF-8在 Swagger 頁面看響應(yīng)體是否正常使用 Python 腳本調(diào)用或把 JSON 寫入文件再讀取情感分析結(jié)果全部為 neutral文本中未命中情感詞典詞匯打印 keywords 字段擴(kuò)充 POSITIVE_WORDS 和 NEGATIVE_WORDS或者接入更強(qiáng)模型定時(shí)任務(wù)一直沒有輸出APScheduler 未啟動(dòng)或用戶日期格式不對(duì)確認(rèn) run_scheduler.py 是否在運(yùn)行檢查 users 表中日期格式統(tǒng)一日期為 YYYY-MM-DD確認(rèn)掃描進(jìn)程已啟動(dòng)POST /records 返回 422JSON 字段名稱或類型不匹配查看響應(yīng)中的 detail 錯(cuò)誤信息按 Pydantic 模型傳字段user_id 必須為數(shù)字調(diào)用 /docs 無法打開服務(wù)未啟動(dòng)或?yàn)g覽器代理異常檢查后臺(tái)進(jìn)程和訪問地址確認(rèn) uvicorn 啟動(dòng)成功訪問 127.0.0.1 而不是遠(yuǎn)程地址重啟后數(shù)據(jù)丟失data 目錄未生成或數(shù)據(jù)庫路徑錯(cuò)誤檢查 data/happiness.db 是否存在確認(rèn) config.py 中 DATA_DIR 路徑正確如果接口報(bào) 422通常是請(qǐng)求 JSON 和 Pydantic 模型字段不一致。比如 RecordCreate 要求的是 user_id 和 content你卻傳了 userId 和 text校驗(yàn)直接失敗。先看 Swagger 文檔中的請(qǐng)求示例再對(duì)比自己的請(qǐng)求體。情感分析部分最容易讓使用者誤判。當(dāng)前默認(rèn)的情感詞典只有十幾個(gè)詞不可能覆蓋復(fù)雜的中文表達(dá)。比如“雖然很累但是看到他就踏實(shí)了”這句話可能同時(shí)命中“累”和“踏實(shí)”需要靠情緒分?jǐn)?shù)加權(quán)判斷。更準(zhǔn)確的做法是把 analyzer.py 里的邏輯替換成語義模型而不是繼續(xù)堆關(guān)鍵詞。10. 最佳實(shí)踐、合規(guī)建議與下一步第一次運(yùn)行時(shí)不要急著錄入大量數(shù)據(jù)。先創(chuàng)建 1 到 2 個(gè)測(cè)試用戶分別插入正向和負(fù)向情感記錄確認(rèn)情感分析、祝福生成、定時(shí)掃描三個(gè)主鏈路都正常再開始正式使用。數(shù)據(jù)備份要養(yǎng)成習(xí)慣。SQLite 只有一個(gè)文件直接復(fù)制 data/happiness.db 就能備份。本地服務(wù)沒有自動(dòng)備份機(jī)制建議手動(dòng)備份或者寫一個(gè)簡單的定時(shí)復(fù)制腳本。敏感數(shù)據(jù)不要放到公開倉庫尤其是包含真實(shí)姓名、出生日期、關(guān)系標(biāo)簽的數(shù)據(jù)庫文件。合規(guī)層面控制三點(diǎn)。第一只在獲得當(dāng)事人知情同意后記錄信息不要把工具變成暗中監(jiān)視他人情緒的手段。第二推送消息要控制頻率和措辭避免給對(duì)方造成打擾。如果對(duì)方明確表示不需要應(yīng)該允許關(guān)閉對(duì)該用戶的提醒。第三這個(gè)項(xiàng)目不適合用來做心理狀態(tài)診斷。情感分析只是輔助真實(shí)的關(guān)系維護(hù)仍然需要面對(duì)面溝通。下一步的擴(kuò)展方向比較明確。第一把模板引擎升級(jí)為支持多個(gè)模板隨機(jī)選擇避免每次都發(fā)一模一樣的文案。第二給 analyzer.py 接入本地情感分類模型提高語義判斷能力。第三把數(shù)據(jù)從 SQLite 換成 PostgreSQL增加用戶鑒權(quán)和多端訪問就能從個(gè)人工具升級(jí)成一個(gè)小型家庭服務(wù)。第四增加 Web 看板把情緒趨勢(shì)用圖表展示出來讓記錄變得可視化。第五設(shè)計(jì)發(fā)送確認(rèn)機(jī)制在 send_blessing.py 里加入“已發(fā)送”狀態(tài)防止同一批人重復(fù)收到祝福。如果你也想做一套“幸福守護(hù)”小服務(wù)建議從今天的項(xiàng)目結(jié)構(gòu)開始先跑通 FastAPI 接口再加入定時(shí)任務(wù)最后逐步增強(qiáng)分析和推送能力。代碼不復(fù)雜但至少能把你的關(guān)心從“心里惦記”變成一條準(zhǔn)時(shí)的消息。你的幸福就是我最大的幸福這句話放到代碼里就是一張人物表、一套情感分析規(guī)則、一批定時(shí)任務(wù)以及一條不遲到的祝福。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天射美女| 97久久人人| 92久久久| 国产亚洲精品久久久久久郑州| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 少妇AB又爽又紧无码网站| 五月丁香六月香综合激情| 综合色婷婷| 天天插天天干| 狠狠插狠狠操| 欧美三级欧美一级| 色五月亚洲| 色婷婷色五月另类综合| 亚洲成人免费电影| 久操干| 26UUU精品一区二区| 五月天性色| 婷婷五月丁香综合激情| 亚洲无码黄色| 麻豆精品| 四川操逼站| 操99| 婷婷五月天综合网| 色五月激情网| 一本大道嫩草AV无码专区| 97性视频| 丁香久久久| 草综合网| 欧美色五月| 91人人操人人爱| 婷婷五月天激情综合深爱| 久久久久久久97| 五月天婷婷基地| 伊人五月综合网| 亚洲AAAA网| 日韩精品超碰在线观看| 在线不卡中文字幕| 97人妻碰碰碰久久香蕉| 综激情网| 色综合色| 性爱AV天堂| 狠狠情色| 国产精品18久久久| www.久久66| 五月天日日操夜夜操| 久久精品国产AV一区二区三区 | 婷婷色婷婷| 婷婷伊人网| 大香蕉久久久| 欧美日朝成人| 天天舔天天插天天爱| 日韩高清久久| 丁香五月婷婷激情网| 激情婷婷五月天伊人在线观看| 成人国产欧美大片一区| 欧美精品在线观看| 丁香五月激情啪啪啪| 精国产品一区二区三区A片| 久9视频| 亚洲综合在线播放| 日韩aaaaa| www狠狠| 日本色图综合| 成人做爰A片免费看视频| 色色婷婷丁香| 丁香五月天啪啪| 欧美一级操逼视频| 色五月婷婷av| 少妇人妻偷人精品无码视频新浪| 成人在线观看精品| 高清国产AV| 碰碰碰91| 欧日韩AV| 激情五月婷婷丁香| 激情五月天影院| 九九热最新视频| 操碰久| 九九RE视频在线精品| 五月婷婷综合视频| 成人 AV播放| 亚洲九区| 免费超碰在线观看| 亚洲av综合网| 91精品综合久久久久久五月丁香 | 大香蕉啪啪网| 黄色激情网站在线观看| 九九aV| 亚洲va日| 国产va视频| www.黄色片-久久成人国产精品在线播放-999AV | 狠狠色 综合色区| 婷婷va| 二色AV| 强辱丰满人妻HD中文字幕| 最新无毒无码AV| yiqicaoav| 99碰网站| 欧美日韩AAAA| 国产精品激情AV久久久青桔| 五月丁香激情综合网| 人人射av| 亚洲操B| AV中文网| 激情q青青草在线婷婷| 丁香花五月天| 激情综合网五月激情| 亚洲欧洲中文日韩久久AV乱码| 日本A片一区| 日本欧美国产| 热99在线| 亚洲天堂婷婷| 狠狠色婷婷丁香六月| 丁香六月婷婷一区二区三区| 狠狠精品干练久久久无码中文字幕| 狠狠色丁香久久综合婷婷亚洲成人福利| 亚洲无码另类| 色婷六月| 热久久色| 国产日韩欧美| 色色五月综合| 六月丁AV| 无码字幕中文| 五月天婷婷激情小说| 色五月偷偷| 欧美色片中文字幕久久久久| 天天做天天爰天天爽天天无遮挡| 日本五月婷婷| 五月天激情四射| 开心五月天激情网站| 日韩aaa| 久久视频这里都是精品| www免费在线视频| 五月婷婷五月丁香| 日本久久婷婷| 天天操夜夜橾| 少妇人妻偷人精品无码视频新浪| 色色丁香| 亚洲中文字幕网| 丁香五月天堂网| 欧美色五月| www.精品久9| 激情五月五月五月婷婷| 丁香婷婷九月在线| 五月天婷网| 久久五月视频| 日韩成人网站精品久久大全| 人妻丰满精品一区二区A片| 亚洲综合视频网| 婷婷色正月| 国产AV熟妇人震精品一品二区 | 亚洲成人AV在线| 色五月丁香伊人| 色色99| 色色无码日韩| 无码少妇高潮喷水A片免费| 丁香婷婷人妻| 嫩草AV久久伊人妇女超级A| 日韩婷婷五月| 国产精品久久久爽爽爽麻豆色哟哟 | 丁香婷婷AV| 人妻videos人妻高清| 九九色热| 这里只有精彩亚洲视频推荐| 色吧婷婷| 99视频在线| 久婷| 婷婷在线五月天观看| 激情综合一| 婷婷五月天成人五月天| 国产伦亲子伦亲子视频观看| 五月丁香六月婷婷无码| www,色婷婷| www久久久久久久97| 婷婷久久大香蕉| 婷婷色女| 五月婷婷色在线| 五月在在观看| 久草婷婷视频| 9l视频自拍九色9l视频自拍九色9l社区 | 五月激情婷婷在线| 久久大香蕉| 国产精品色| 成人狠狠成人狠狠成人狠狠成人狠狠| 国产第99页| 久久亚洲无码| 欧洲激情五月天| 无毒黄色网址| 97人人干| 成人五月天视频播放| 丁香六月婷婷开心婷婷网| 六月丁香色色| 国色天香伊人狠狠色| www.韩日视频| 亚洲色五月婷婷| 婷婷五月激情片| 色婷婷亚洲综合网站| 色色综合网络| 激情综合五月| 直接看的AV| 一区二区成人电影| 日本美女97在线视频| 久草A片| 六月丁香影院| 色啪综合| 国产精品视频网| 亚洲性受XXXX五月丁香| 色色色色色色97| 影音先锋91资源站| 婷婷丁香五另类网站| 丁香五月性| 激情综合激情综合| 99这里只有免费的小视频在线观看| 中文字幕欧美日韩VA免费视频| 操丝袜视频影院导航| 久久激情五月网| 欧美性久| 99人妻碰碰碰久久久久视| 热中文字幕| 91大操| 夜夜久久综合网| 天天日天天狠狠操| 久久久久激情| 2022人人操人人看| 9 7总站超级碰免费视频| EEUSS鲁片一区二区三区| 免费视频舔| 日本在线观看91| 婷婷六月激情| 五月天综合久久| 欧洲亚洲激情五月天在线| 五月丁香婷婷基地| 色综合丁香| 免费观看的AV| 激情校园 亚洲| 五月婷在线影院| 婷婷99视频全集高清| 新97人人上人人| 亚洲色模骚货| 亚洲色情网站| 欧美色五月天| 婷婷色成人| 亚洲舔观看| 五月丁香花激情综合网| 99热欧美偷拍| 久草a片| 超碰一区二区| 九九性爱网| 欧美综合在线五月天色婷婷| 色婷婷丁香五月观看| 欧美在线看| 韩国久久少妇视屏| 欧美成人在线观看| 成熟妇人A片免费看网站| 亚洲色综合| 激情五月天婷婷五月天| 热99在线精品| 丁香五月中文字幕| 九九AV| 亚洲人人操| 婷婷开心久久| 天天日夜夜曹| 碰97久久| 五月天婷婷色综合| 五月天色色色| 久久久婷婷五月天| 99caobi| 色色色色色九九九九九| 色色色色色日韩午夜激情 | 很很色丁香久久停停| 婷婷激情五月呦呦| 亚洲国产黄色电影| 99久久精品国产色欲| 丁香五月最新网址| 91日本在线| 日本久久高清| caobi四区| 五月天六月天| 六月色播| 狠狠干狠狠色| 99热国内| 四季8848精品成人免费网站| 九九久久久综合| 九九九九九九热| 五月天小说激情| 国产在线网址1| 婷婷五月综合基地| 九九色中文| 国产毛片欧美毛片久久久| 色婷婷成人久久| 性爱技巧五月| 9久久久久| 日韩色色网| 五月在在观看| www.99热| 全部老头和老太XXXXX| 婷婷五月色综合香五月| 182TV亚洲| 亚洲综合字幕色色| 色婷婷狠狠干芒果TV| 夜夜撸日日操| 人妻丰满精品一区二区A片| 91久女| 午夜丁香 婷婷| 丁香九月激情| 五月天伊人综合| 99精品一二三四视频| 丁香激情五月| 中文字幕黄色电影网址| 99热这只有| 日日狠狠久久偷偷四色综合免费| 日日天天干| 中国女人做爰A片| 久久久27操| 丁香五月天欧洲在线| 久久96热| 丁香五月激情五月| 色情五月天。| 久久人妻在线| 成人综合网站| 色狠狠综合| 色99欧洲色19| 丁香五月综合| 大香蕉网站,大香蕉综合| 丁香六月婷婷高清| www.91色| 亚洲综合视频在线| 开心五月婷婷婷美女| 久久久久久久人妻| 欧美天堂久久| 天天综合网在线| 一起草av| 五月婷婷色色| 97碰久久| 六月丁香中文字幕| 噜噜狠狠色综无码久久合欧美| 亚洲色婷婷五月天| 久久婷婷网| 色婷婷裸体色性在线| 99热精品免费| 婷婷,五月天,丁香,第一| 强伦轩人妻一区二区电影| 天天干,天天日| 婷婷无码视频| 婷婷99视频精品| 月丁香久久久| 97色色色色色| 中文字幕人妻一区二区| 深爱激情五月天婷婷网| 99精品成人无码A片观看金桔| 中文字幕在线免费| 五月丁香| 激情五月天无人视频在线| 五月色综合| 久久综合干| 五月丁香亭亭| a在线免费v| www.狠狠艹| 国产资源91在线| 天天操人人干| 久久性操| 婷婷五月天黄色| 99熟女| www色婷婷久久综合久色 | 五月丁香六月婷婷激情视频在线观看免费 | 99热只有国产在线精品| 久久婷综合| 狠狠噪| 六月婷婷激情| 五月天com| 久久98| 99久久精彩视频| 天天综合.com| 狠狠操狠狠操AV| 婷婷伊人綜合中文| 色大综合| 五月婷婷综合在线| 91久久精品无码一区二区三区| 五月天婷婷激情六月久久| 国产成人综合亚洲| 99热都是精品| 99久精品视频| 丁香六月久久| 久久九九Com| 日韩另类| 亚洲va成人va成人va在线观看| 婷婷之六月丁香| 99热播放| 免费播放片大片| 五月天激情中文字幕| 丁香六月婷婷综合激情欧美| 操人精品| www,色色色网站| 免费观看全黄做爰的视频| 久久五月激情综合| 97碰人人操| ztEJj| 99ri国产| 天天色视频| 丁香五月综合激情性爱| 人妻久久人妻久久第一区| 婷婷丁香中文字幕| 中文字幕永久免费| 亚洲色小说在线综合| 久久精品99| 91丨九色丨熟女丰满| 俺也高清无码高清视频| 开心色色五月天综合| 亚洲精品操一操、噜一噜、摸一摸、爽 | 日日夜夜噜噜爽爽| 欧美性爱一区| 久久se 综合网| 99热精品在线观看| 婷婷五月成人| 日本高清久久| 五月丁香啪啪啪| 色婷婷亚洲| 丁香婷婷色| 99久在线精品99re5热视频| 另类五月激情| 婷婷综合在线视频| 成人片在线播放| AV成人在线播放| www久久久久久| 噜噜色噜噜网| 99人人操| 在线色色| 79亚洲精品少妇| 丁香五月av| 五月丁香六月欧美综合| 激情图片亚洲| 五月婷婷免费看| 五月九九综合| 五月天婷婷丁香| 亚洲精品中文字幕成人片| 婷婷五月天综合在线| 五月丁香久久婷| 五月婷婷性爱| 婷婷五月天影院| 国产中文亚洲欧美日韩性交| 图片区 小说区 区 亚洲五月| 天天爱天天做天天日| 色五月婷婷老师| 91色噜噜狠狠狠狠色综合| 99热综合| 久久丝丝热| 99热这里只有精品55| 婷婷五月天狠狠| 免费观看的av| 久久婷婷五月综合精品蜜芽| 色都都狠狠色都都色综合色| 思思久久99热只有频精品66| 超碰A V在线| 色色综合日韩| 思思热精品在线| 五月丁香九九| 亚洲综合视频在线| 日本色频| 在线免费视频caop| 六月丁香婷婷综合在线| 色欲九区| 中国女人做爰A片| 人人人va亚洲视频在线| 六月大香蕉| 91丨九色丨白浆| 99久久久国产大片区| 欧美色五月| 五月丁香网站在线播放| 国产婷婷久久| 东京热免费视频| 天天爽夜夜爽天天爽夜夜爽| 久久婷网| 五月婷婷爽爽爽| 天天做好综合色| 91精产品自偷自偷综合| 69精品人人人人| 婷婷五月天亚洲综合| 色综合色色色色| 激情小说视频图片| 亚洲日日操| 丁香婷婷伊人| 少妇婷婷五月天| 婷婷五月天激情小说| 韩国情人在线电视剧免费观看高清版全集| 丁香婷婷六月| 五月天社区| 久香草视频在线观看| 丁香六月av| 综合色色色| 天天影视色综合网| 激情网战码亚洲A| 亚洲无码猫咪| 97色色婷婷| 可以免费观看的av| 呦呦v线| 在线资源av-超碰中文在线-成人AV| 色优久久| 97操碰在线视频| 婷婷狠狠久久| 久久精品99久久久久久久久| 天天日天天操心| 久久久WWW| 五月天久久色| 亚洲色婷婷| 99re思思热久久| 久久机热这里只有精品免费视频| 狠狠色丁香婷婷五月| 婷婷在线视频| 五月丁香综合激情网| 五月在线婷色| 99久久久久久| 国产在线视频1234| 精品人妻午夜一区二区三区四区| 99ri国产在线| 亚洲中文乱字字幕在线永久| 婷婷激情鹿城五月天| 中美月韩免费A片| 东京热五月婷婷| 丁香五月婷婷啪啪| 人妻久久久久久| 天天干天天 亚洲| 久久婷婷五月天激情新地址| 人人97操| 久超免费视频| 日韩av手机在线观看| 男人天堂99| 五月婷婷天天| 日屌日日操日日色| 欧美丁香五月天| 五月婷婷色播网| jiqingtaose五月天| 9热在线视频精品| 偷拍99在线视频观看| 久久婷婷欧美| 91色综合网| 色狠狠色狠狠| 久久九九大香蕉电院| 九九热视频网站| 婷婷黄色| 亚洲精品网站色视频| 991精品在线视频| 69人人操人人爽| 亚洲精品久久久无码| 五月天婷婷基地| 97香蕉久久超级碰碰高清版| 五月天开心网| 九九在线精点品| 丁香五月色欲| 五月天精品视频| 久久婷婷色综合| 狠狠草在线观看| 一区二区三区四区无码| 欧美婷婷精品激| 狠狠一日| 99五月香婷婷丁香在线视频| 黄网在线免费观| 亚洲V国产V欧美V久久久久久| 婷婷色综合| 99色色网| 欧美激情综合| 九九99九九精品免费 | 久9综合| 久久caop| 色色色综合色| 丁香蜜臀黄色婷婷五月天| 婷婷午夜综合| 久婷婷| 久热99| 色色综合色视频| 99色这里| 天天做天天干天天综合网| 日本色婷婷久久99精品91| 日韩成人网站精品久久大全| 欧美综合激情五月| 另类五月激情| 99视频自拍| 操骚货在线| 99免费在线视频| 91碰免费视频| www.9797国产| www.99在线| 亚洲人人96@| 五月深爱婷婷| 五月丁香五月婷婷在线观看| 亚洲综合在线视频| 屁股翘好撅高迎合跪趴| av在线不卡播放| 欧美精品999| 噜噜综合网| 婷婷五月激情在线| 色丁香五月| 五月激情六月宗合| 狠狠婷婷综合| 色婷婷五月色| 五月熟妇婷婷久久| 91超级碰在线| 99自拍视频在线| 亚洲激情久久| av在线不卡播放| 激情综合五月天| 日本精品。999| 天天天天天天噜| 成人短视频在线免费观看| 丁香六月五月天| 开心五月婷婷激情| 亚洲国产网址| 精品国产va久| 久久xxxx| 色综合射婷婷| 97福利视频| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 97人人干人人操| 丁香大香蕉| 欧美成人精品三区综合A片| 五月丁香婷婷伊人| 久久九九爽| 婷婷色Av| 久久与婷婷| 疯狂做受XXXX高潮A片| 狠狠综合| 亚洲亚洲人成综合网络| 97在线刺激| 五月丁香六月色婷婷| 丁香六月激情| 99玖玖视频| sS丁香五月婷婷| 人人干人人操人人摸| 日本乱子人伦在线视频| www久久艹| 五月天激情综合网站| 99这里只有精品| 国产古装妇女野外A片| 日韩一级A片黄色| 91精品国产综合久久密臀| 婷婷五月天综合网| 97操| 天天日,夜夜爽| 欧美精品99| 丁香五月天激情四射网络不好| www.av视频xx999.com| 五月天狠狠| 色吧网91| 五月婷婷天天色| 激情图片婷婷丁香五月| 九九爱精品网站| 婷婷久久婷婷色五月| av色色国产| 亚洲色图欧美色图日本视频| 就要去操亚洲成人精品五月天丁香婷婷| 97碰人人操| 狠狠色婷婷综合开心影视| 国产激情AV| 日韩淑女人妻luan伦激情精品一区二| 国产99久| 日韩精品色| 丁香在线视频| 久婷婷| 色欲影香| 五月开心网| 97人人干视频| 777丁香六月青青草婷婷综合久月| 变态另类9| 五月天激情黄色网址| 影音先锋 婷婷| AA丁香综合激情| 91丨九色丨丰满人妖| 色在线视频网2025| 182.t午在线观看| 大狠狠在线| 亚洲视频在线观看| 五五月丁香花激情综合网| 97人妻碰碰中文无码久热丝袜| 99ri精品在线| 色5月婷婷色| 亚洲久久日| 五月丁香啪啪| 九色无码| 伊人婷婷综合| 热中文字幕| 超碰狠狠操| 五月天久草| 99视频在线观看网址| 亚洲精品444久久久久久| 婷婷射婷婷舔| 久色大香蕉| 五月丁香六月综合激情无码软件亮点| 九色porny在线观看激情四射| 激情性五月天免费小说视频 | 伊人久热91| 五月丁香六月婷婷在线| 月色色综合婷婷网| 久色大| 香蕉视频91| 五月婷婷影| 99久久久国产大片区| 激情综合久久| 97色伦另类图片小说视频| 极品人妻VIDEOSSS人妻| 五月婷婷丁香av| 亚洲免费成人电影AV| 五月六月婷| 中文AV在线观看| 久久婷婷五月综合激情国产| 天天日天天添| 精品国产一区二区三区四区阿崩 | 五月丁香六月在线欧美| 免费看欧美成人A片无码 | 97色天堂| 亚洲第一色网站| 97超碰,人人舔,人人操,人人摸 | 狼友视频在线观看18| 99色色热| 日韩AC在线免费观看| 五月丁香在线观看| 超碰免费人人| 熟惀91九色在线| 日本色色色| 久久婷婷色综合| 亚洲激情av| 亚洲经典小视频| 92久久| 日产精品久久久久久久蜜臀| 播五月丁香三月婷婷| 伊人99热| 2050人人操免费工开爱| 色五月天丁香| 麻豆五月丁香婷婷| 欧洲毛片基地c区| 国产精品美女久久久久AV超清| 丁香婷婷成人网| 丁香九月久久| 丁香五月之久操视频| 伊人激情综合网| 五月丁香久久综合精品| 九九九九大香蕉| 亚洲色色色| 开心激情网在线| 婷婷色五月噜噜| 拍色综合| 亚洲色久| www.色九月| 久色姿源| 婷婷久久图片| 精品人妻午夜一区二区三区四区 | 久久婷婷五月综合精品蜜芽| 久久久com| 色欲资源网| 日本老女人黄页在线播放| 女同在线9| 亚洲色网址| 大地资源色婷婷视频在线| 日逼免费视频| 亚洲中文字幕AV| 色九九九综合| 99热免费在线| 久久总和99| 骚逼视频一区2区| 色墦五月丁香| 久久色天堂| 激情婷婷| 少妇被下春药玩弄A片| 99九九热视频| 五月婷婷欧美激情| 大香蕉AV电影在线| 欧美婷婷综合| 玖玖婷婷五月| 日韩精品二三区| 五月婷婷深爱六月| 色综合久久五月| 色婷婷久久天天性爱| 九九99视频精品| 伊人综合网站| 久久五月婷| 丁香在线视频| 亚洲欧美国产高清vA在线播放| 五月婷婷久久综合| 九九热色视频| 色欲丁香| 亚洲色图45p| 久久久高清| 俺来也狠狠| 亚洲综合五月天婷婷丁香| 五月婷婷三级| 狼人婷婷久久| 久久久免费精彩视频| 狠狠操性爱av| 一区二区三区四区无码| 亚洲开心激情网| 久99| 淫五月停停| 国精产品一区一区三区免费视频| av九九| 欧美色婷婷| 五月天色社区| 国产色色网址网站| 欧美日韩91| 性色婷婷| 色婷婷88| 婷婷五月天黄色网址| www.五月婷| 久久日曰| 大胆伊人久久| 97香蕉人人在线观看| 五月丁香婷婷钟和色图| 夜夜操加勒比| 亚洲婷婷激情888精品久| 天堂网亚洲色图| 国产精品成人网址| 婷婷六月香| WWW.五月com| 五月丁香婷婷伊人日韩| 欧美日韩一区二区三区四区| 99久久国产综合精品五月天喷水\| 九九综合九| 久久久一级AAA| 激情6月| 丁香婷婷婷| 亚洲色五月婷婷| Y11111111111少妇电影院| 亚洲狠狠终合停停终合| www.99.色| 九九热内射| 热996精品在线观看| av无码电影| 99热在线中文字幕| 久久婷婷五月综合色奶水99啪| 92久久| VA五月激情在线| 婷婷五月偷拍| 夜夜骑天天操| 亚洲国产99| 婷婷射综合| 这里只有精品免费| 丰满女老板BD高清A片| 婷婷五月天激情AV影院| 99精色| 五月天大香蕉AV| 精品久久婷婷| 婷婷综合欧美| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 欧美色久| 这里只有精品,日韩视频| 五月香蕉婷婷| 婷婷干五月综合在线播放| 激情五月天小说网| 婷婷色导航| 国产成人精品123区免费视频| 68热超碰在线| 婷婷色啪| 婷婷六月开心网| 五月婷六月| 婷婷色影院| 桃色五月婷婷| 一起草无码| 色色婷五月天| av狠狠操| 九九99免费理论| 最近中文字幕大全免费版在线| www.亚洲激情.com| 国产欧美第五十五页| 综合性视频99| 国产在线中文字幕| 美女久久婷婷| 九九Av| 开心五月婷婷99| 九九激情综合| 久久91久久精品久久| 99久久综合网| 五月之婷婷| 色婷婷丁香五月| 99综合成人视频在线观看| 精品色情一区二区三区四区| 五月丁香另类图片| 99re6在线视频精品免费| 免费AV在线网址| 99久久99热| 这里只有精品久久| 久久精品A片777777| 久久精品99久久久久久| www.com操| 97在线精品视频| 99色人| 人妻狠狠操| 五月丁香六月激情在线| 欧美交换配乱吟粗大25P| 亚洲人人操| 噜噜噜色噜噜| 婷婷综合五月天| 久久大香蕉同僚| 色色射| 日本精品人妻无码77777| 色狠狠色| 人人草人人看| 丁香五夜激情四射夜夜夜| 亚洲成人色五月天| 五月色综合| 婷婷va| 色婷五月天综合网| 午夜69成人做爰视频| 日本久久99| 亚洲综合另类| 激情婷婷护士激情| 色五月婷婷、老熟女| 色婷婷色五月天| 亚洲12p| 99久久九九| 97碰啪啪| 久久99免费视频网站| 丁香五月图片| 91人人爽久久涩噜噜噜| 亚洲99精品欧美一区| 无码四色色色| 亚洲激情综合| 免费观看2018www黄色操逼网站| 多精窝99在线视频| 91九色超碰正在播放| 色爱综合五月| 亚洲精品V天堂中文字幕| 在线看片av| 丁香五月电影| 天天综合五月| 五月天丁香成人| 人人舔人人色人人高潮| 婷婷激情五月天7| 五月亭大香蕉| 成人草榴视频| 天天射夜夜爽| 久久六月综合| 九九伊人网| 色五月天激情| 4399在线日本A片| 久综合| 亚洲乱码w在线观看| 五月色影院| 另类图片五月天激情| 情婷婷五月天| 日逼AV影音先锋男人资源站| 五月丁香六月激情狠狠| 国产毛片精品一区二区色欲黄A片| 久久停停超碰| 婷婷色五月激情| 最新日本A片| 亚洲中文av| 色八月婷婷| 91色色色18| 97人人射| av在线观看网站| 亚洲综合1024| 丁香五婷婷| 中文字幕在线资源| 99色干| 开心五月天私房婷婷| 激情性爱五月天| 丁香五月色| 亚洲精品久久久无码| 六月天六月婷| 人操人| 婷婷五月天情色| 99免费综合网| 午夜性做爰电影| 深爱激情网综合| 9久操| 久久性爱视频| 色频玖玖五月天| 久久婷婷六月综合国际| 婷婷丁香人妻天天久久| 色色色五月婷| 久久婷五月婷| 五月永久激情| 97操在线资源| 国产97色在线| 新久久五月天激情| www久久久久久久久久久久久久久久久| 成人精品99| 99热大香蕉| 日日日日日| 天天操天天操天天操天天操天天操天天操| 久久婷婷六月综合综合| 无码啪啪| 六月丁香激情最新更新| 亚洲成人在线观看网址| 五月婷丁香| 五月总合激情网| 日韩999| 殴美日韩成人| www.99视频| 五月婷婷亞洲中文| 99色色| 久草热久草在线视频| 五月婷婷激情久久| 婷婷的99视频网站| 国产熟妇乱子伦hd| 狠狠爱五月婷婷| 日日操夜夜操狠狠操| 91碰免费视频| 96精品久久久久久久久| 婷婷五月天激情偷拍| 久久ri精品| 中文字幕,综合,91| 九九久久五月天综合伊人| 丁香九月激情久久| 熟妇人妻中文字幕无码老熟妇 | 婷婷五月天成人基地| 九九色播五月丁香| 色色欧美色色色| 五月天天天色| 这里只有精品日韩精品| 婷婷大乡焦噜噜| 夫妇交换刺激做爰| 碰碰91| A网在线欧洲| 婷婷色五月婷婷姐妹| 伊人超碰在线| 蜜桃五月天| 色婷五月天综合网| 思思视频精品| 五月婷婷婷综合网| 狠狠干.com| 五月婷婷co.m| 在线天堂9| www.狠狠操| 午夜成人AV在线| 亚洲成人无码专区| 99视频| 操骚货在线| 欧美丁香六月激情视频| 九九热啪啪| 色色999三级片| 天天做夜夜爽| 激情五月天开心| 五月婷婷无码专区| 色欲丁香| 丁香天堂夜| 午夜成人av在线| 丁香六月欧美| 六月丁香色色| jizzdr| 五月噜噜| www久久艹| 五月天激情日色在线| 婷婷影院A成人| 日韩99色| 日比视频91| AA片在线观看视频在线播放| 色婷婷www| 成人综合视频在线| 色停停五月,在线观看| 婷婷激情丁五月| 日 日干 日日做| 色婷婷久久综合| 国产精品色婷婷久久久精品| 丁香六月在线综合| 午夜婷婷| 狠狠综合网| 婷婷五月天亚洲激情戏精品| www.99精品视频| 天堂网亚洲色图| 超碰在线免费观看日韩| 97人人干| 99热91| 婷婷成人视频| 丁香五月久久| 综合久久高清| 美国十月色婷婷在线观看| 日本色爽| 日本狠狠网| 六月婷婷在线| www.婷婷.com| 日韩AV大全| 99热777| 五月婷婷六月奇米网丁香| 六月天丁婷婷| 婷婷色色网| 青青草日本亚洲| 五月丁香欧美| 五月婷婷色播网| 任你爽视频| 99精品一二三四视频| 欧美日韩国产一区二区| 99伊人婷婷在线| 婷婷性爱综合| 色99免费视频中文| 91精品综合久久婷婷九色| 偷拍91九色| 久久久中文| 国产亚洲在线观看| 丁香五月婷婷六月婷婷| mmm1717.6dbm人人爱人人操| 亚洲99激情| 精品婷婷五月视| 成人va在线观看视频| 亚洲五月婷| 掩去也综合五月视频| 久久这里都是精品免费| 4438亚洲欧美| 站长推荐无码播放| 五月丁香啪啪婷婷| 久操操| 色婷丨日丨天丨综合久久| 色吧五月婷婷六月丁香| 爱的综合网| 色五月在线视频观看| 亚洲色网址| 热五月婷婷| 91精品综合久久久久久五月丁香| 丁香六月激情| 免费超碰在线观看| 99在线视频女女视频| 色天堂操| 99热99美国在线观看| 久久五月天婷婷视频| 五月天婷婷激情干干| 婷婷五月开心中文字幕在线| 五区毛片七区毛片| 91碰超| 综合网色| 夜色五月天| 久久婷婷婷| 精品一二三区视频立| WWW.开心五月天.COM| 久机视频这只有精品| 五月色色网| 99精品视频网| www.色五月| 久久狠婷婷| jiujiu热在线视频| 婷婷丁香五月六月激情| 色色婷婷丁香五月天| 久草热在线视频| 年轻的妺妺伦理HD中文| 啪啪操网| 91久久久久久久久久久| 九九九九九九九热| 五月丁香六月| 大香蕉五月天婷婷| 五月天啪啪网| 久久九九@| 欧美va精品va老师va| 99热99re6国产在线播放| 99色网站| 国产精品第一国产精品| 色欲色天天香综合| tingtingzonghewang| 久久色五月天| 黄色片久久| 色情五月天丁香社区| 国产精品色色色色| 五月丁香欧美综合| 欧洲电影在线观看免费版英语版| www.97碰碰com| 婷婷综合久久| 99热这里有精力| 欧美韩国日本| 色欧美影院| 99色视频在线观看| 婷婷五月天欧美| 免费黄色片子| 18久久| 狠狠色狠狠鲁| 亚洲色视频| 91在线操| 天天干天天操天天上| 五月天激情图片| 神马欧美精| 五月丁香色狠狠干大屄| 成人AV在线网站| 亚洲不卡123| 九九视频精品这里只有| 婷婷五月天亚洲综合| 91精品综合久久久久久五月丁香| www.99热精品| 五月天影院| 免费亚洲婷婷中文字幕| 黄色91在线观看| 思思久热6| 99热首页| 久久丁香五月| 婷婷五月天中文字幕| 成人综合网站| 日本色道视频网站| 99热在线只有精品| 密着浓厚中出乚交尾GvG935| 丁香五月婷婷久久久| 久久伊人9| 91干99| 97婷婷丁香五月| 99热久久这里只有精品| 五月婷婷激情性爱| 欧美成人色婷婷| 九九中文色色| 色婷婷综合五月| 婷婷激情图片| 天天狠狠婷婷在线| 激情AV在线| 婷婷色基地在线看| 99re思思热久久| 丁香五月花影院| 碰碰91| 国产67194| 九九热自拍| 婷婷色在线视频| 97性高潮久久久| 五月天中文网| 九月丁香婷婷基地| 91热er| 狠狠色成人影片| 91avse| 开心激情站| 七月激情六月婷婷综合在线播放| 五月天成人小说| 激情五月丁香婷婷| av 一区三区四区| 天堂成人A片永久免费网站| 99大香蕉| 99热亚洲精品| 日本在线视频播放91| 婷婷五月丁香五月综合网| 99精品九九| 这里只有精品免费视频在线观看| 久久精品国产精品| 啪啪啪五月天| 亚洲精品第一国产综合亚AV| 五月天堂在线| 久久婷婷免费| 成人丁香五月| av在线观看网址| 国产激情婷婷| www999日韩精品| 97操操操| 99成人网一区| 色婷婷激情| 婷婷五六月丁香| 日本va欧美va国产激情| 激情综合网五月天天| 99精品视频在线观看| 99久热这里有精品| 日本精品人妻无码77777| 五月婷人妻| 第五婷婷伊人丁香| 久久婷婷成人视频| jiZZdr| WWW·天天操·视频?| 黄桃AV无码免费一区二区三区| 婷婷精品在线| 大香蕉视频99| 婷婷五月六月| www狠狠| 色五月大香蕉| 人人干Av| 五月天婷婷色综合| 五月婷婷激情刺激| 五月丁香啪| 婷婷爱综合| 亚洲无码 图片区| 婷婷五月激情视频在线| 人妻AV在线观看| 免费观看欧美成人AA片爱我多深| 五月情婷婷五月| 蜜乳AV成人| 97久久久| 五月婷丁香花| 高清一区二区三区日本久| 久久久久久久久久人妻| 亚洲无码激情| 激情五月天丁香| 婷婷五月天亚洲综合| 天堂久久性|