亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

DeepSeek API圖像與文本分類調(diào)用實戰(zhàn):鑒權(quán)、上傳與排錯

DeepSeek API圖像與文本分類調(diào)用實戰(zhàn):鑒權(quán)、上傳與排錯 簡介這份面向具備Python基礎(chǔ)的開發(fā)者與AI集成團隊的實踐指南聚焦通過DeepSeek API完成圖像分類和文本分類的接入流程。壓縮包內(nèi)僅有1個docx文檔大小約17KB篇幅精煉便于快速查閱與隨項目歸檔。文檔圍繞requests發(fā)送HTTP請求、Pillow處理圖像、API密鑰鑒權(quán)、POST請求頭與請求體構(gòu)造展開并給出圖像上傳與文本分類兩套代碼示例同時說明成功響應(yīng)中標簽與置信度的解析方式以及無效密鑰、負載格式異常等常見錯誤的排查方向。已有2676人學習適合希望快速驗證云端機器學習服務(wù)、搭建分類應(yīng)用原型的中級開發(fā)者參考。其價值在于將接口準備、請求發(fā)送、結(jié)果處理與圖像尺寸預(yù)處理串成完整鏈路幫助讀者理解可復(fù)用的調(diào)用骨架并據(jù)官方文檔替換示例地址與參數(shù)減少接入初期的試錯成本。1. 從一次 401 說起這份調(diào)用指南真正解決的是鏈路問題第一次把 DeepSeek 的圖像分類接口接進項目報錯不是模型分錯而是 401——密鑰被拼進了 URL 而不是請求頭。這份《DeepSeek API 調(diào)用指南》解決的正是這類問題它不講模型結(jié)構(gòu)只講怎么用 requests 發(fā)出一個 HTTP 請求把一張圖或一段文字 POST 給云端機器學習服務(wù)再拿回 label 和 confidence 兩個字段。內(nèi)容覆蓋密鑰獲取、Pillow 裝環(huán)境、圖像上傳、文本分類復(fù)用同一套骨架以及狀態(tài)碼排查。適合已經(jīng)有 Python 基礎(chǔ)、手里有個原型要接分類能力的開發(fā)者如果你的場景是每天幾千張圖要打標或者一批文本要自動歸類跟著走一遍能跑通最小閉環(huán)。它也明確寫了端點只作示例真實地址要回查官方文檔這點比很多抄來抄去的教程靠譜。2. 請求鏈路拆開看Bearer 鑒權(quán)、multipart 上傳與 224×224 預(yù)處理把一次分類調(diào)用拆開其實只有四段拼請求頭、準備 body、發(fā)出去、解析回來。四段里出錯概率最高的是第二段因為圖像和文本的 body 形態(tài)完全不同一個是二進制表單一個是 JSON。選錯形態(tài)服務(wù)端要么返回 415要么解析出一堆亂碼。這一章先把鏈路上每個零件的形狀說清楚后面寫代碼才不會靠試。2.1 密鑰與請求頭Bearer 的三種寫法與唯一推薦API 密鑰在原料里被描述成「注冊登錄后拿到的一串字符串」它在 HTTP 層的角色就是身份憑證。常見做法是放進Authorization頭格式為Bearer key注意 Bearer 和 key 之間有一個空格少一個空格就是 401。有些人圖省事把 key 塞進 query 參數(shù)瀏覽器地址欄、Nginx access log、代理轉(zhuǎn)發(fā)記錄里都會留下明文等于把鑰匙貼在門上不建議。更穩(wěn)的習慣是從環(huán)境變量讀密鑰代碼里不出現(xiàn)字面量。下面這段用來做連通性自檢發(fā)一個輕量請求能拿到 200 就說明密鑰、網(wǎng)絡(luò)、DNS 三段都通再去調(diào)分類接口就不會把環(huán)境問題和業(yè)務(wù)問題混在一起排查。import os import requests # 密鑰從環(huán)境變量讀取不寫死在代碼和倉庫里 API_KEY os.environ[DEEPSEEK_API_KEY] headers { # Bearer 后面必須有一個空格這是最常見的 401 來源 Authorization: fBearer {API_KEY}, # JSON 請求體時手寫這一行上傳文件時千萬別手寫見 2.2 Content-Type: application/json, } # 端點僅作示例實際地址以官方文檔為準換成任意輕量接口即可做連通性自檢 PROBE_URL https://api.deepseek.com/v1/models try: resp requests.get(PROBE_URL, headersheaders, timeout(3.05, 10)) print(resp.status_code) # 只打印前 200 字符避免日志被大響應(yīng)撐爆 print(resp.text[:200]) except requests.RequestException as e: print(網(wǎng)絡(luò)層就失敗了先查 DNS / 出口 / 超時設(shè)置, e)邏輯說明先做一次 GET 自檢把「認證失敗」和「分類失敗」兩類問題隔離開。參數(shù)說明timeout(3.05, 10)是連接和讀取兩段超時連接段給 3 秒左右足夠覆蓋絕大多數(shù)機房到公網(wǎng)的首包時間讀取段按接口響應(yīng)速度給單寫一個數(shù)字的話requests 會把它同時當作兩段超時讀大響應(yīng)時容易誤殺。headers里的Content-Type在 GET 上其實可以不帶保留是為了讓這段代碼和后面的 POST 保持同一份頭字典。還有一種寫法是用requests的auth參數(shù)那是 HTTP Basic 認證用戶名密碼形式的和 Bearer Token 不是一回事套上去只會得到 401 或 403。這一點在原料里沒展開但它是新手最?;煜牡胤健?.2 圖像為什么必須走 files 而不是 json原料給的示例用files上傳圖像而不是把圖像塞進 JSON這個選擇不是隨意的。二進制數(shù)據(jù)進 JSON 必須先 base64 編碼體積會漲大約三分之一服務(wù)端還要多做一次解碼兩端都虧。業(yè)界常見三種上傳方式取舍如下方式體積開銷服務(wù)端處理成本適用場景multipart/form-datafiles幾乎無膨脹低流式解析單圖、小批量、原型驗證base64 塞進 JSON約 33%需要解碼內(nèi)存峰值高網(wǎng)關(guān)只允許 JSON 的受限環(huán)境先傳對象存儲再傳 URL無最低可異步批量任務(wù)、大圖、需要留檔原圖選 multipart 之后有一個必須知道的細節(jié)requests會在檢測到files參數(shù)時自動生成Content-Type: multipart/form-data; boundary----xxxx這個 boundary 是分隔各字段的隨機字符串。如果你在headers里手寫了一個不帶 boundary 的Content-Type: multipart/form-datarequests 就不會再補服務(wù)端拿不到分隔符直接把整個 body 當成一個字段解析結(jié)果通常是 400 或解析出空文件。所以上傳圖像時頭字典里只留Authorization。import requests def upload_once(image_bytes: bytes, api_key: str, url: str): # 三元組順序是字段名、文件名、MIME 類型缺一不可 files {image: (image.jpg, image_bytes, image/jpeg)} # 附加的表單字段都只能是字符串數(shù)字要自己 str() 轉(zhuǎn)換 data {top_k: 3} headers {Authorization: fBearer {api_key}} # 不要加 Content-Type return requests.post( url, headersheaders, filesfiles, datadata, timeout(3.05, 60), # 圖像推理比文本慢讀取超時給寬一點 )邏輯說明files的 value 用三元組而不是裸 bytes是為了讓服務(wù)端拿到正確的文件名和 MIME如果只傳{image: image_bytes}requests 會默認按application/octet-stream發(fā)部分服務(wù)端會因此拒絕。參數(shù)說明top_k這類字段在 multipart 里一律是字符串傳3會被 requests 編碼成3但如果你自己用data{top_k: 3}再手動拼 body就可能踩到類型錯誤讀取超時給到 60 秒是因為圖像接口往往要跑一次前向冷啟動時更慢。2.3 Pillow 預(yù)處理尺寸、色彩模式與字節(jié)流復(fù)用原料里提到「模型可能要求 224×224」這是個假設(shè)值真實尺寸必須回查文檔。但無論目標尺寸是多少預(yù)處理要做的事是固定的四件擺正方向、統(tǒng)一色彩模式、等比縮放加裁剪、控制編碼體積。方向這件事容易被忽略。手機拍的 JPEG 里帶 EXIF Orientation 標記Image.open讀出來是原始像素方向直接縮放再上傳模型看到的是躺倒的貓。ImageOps.exif_transpose會按標記旋轉(zhuǎn)并清掉這個標記是一行就能解決的血淚經(jīng)驗。色彩模式方面PNG 可能帶 alpha 通道灰度圖只有一個通道CMYK 的 JPEG 來自印刷物料這幾種直接送進只接受三通道 RGB 的模型都會報錯或得到詭異結(jié)果convert(RGB)統(tǒng)一掉。from PIL import Image, ImageOps import io def normalize_image(path: str, size(224, 224), quality: int 90) - bytes: with Image.open(path) as im: im ImageOps.exif_transpose(im) # 按 EXIF 擺正避免躺倒的貓 im im.convert(RGB) # 去 alpha、統(tǒng)一三通道 # fit 是等比縮放后居中裁剪resize 是硬拉伸后者會讓長圖變形 im ImageOps.fit(im, size, methodImage.BICUBIC) buf io.BytesIO() im.save(buf, formatJPEG, qualityquality, optimizeTrue) return buf.getvalue() # 直接拿 bytes不落盤邏輯說明整個函數(shù)在內(nèi)存里完成返回 bytes 直接喂給 2.2 的上傳函數(shù)省掉一次臨時文件讀寫批量跑的時候差別很明顯。參數(shù)說明size按文檔改不要照抄 224quality90是體積和畫質(zhì)的折中點壓到 75 以下在細粒度分類任務(wù)上會掉點optimizeTrue讓 Pillow 多花一點 CPU 換更小的文件對上傳耗時是正收益methodImage.BICUBIC比默認的最近鄰更適合縮小邊緣不會出現(xiàn)鋸齒。還有一個常被忽略的點Image.open是惰性的文件句柄會一直掛著批量處理幾千張時不關(guān)會撞到文件描述符上限。上面用with包住就是為了這個getvalue()必須在with塊內(nèi)調(diào)用出了塊對象就關(guān)了。3. 圖像分類調(diào)用的完整實現(xiàn)從讀文件到解析 label 與 confidence第二章把零件備齊了這一章組裝成能跑的東西。判斷一段調(diào)用代碼合不合格不看它能不能出結(jié)果看它在出錯時能不能告訴你錯在哪。所以下面的實現(xiàn)里超時、狀態(tài)碼分支、響應(yīng)結(jié)構(gòu)校驗三樣都要有缺一樣在批量場景里都會變成黑匣子。3.1 最小可運行腳本與逐行參數(shù)說明原料給的主干是requests.post(url, headersheaders, filesfiles)加一個status_code 200的分支。這個骨架是對的但少了三樣東西超時、非 200 分支的細分、JSON 解析的保護。網(wǎng)關(guān)返回 HTML 錯誤頁時response.json()會拋JSONDecodeError異常信息里看不到狀態(tài)碼排查時非常難受。import os import requests from requests import Response API_KEY os.environ[DEEPSEEK_API_KEY] # 端點僅作示例請以官方文檔為準 CLASSIFY_URL https://api.deepseek.com/v1/classify def classify_image(image_bytes: bytes, top_k: int 3) - dict: files {image: (image.jpg, image_bytes, image/jpeg)} data {top_k: str(top_k)} headers {Authorization: fBearer {API_KEY}} try: resp: Response requests.post( CLASSIFY_URL, headersheaders, filesfiles, datadata, timeout(3.05, 60), ) except requests.Timeout: return {ok: False, code: TIMEOUT, msg: 請求超時考慮降分辨率或加重試} except requests.RequestException as e: return {ok: False, code: NETWORK, msg: str(e)} if resp.status_code ! 200: # 保留狀態(tài)碼和響應(yīng)體前 500 字符足夠定位大多數(shù)問題 return { ok: False, code: resp.status_code, msg: resp.text[:500], } try: body resp.json() except ValueError: return {ok: False, code: BAD_JSON, msg: resp.text[:500]} # 原料里的響應(yīng)形如 {status:success,data:{label:...,confidence:...}} if body.get(status) ! success: return {ok: False, code: API_ERROR, msg: body.get(message, )} data_obj body.get(data) or {} return { ok: True, label: data_obj.get(label), confidence: float(data_obj.get(confidence) or 0.0), raw: body, }邏輯說明返回統(tǒng)一成{ok: bool}的字典調(diào)用方只需要判斷ok不用在每個業(yè)務(wù)點重復(fù)寫 try/except失敗分支帶上code日志里聚合一下就能看出是密鑰問題還是超時問題占多數(shù)。參數(shù)說明top_k轉(zhuǎn)成字符串是因為 multipart 表單字段只接受字符串超時元組里讀取段給 60 秒圖像推理冷啟動時可能十幾秒給太短會誤判成服務(wù)不可用float(... or 0.0)是防御式寫法萬一服務(wù)端返回字符串0.98也能轉(zhuǎn)換返回 null 時不會拋TypeError。提示原料里的響應(yīng)字段status、data.label、data.confidence是示例結(jié)構(gòu)接入前先用一次真實請求確認字段路徑再把這幾個 key 抽成模塊級常量別散落在業(yè)務(wù)代碼里。3.2 響應(yīng)結(jié)構(gòu)解析與置信度閾值的業(yè)務(wù)用法confidence這個字段很容易被誤用。它是模型對本次預(yù)測的打分不是「這張圖有 98% 概率是貓」這種校準過的概率跨類別、跨批次直接比大小并不嚴謹。但它作為分流信號是夠用的高分區(qū)自動落庫低分區(qū)轉(zhuǎn)人工復(fù)核中間灰區(qū)打標記后置處理。置信度區(qū)間處理策略說明≥ 0.90自動入庫抽檢 1% 做質(zhì)量監(jiān)控0.60 ~ 0.90入待復(fù)核隊列按天批量人工過一遍 0.60轉(zhuǎn)人工或丟棄重采往往是模糊圖、多主體圖或域外樣本def route(result: dict, high: float 0.90, low: float 0.60) - str: if not result.get(ok): return manual # 調(diào)用失敗一律進人工不要靜默丟數(shù)據(jù) conf result[confidence] if conf high: return auto if conf low: return review return manual邏輯說明把閾值寫成函數(shù)參數(shù)而不是硬編碼是因為不同類目的分布差別很大做一次小樣本標注就能把high和low調(diào)到位。參數(shù)說明high調(diào)高會減少誤判但增加人工量通常先從 0.90 起步low調(diào)低會讓灰區(qū)變窄適合人力緊張的團隊。這三個檔位建議先在歷史數(shù)據(jù)上跑一遍分布看灰區(qū)占比再定拍腦袋定閾值是后面返工的主要原因。3.3 批量與并發(fā)Session 復(fù)用、超時與重試單張調(diào)用跑通之后下一步一定是批量。批量場景里兩個改動收益最大復(fù)用連接、加受控重試。requests.post每次都是一次全新的 TCP 加 TLS 握手批量幾百張時握手開銷能占到總耗時的一半。用Session復(fù)用連接池配合HTTPAdapter設(shè)置池大小是標準做法。重試這塊有個真實的坑urllib3的Retry默認allowed_methods不包含 POST所以你不顯式配置的話POST 請求根本不會重試代碼看起來加了重試其實沒生效。反過來如果你把 POST 加進重試列表讀超時后重試又可能造成重復(fù)計費或重復(fù)入庫。折中做法是只對連接類錯誤和 429、5xx 重試讀超時不重試。import requests from requests.adapters import HTTPAdapter from urllib3.util.retry import Retry def build_session(pool_size: int 16) - requests.Session: session requests.Session() retry Retry( total3, connect3, # 只重試連接階段 read0, # 讀超時不重試避免重復(fù)計費 status3, # 429 / 5xx 重試 status_forcelist[429, 500, 502, 503, 504], allowed_methodsfrozenset([POST]), # 默認不含 POST必須顯式加 backoff_factor0.5, # 退避 0.5s、1s、2s raise_on_statusFalse, ) adapter HTTPAdapter(max_retriesretry, pool_connectionspool_size, pool_maxsizepool_size) session.mount(https://, adapter) return session邏輯說明connect和read分開配置是關(guān)鍵連接失敗重試是安全的讀超時重試則可能讓同一張圖被計費兩次。參數(shù)說明pool_maxsize要和你開的并發(fā)線程數(shù)匹配線程數(shù)大于池大小時多出來的線程會等待連接表現(xiàn)為「并發(fā)上不去」backoff_factor0.5產(chǎn)生指數(shù)退避對 429 限流場景很有效raise_on_statusFalse讓重試耗盡后把原始響應(yīng)返回給你而不是拋異常方便統(tǒng)一處理。并發(fā)執(zhí)行用ThreadPoolExecutor就夠這類任務(wù)是 IO 密集的協(xié)程或線程都行線程寫起來簡單。并發(fā)數(shù)別開太大先看賬號的限流配額從 4 到 8 起步撞到 429 就往下調(diào)。4. 文本分類與接口復(fù)用同一套骨架換 payload原料里給的文本分類示例和圖像分類的差別只有兩處URL 不同、body 從 multipart 換成 JSON。這說明兩個接口共享同一套 HTTP 骨架把它抽出來比復(fù)制兩份代碼劃算得多。抽的時候注意 JSON 和 multipart 在請求頭上的差異這是唯一不能共用的地方。4.1 文本接口的 JSON 載荷與編碼細節(jié)requests.post(url, jsondata)和requests.post(url, datajson.dumps(data))看起來一樣其實差兩點前者自動設(shè)置Content-Type: application/json后者不會你需要自己在頭里寫前者遇到不可序列化的對象會直接拋TypeError后者要到dumps階段才報。統(tǒng)一用json參數(shù)更省心。import requests def classify_text(text: str, url: str, api_key: str, top_k: int 3) - dict: # 超長文本先截斷很多接口對長度有硬限制超了直接 400 if len(text) 4000: text text[:4000] payload {text: text, top_k: top_k} headers { Authorization: fBearer {api_key}, Content-Type: application/json, # 用 json 時 requests 也會自動加 } resp requests.post(url, headersheaders, jsonpayload, timeout(3.05, 15)) resp.raise_for_status() return resp.json()邏輯說明jsonpayload讓 requests 用json.dumps序列化并自動設(shè)頭中文會被轉(zhuǎn)成\uXXXX轉(zhuǎn)義這是合法的 JSON服務(wù)端能正確還原不需要加ensure_asciiFalse那個參數(shù)只在你自己dumps時有用。參數(shù)說明文本截斷長度按接口文檔調(diào)整不要照抄 4000raise_for_status()在原型階段很方便會讓異常帶上狀態(tài)碼但生產(chǎn)代碼里建議像第 3 章那樣手動分支因為你想拿到響應(yīng)體做診斷。還有一點如果文本來自網(wǎng)頁抓取先做一次清洗去掉零寬字符、全角空格、HTML 實體。這些字符在 JSON 里合法但會讓分類結(jié)果偏移屬于典型的「模型沒問題、數(shù)據(jù)有臟東西」。4.2 把圖像和文本兩類調(diào)用抽象成統(tǒng)一客戶端抽象的目標不是少寫幾行而是讓重試、日志、錯誤碼映射只寫一遍。下面的類把公共部分收在_post里兩個公開方法只負責準備 body。import logging import requests log logging.getLogger(__name__) class ClassifyClient: def __init__(self, api_key: str, base_url: str, session: requests.Session): self.api_key api_key self.base_url base_url.rstrip(/) # session 從外部注入方便復(fù)用連接池和重試策略 self.session session def _headers(self, with_json: bool False) - dict: headers {Authorization: fBearer {self.api_key}} if with_json: headers[Content-Type] application/json return headers def _post(self, path: str, **kwargs) - dict: url f{self.base_url}/{path.lstrip(/)} resp self.session.post(url, **kwargs) # 統(tǒng)一把非 200 轉(zhuǎn)成帶狀態(tài)碼的字典調(diào)用方不用各自判斷 if resp.status_code ! 200: log.warning(classify failed status%s body%s, resp.status_code, resp.text[:300]) return {ok: False, code: resp.status_code, msg: resp.text[:300]} try: return {ok: True, **resp.json()} except ValueError: return {ok: False, code: BAD_JSON, msg: resp.text[:300]} def image(self, image_bytes: bytes, top_k: int 3) - dict: return self._post( /v1/classify, # 示例路徑以文檔為準 headersself._headers(with_jsonFalse), files{image: (image.jpg, image_bytes, image/jpeg)}, data{top_k: str(top_k)}, timeout(3.05, 60), ) def text(self, text: str, top_k: int 3) - dict: return self._post( /v1/text_classify, # 示例路徑以文檔為準 headersself._headers(with_jsonTrue), json{text: text[:4000], top_k: top_k}, timeout(3.05, 15), )邏輯說明session從構(gòu)造函數(shù)注入而不是在類里 new 一個這樣測試時可以換成 mock生產(chǎn)時可以復(fù)用第 3 章配好的連接池和重試策略。參數(shù)說明_headers的with_json開關(guān)是唯一區(qū)分兩類請求的地方multipart 請求不能帶Content-Type這是 2.2 講過的坑抽象的時候特別容易統(tǒng)一成「都帶上」然后圖像接口集體 415。base_url用rstrip(/)處理避免路徑拼出雙斜杠有些網(wǎng)關(guān)對//v1會 404。4.3 成本與延遲的取舍本地預(yù)處理還是服務(wù)端預(yù)處理圖像走的鏈路里預(yù)處理放哪邊是個真實的決策。放本地省帶寬、省服務(wù)端算力但吃客戶端 CPU放服務(wù)端省客戶端邏輯但上傳的是原圖體積可能大十倍。策略上傳體積客戶端 CPU結(jié)果一致性適用本地縮放到目標尺寸小中高可控批量任務(wù)、移動端上行本地只壓質(zhì)量不縮放中低中需要服務(wù)端統(tǒng)一裁切的場景原圖直傳大無取決于服務(wù)端實現(xiàn)需要保留細節(jié)的細粒度分類我一般會先在本地壓到長邊 1024、質(zhì)量 85 上傳再拿一批樣本對比「原圖直傳」和「本地壓縮」的分類一致性。如果一致性差異在可接受范圍內(nèi)就固定用壓縮版本單張延遲能降下來一大截尤其是弱網(wǎng)環(huán)境。這個對比實驗花不了多少時間但能省掉后面反復(fù)懷疑「是不是模型不行」的折騰。5. 避坑與排查401、415、413、超時重放這四類翻車現(xiàn)場前面幾章都是順著成功路徑寫的這一章反過來按我踩過的順序排。每條都按「現(xiàn)象、原因、解決」寫遇到類似的直接對號入座。5.1 401 Unauthorized密鑰對了但就是過不去現(xiàn)象密鑰確認沒復(fù)制錯用 curl 試也失敗響應(yīng)體里寫著 invalid api key 或 missing authorization。原因通常有三個。一是Bearer和密鑰之間的空格被編輯器吃掉或者中間混進了全角空格二是密鑰從環(huán)境變量讀出來時帶了尾部的換行echo復(fù)制的時候最容易帶上三是用了另一個產(chǎn)品的密鑰格式看著像但不是同一個認證域。解決先打印repr(API_KEY)看首尾字符把不可見字符暴露出來如果尾部是\n或者\r在讀取時.strip()。再用 curl 獨立驗證一次排除代碼層的干擾# 用環(huán)境變量傳密鑰避免密鑰進入 shell history curl -s -o /dev/null -w %{http_code}\n \ -H Authorization: Bearer ${DEEPSEEK_API_KEY} \ https://api.deepseek.com/v1/models返回 200 說明密鑰和網(wǎng)絡(luò)都沒問題回到代碼里查頭字典返回 401 就換密鑰或確認賬號權(quán)限。這行命令里的-o /dev/null丟掉響應(yīng)體-w %{http_code}只打狀態(tài)碼輸出干凈。5.2 415 / 400multipart 的 boundary 被自己弄丟了現(xiàn)象圖像上傳返回 415 Unsupported Media Type或者 400 說缺少 file 字段但字段名明明寫了image。原因頭字典里手寫了Content-Type: multipart/form-data。requests 看到你已經(jīng)設(shè)了這個頭就不再補 boundary服務(wù)端拿不到分隔符把整個 body 解析成一個空字段。這個坑在把文本和圖像調(diào)用合并成同一個客戶端時特別容易犯因為你會下意識地給兩類請求都加上Content-Type。解決multipart 請求的頭里只留Authorization讓 requests 自己生成帶 boundary 的完整頭。排查時打印resp.request.headers看Content-Type里有沒有boundary這個參數(shù)沒有就是這個問題。5.3 413 Payload Too Large圖像沒壓或者壓了但格式不對現(xiàn)象小圖能過大圖報 413或者本地明明縮放過上傳后還是 413。原因一是縮放用的resize保留了原始編碼格式PNG 截圖縮到 224 之后體積仍然不小二是只改了尺寸沒改質(zhì)量JPEG 以 quality100 保存一張 224×224 也能到幾百 KB三是服務(wù)端限制的是字節(jié)數(shù)不是像素數(shù)你盯著尺寸看沒用。解決統(tǒng)一走 2.3 的normalize_image輸出固定為 JPEG、quality 可控、帶optimizeTrue并在發(fā)送前加一道體積閘門def guard(image_bytes: bytes, max_bytes: int 1_500_000) - bytes: # 超過閾值就降質(zhì)量重壓最多降三檔避免無限循環(huán) for q in (85, 70, 55): if len(image_bytes) max_bytes: break from PIL import Image import io buf io.BytesIO() Image.open(io.BytesIO(image_bytes)).save( buf, formatJPEG, qualityq, optimizeTrue) image_bytes buf.getvalue() return image_bytes參數(shù)說明max_bytes按接口文檔給1.5 MB 只是個保守起點三檔質(zhì)量是經(jīng)驗值再往下壓細粒度分類就會掉點。5.4 超時后重試導致重復(fù)計費現(xiàn)象賬單上的調(diào)用次數(shù)比實際圖片數(shù)多或者結(jié)果表里出現(xiàn)重復(fù)記錄且這些記錄的耗時都集中在某個時間窗口。原因讀超時被算進了重試條件。服務(wù)端其實已經(jīng)處理完了只是響應(yīng)在路上慢了一點客戶端等不及重發(fā)于是同一張圖被處理兩次。原料里的示例沒有涉及重試但一旦你按 3.3 加了HTTPAdapter這個問題就會出現(xiàn)。解決Retry里把read設(shè)為 0只對連接錯誤和 429、5xx 重試如果業(yè)務(wù)要求嚴格冪等就在請求里帶一個自己生成的request_id落庫時用它做唯一鍵重復(fù)的寫入直接忽略。這個字段在服務(wù)端不支持透傳時也沒關(guān)系客戶端側(cè)做去重同樣有效。5.5 排查順序從外到內(nèi)別一上來就懷疑模型遇到分類結(jié)果不對先別改代碼。按這個順序走一遍八成問題能在前三步定位先用 curl 驗證密鑰和端點是否可達再用固定的一張樣本圖跑一次看響應(yīng)體的原始 JSON 長什么樣然后比對預(yù)處理后的圖和原圖確認沒被裁掉主體最后才看 label 和 confidence 的分布。把順序固定下來之后排查時間能從半小時壓到幾分鐘這個習慣比任何技巧都值錢。6. 進階把分類調(diào)用做成可觀測的小服務(wù)跑通腳本和能上線之間差的是可觀測性。分類調(diào)用是個外部依賴失敗是常態(tài)沒有埋點的話你只能看到「今天結(jié)果少了」這種結(jié)論看不到是哪一類錯誤在漲。我一般會在客戶端外面再包一層記錄四個字段請求 ID、端點、狀態(tài)碼、耗時。加上 label 和 confidence就能回答絕大多數(shù)運營問題比如「昨天的低置信度占比為什么翻倍」。表結(jié)構(gòu)大概是這樣字段類型用途request_idstring客戶端生成的 UUID重試時復(fù)用用于去重endpointstringimage 或 text區(qū)分兩條鏈路status_codeintHTTP 狀態(tài)碼0 表示網(wǎng)絡(luò)層失敗latency_msint端到端耗時含重試labelstring分類結(jié)果失敗時為空confidencefloat置信度用于閾值分布監(jiān)控埋點代碼不用復(fù)雜一個裝飾器就夠import time import uuid import logging log logging.getLogger(classify) def traced(endpoint: str): def deco(fn): def wrapper(*args, **kwargs): rid kwargs.pop(request_id, None) or str(uuid.uuid4()) start time.perf_counter() status 0 try: result fn(*args, **kwargs) status result.get(code, 200) if result.get(ok) else result.get(code, -1) return result finally: cost int((time.perf_counter() - start) * 1000) # 一行 JSON 日志方便直接被采集器解析 log.info({rid:%s,ep:%s,status:%s,ms:%d}, rid, endpoint, status, cost) return wrapper return deco邏輯說明request_id從外部傳入時復(fù)用重試鏈路里就能對齊同一次業(yè)務(wù)請求finally保證異常路徑也打點否則失敗樣本全丟監(jiān)控就成了只報喜不報憂。參數(shù)說明耗時用perf_counter而不是time.time避免系統(tǒng)時間調(diào)整帶來的負數(shù)狀態(tài)碼在業(yè)務(wù)失敗時取自定義 code網(wǎng)絡(luò)層失敗統(tǒng)一記 0方便聚合。這套東西的另一個用法是回歸驗證。接口或模型更新后拿一批固定樣本跑一遍比對 label 變化率和置信度均值偏移比肉眼看幾個案例靠譜得多。我吃過一次虧換了預(yù)處理里的resize為ImageOps.fit忘了看長圖樣本結(jié)果一批豎版商品圖被裁掉了底部文字分類整體偏了一檔兩天后才發(fā)現(xiàn)。從那以后我每次改動預(yù)處理參數(shù)都強制走一遍固定樣本回歸比對 label 和 confidence 的分布再發(fā)布。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91在线页| 五月丁香啪啪| 久久综合18p| 91亚洲狠狠色| 簧片免费看视频| 动漫av中文| 级做a爱无码性色永久免费| 久久久网站| 九九九草| 狠狠综合网| 色九色久| 亚洲色诱惑| 久久禁| 国产久久成人| 亚州Av天美传媒| 欧美日韩在线国产在线| 区自美91| AV电影在线播放| 日韩精品啪啪啪| 亚洲一区日韩| 搡老女人老91二区| 日日黄色三级网站| blacked精品一区国产| 蜜臀无码一区二区| 久久九操在线观看| 久久99久久99久久99人受| 91九色丰满高潮| 国产 v乱码一区二| 后入综合久久| 综合色拍| 乱伦系列一区二区| 91精品人| 亚洲视频小说| 成人片在线播放| 国产丝袜啪啪| 熟女天天干| 99国产在线 精品 视频| 呻吟 欧美 日本 中出| 亚洲欧美日韩夜夜| 夜夜骑夜夜操| 色婷婷久久综合超碰| 人人操人人插人人摸人人干| 九九热精品| 求求你操操我| 丁香五月天堂| 国产精品分类在线观看| 狠狠爱AV| 99热99re超碰精品| 日韩激情啪啪啪| 日韩成人人妻网站| 日韩中字av一区| 911av网站免费观看| 久久人体一区二区| 青娱乐大香蕉| 97久久精品亚洲| 亚洲密乳AV| 神马九九九| 大香蕉亚洲中文| 狠狠色噜噜狠狠狠狠2018| 国产AB视频| 色婷婷五月天| 99久久久久| 麻豆三极片| 99re在线视频| 天天日日日射| 久久香蕉影院| 伊人精品久久网站| 成人免费毛片| 五十路三区在线| 欧美色图成人网一区二区 | 在线中文字幕视频| 不卡在线观看视频| 自拍啪啪视频| 久久九操在线观看| 色狠人在线99| 天天狠| 欧美另类综合久久| 91人精品妻入口| 97干97色| 久久九色| 激情小说亚洲| 亚洲风情在线观看| 黑人精品欧美一区二区蜜桃| 极品久久久久久久久久久久久久| 久久久久久久九九九九九九| 色九月婷婷| 无套内射人妻在线播放| 黄色AV免费| 久久啊啊| 日韩精品亚洲一二三| 91在线国产后入风骚翘臀美女素人| 大奶啊啊好爽| 色丁香五月婷婷| 青青草影视蜜久久| 白嫩国模丰满一二三区| se,,,亚洲欧美| 一区二区首页| 国产性感骚丝袜在线| 大香蕉黄色一区| 亚洲国产精品有声| 青草草免费网站av| 妇女性内射冈站HDWWWCOM| 九九九国产| 午夜精品久久久99热蜜桃的功能特点| 久日综合网| 欧美午夜色妇色鬼| 午夜精品久久久久久久99热影院 | 偷偷人人精品女女久久| 91蜜桃传媒精品久久久一区二区| 九九九久| 精品在线78| 国产AV天美传媒一区二区三区 | 亚州精人品大香蕉| 精品少妇一区二区三区免费观看| 成人夜夜爽| 五月天综合在线| 丁香六月婷婷久久综合| 国产免费一区二区在线A片视频| 国产情侣自拍在线播放| 婬女免费一二三区A片| 日韩,欧美,中文在线| 国产亚洲日韩在线三区黑人| 久久精品中文字幕无码l| 探花熟女,姿勢到位,體驗感也到位| 亚洲精品尤物yw在线影院| 日婷婷| 一级特黄aaa大片在线观看成人一级片在线观看 | 99色在线| 亚洲色图激情小说| 91欧美长吊| 青青青艹在线视频| 亚洲精品久久一区二区三区蜜桃臀| 制服中出中文人人精品| 日本淫乱女一区二区三区视频| 国产60页| 被男人添B超爽视频| 欧美日韩在线国产在线| 天天摸,夜夜摸| 首页亚洲国产高跟丝袜诱惑视频| 人妻精品4K4K4K4K4| 欧美少妇高潮久久91| 国产AV线| 少妇人妻好深太紧了vr91| 粉嫩av在线一区二区| 啪啪91| 亚洲AV高潮| 亚州欧美总和| 91精片| 可能人人看人人摸| 91人人看| 国产精品动态一区二区三区四四| 九久9精品| 亚洲麻豆av一区二区| 久久久久久日韩| 囯产乱伦一区二区三女 | 国产剧情AV不卡在线观看| 久久人妻视频网| 中文字幕免费观看| 69国产对白刺激| 欧美日韩中文亚洲v在线综合| 天天色综合图片| 精品人妻一区二区三区视频| 91人人| 色天使亚洲综合在线观看| 五月婷婷丁香六月| 另类欧美| 国产毛片久久久久久久| 91在线页| 这里都是精品| 五月丁香拍拍激情综合三级| 天堂日本亚洲欧美| 精人妻一区二区三区| 欧美日韩午夜精品一区二区三区| 激情丁香五月婷婷| 国产精品粉嫩福利在线| 日韩丰满熟妇| 日本99一区二区| 成人性交午夜免费片| 国产啊v在线免费播放| 亚州少妇| 熟女精品日韩一区二区三区| 日韩性爱电影一区| 大香蕉之青青草原| 中文字幕日韩人妻视频| 欧美亚洲性爱一区二区| 伊人九九九| 日本日皮视频逼| 91精品久久久久久77777| 欧洲在线性爱视频| 欧州色图区| 后入人妻无码| 久久草草欧美精品| 国产人妻久久精品一区二区三区| 无码在线亚洲| 久操av在线| 午夜福利在线合集| 色踪合AV| 国产一区二区三区精品观看啪| 极品少妇久久久久| 自拍第一页| 美女尤物人人操| 男女激情中文字幕| 18禁精品网站在线看| 青娱乐大香蕉| 久久riav中文精品| 久久精品视| 亚洲图片日本AⅤ欧美在线| 国产性感骚丝袜在线| 在线免费观看高清无码视频| 99中出在线| 亚洲色天| 福利一级版子| 高清在线偷拍自拍视频| 亚洲熟女综合一区二区| 啊啊啊啊啊啊在线看| 青青草好吊色| 99国产天美| 人人人摸人人| 国产97综合| 凸凹视频在线观看| 偷拍综合网| 97色插| 成人五级久久| 欧天美中出| 黄在线| 久久久久久久久国产| 国产高清精品福利| 久久久性爱| 大鸡巴久久久| 日夜干射色啊| 欧美顶级黄色大片免费| 97在线观| 99热这里只有是精品10| 2024人人操人人摸| 18禁止看精品中文字幕| 国产日韩欧美| 99在线免费观看| 国产精品96| 国产肏屁眼视频| 国产超碰| 久久婷婷电影网| 99久久综合| 网页导航五月天免费一二三区 | 2020视频1区2区3区| 精品人妻一二三| 伊人一区二区三区| 97人肏| 国产精品国产自产高清AV| 日韩精品三级| 精品久久久久黄少妇| 精品一区二区综合熟妇| 天天综合中文字幕 91| 91精品成人| 久操精品网| 精品九九九九九| 国产成人精品日本视频| 亚洲成人福利电影免费| 色噜噜狠狠色综无码久久合欧美| 人妻免费观看| 欧美婷婷久久| 男人的天堂亚洲| 狠狠操官网| 欧美另类天堂| 98超碰日本| 操穴国产| 五月丁香影院| 91人妻中文| 国产一区二区成人av在线播放| 久久久精品一区二区| 九九久久久久久爱| 开心五月激情网| av无码精品久久久久| 日本操逼视频免费| 97国产精品一区二区传媒公司| 欧洲小说色图视频另类| 性色avv| 久操不卡视频| 91九色网| 国产99 中文字幕日韩小视频| 欧 美 自 拍 偷 拍| 人妻精品一区二区| 日日骚一区二区三区| 99热日| 欧美日韩精品国产91| 久操综合在线| 丁香五月天婷婷姐| 97超碰美国| 国产熟女| 五月天久久婷婷亚洲| 亚洲人精品久久久| 日韩 女同 综合| 日韩无码人妻| 精品国产网站| 午夜福利久久久噜久噜久久综合| 亚洲色图大香| 大胆91| www色日本| 日韩色| 中文字幕国产| 国产亚州精品美女久久久免费| 精品无码久久久久久国产浪潮| 精品久久久久久中文字幕视频免费| 日本黄色精品| 91A欧美电影网站| 综合色区偷拍| 97免费在线观看视频| 91熟女丨91老女人| 一起草在线视频| 欧美翘臀视频网站一区二区三区| 五十路熟女人妻一区二区在线观看 | 性无码专区2020| 国产高清午夜成人在线观看| 欧美午夜视频免费观看| 久久社区一区二区三区| 国产区性爱在线视频秋霞豆| 日本在线播放不卡一区| 狠狠色色| JULIA人妻风俗店中出电影| 78综合网| 亚洲日韩乱码中文无码蜜桃臀网站| 狠狠2050在线观看| 97伊人超碰| 97在线视频免费看| 亚洲欧美国产中文视频| 大香蕉久| 国产成人网| 精品国产自在在线99| 精品无人区麻豆乱码久久久| 自拍第一页| 欧美成97爱| 尤物网站91| 国产美女裸体秘 永久无遮挡| 国产精品呦一区二区三区| 人妻aa| 91大胆欧美| 丝袜综合色图| 久久国产乱子伦精品免费女人| 欧美大战久久久伊人| 丝袜色综合| 天堂成人网| 日韩黄片视频试看| 色婷婷综合视频| 亚洲成人一二三区| 久久久九| 欧美v亚洲v综合v国产v妖精| 久操大香蕉| 欧美久久婷婷| 天天欧美| 91丨豆花丨熟女| 亚洲人妻av| 台湾大香蕉99热| 综合亚州欧美| 欧美亚洲尤物久久| 五月天色图| 中出在线视频| 強姦亂倫a| 九九色逼| 欧洲性人爱视频| 国产强奸无码乱伦| 亚洲天堂,男人| 国产精品一级二级在线| 国产精品一区二区手机看片| 91|九色|国产熟女| 久久久久ab| 天天日天天干天天操| 美女写真| 午夜福利在线视频1000| 日韩成人无码| 九九久久首页| 久久久久99999| 黑人精品成人一区二区三区| 国产五码丝袜屁眼| 人人做天天爱| 三级片大波波| 火箭成精品视频884必出精品| 欧亚性爱视频免费看| 97超碰色屌| 亚洲日韩美女丝袜美腿人妻视频| 8050午夜少妇无码| 欧美日韩美女精品久草一区二区三区 | 97午夜剧场日韩| 五月天久久人妻| 成人免费不卡在线视频| 龙兴卡官方查询| 国产精品成人久久一区二区三区| 九九毛片这里只有精品| 极品另类| 午夜激情床戏激情| 日本一区二区亚洲综合| 你操综合| 欧美v日韩v亚洲v最新在线| 97操碰| 免费在线视频97| 欧美色色色| 欧美热图99| 无码伊人久久大杳蕉中文无码| 天天日美女的B| 午夜一区二区三区国产| 99久在线精品99re8a| 五月天久久综合网| 久久精品中文字幕女同| 久久久97| 国产精品96| 精品人人| 日本三级A片网站com| 欧美A√综合网| 干干干天天| 99热日| 操逼逼无码| 精品国产99999| 99久久久久| 中文字幕乱亚洲美女精品一区| 五月天婷婷综合| 色九久| 欧洲Au麻豆| 免费黄色片。| 色97国产69香蕉| 91色情黑丝搞鸡在线观看一区二区三区三州| 亚洲一区二区av| 国产后入精品| 国产精品亚洲一级av第二区| 亚洲美女黄色| 最新加勒比丝袜在线| AAAA级日本片免费视频| 丰满人妻一区二区中文| 色色五月婷婷| 岛国片在线播放| 精品一区99999| 中文字幕在线播放2中文字幕在线观看2| 1区2区3区视频| 亚91亚洲网| 俺去俺来也在线www| 精品无吗m| 蜜臀AV成人精品蜜臀| 日本韩欧美在线播放a| 日韩综合色图| 加勒比伊人综合| 五月综合久久| 欧亚性爱在线视频| 国产熟女无套内射| 欧美男人亚洲天堂| 97精品国产97久久久| 天天操夜夜操狠很操| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚欧Av| 日本成人在线不卡一区二区三区| 九99久久| 国产60区。| 亚洲操操| 日韩人妻 中文字幕| 色综合91好| 99国产精品自在自在| 夜夜操二区| 特级毛片特黄久久免费看| 成人久久久| 久久久一二三四区| 美美91成人国产精品欧美精品久久久久久久| 男人的天堂一区三区| 国产精品4p在线观看| 99在线精品观看视频中文 | 欧美1727免费观看视频| 天天视频综合在线观看视频| 色屁屁影院www国产| 国产精品久久泡妞网站| 另类老少妇| 国产美女口爆吞精| 丰满搜索结果 -第18页- 久久高清无码 | 日本一区二区中文字幕久久| 国语精品av| 碰人碰碰人人开房人肉| 97天天操天天干| 婷婷亚洲中文字幕在线| 无码99| 久久精品国产免费观看99| 欧美亚洲色图另类国产| 在线中文字幕| 日韩三级在线观看网站| 搡老女人老91妇女老熟女| av天堂加勒比| 欧美黑人168页欧美黑人167| 东北操逼| 青青草女人天天干| 91欧洲入口| 熟女熟妇伦久久影院毛片一区二区| 亚洲色图欧洲| 国产91丝袜 在线播放| 欧美大香蕉97| 神马午夜久久久| 激情图片伦理国产一区二区日韩| 99久久这里只有精品| 先锋精品av色鲁| 这里有精品| 狠狠狠狠狠狠| 看日韩美女二区三区免费操逼视频| AV电影在线播放| 色999五月色| 伊人久久婷婷| 麻豆精品久久久久久久| 热天堂一区二区| 嗯嗯嗯啊啊啊操的我好爽 | 国产精品分类在线观看| 欧美爱三级日韩久久| 高清国产无码av| 欧美1区二区三区公司| Sekablack无码一区| 久综合国内精品自在自线| 亚洲av无码成电影在线播放| 不卡一区二区日本视频| 国产尹人在线视频免费| www.夜夜| 国产乱人妻精品入口| 国产一区二区三区,在线观看观看| 黑人精品久久97| 日本精品一区二区三| 欧美丝袜91| 综合97| 国产精品麻豆免费视频| 精品国产一级久久| 校园春色综合| 夜夜操一区二区| 欧美亚洲韩国视频十五区| 殴美性天天| 国产JDAV无码视频在线观看| 色久桃花影院在线观看| 久久久夜夜嗨免费视频| 日本伦理一区二区| 加勒比久久av| 日韩性爱啪啪视频| 夜夜影视四色| 男女打扑克高清网站| 精品久久大胆人体| 婷婷爽人人婷婷爽视频| 超碰成人公开| 91亚洲黑人| 96国产污污污丝袜| 色汉综合| 嫖老熟女A片一二三区| av天天在线观看| 精品人妻一二三四区视频| 天啪| 國產尤物AV尤物在線觀看| 中文字幕在线播放2中文字幕在线观看2| 大香蕉欧美伊| 欧美色九九| 看大黄色大片原件| 啊啊啊好爽快点啊啊啊嗯嗯| 欧美在线色| 曰韩中文人妻视频| 国产精品成人无码av| 日韩激情视频| 蜜臀99久久精品久久久久| 国产精品蜜乳AV| 97操97色| 日韩性色| 欧美丰满熟妇XXXX性ppX人交| 日韩精品人妻系列无码天堂| 外国免费性情大片| 日本日皮视频逼| 中 文字幕一区二区三四 五 区日 日 骚| 91丝袜人妻| 成人三一级一片aaa| 91丝袜美腿网站| 91殴美| 久久人人看| 日本最新1区2区3区| 夜夜操青青草| 国产精品欧美激在线| 日本操逼视频免费| 一二三啪啪专区| 中文字幕99999| 婷婷五月天激情网| 精品日日人妻| 婷婷五月天色色| 丝袜美腿操av| 精品成人av一区二区三区在线| 亚洲自拍欧美色综合| 成人免费视瓶| 精品国产72| 99久久精品欧美国产| 成人AV素股で擦久久| 青娱乐啪啪视频| 蜜桃臀av在线观看| 色妇综合网| 91 刺激在线| 九九热精品| 美女黄色一级A视频| 亚洲综合有码| 亚洲少妇喷视频看| 99rre在线精品99re8| 97天堂| 天天日夜干| 欧美 亚洲 制服 精品| 亚欧美色| 黄总AV色图| 日韩欧美成人午夜福利| 美日韩一二三区| 加勒比在线视频一区二区三区| 青青草字幕AV| 亚洲中文字幕精品久久久久久直播 | 日韩婷婷| 色激情综合网站| 人人爽夜夜操| 大香蕉在线视频重口味毛片在线| 日本十八禁免费看污网站| 综合91网| www超碰| 99999re| 亚洲激情 欧美色图| 日本免费一级AAA大片器| 欧美精品久久| 久久精彩免费视频| 日韩日本欧美在线观看| 欲香欲色天天天综合和网| 免费簧片在线观看| 变态综合色| 啊啊啊在线观看免费视频| 精品一区二区综合熟妇| 丰满人妻一区二区三区四区| 青青草伊人久久| 久久久久久AⅤ无码免费肉站| 男人天堂新在线| 97自拍一区| 色婷婷亚洲婷婷| 91性高朝久久久久久久久| 久久精品国产久精国产| 69精品少妇一区二区三区蜜桃| 国产美女裸体秘 永久无遮挡| 俺去啦自拍| 青青草十区九区爱夜| 国产精品自拍欧美在线| 懂色av一区二区三区天美传媒| 爱爱久久| 夜夜爽77777| 国产精品视频麻豆入口| 欧美激情专区| 四虎影视永久在线观看精品免费网站| 95精品在线| 亚洲强奸乱伦影视网| 色吧 综合| 久久久少妇诱惑精品视频| 日本成人在线不卡一区二区三区| 日日夜夜骚| 日韩人成网站在线播放| 97超碰美女| 免费草草草草草视频| 国产suv精品一区二区四| 亚洲成人av电影在线| 偷拍综合网| 日本幼女18+| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 人妻精品综合中文字幕在线 | 香港澳门日本三级网站| 日韩精品人妻中文字幕不卡乱码| 精品免费国产二区三区| 狠狠中文字幕| 中文字幕在线高清男人的天堂| 精品国产一区二区三区四区在线看| 欧美色另类| 噜噜噜亚洲精| 激情小说亚洲视频| 超碰碰激情97+久| 手机不卡视频不卡在线一二三区| 婷婷尹人大香蕉免费| 国产九九九九九九九九| 日本在线一二 | 91精品无码久久久久久久| 精品无码产区一区二| 啊啊啊啊操死我了| 97精品一二区| 91狠婷| 日本欧美国内在线| 黄色高清无码无码破解免费暗网| 欧美人人曰人人操人人射射| 国产精品成久久久久午夜午夜| 日韩熟女操逼| 亚洲av乱伦色图网站| 久久精9| 久久综合18p| 婷婷五月花| 久青草影院| 凹凸视频特色日本特黄| 日韩精品中文字幕二区| 日本高清_区二区三区| 九热中文字幕| 久久久久久久人妻丝袜| 久久精品国产亚洲av水密被窝| 91N综合网| 大香交| 激情另类激情| 久热精品在线| 九九热av| 九九热九九| 日韩性爱小视频| 欧美色人| 国产成人99久久亚洲综合| 国产精品一区二区a| 亚洲中字幕日本一区二区三区 | 夜夜一区二区| 97超碰碰碰| 伊人青青一区成人视频在线观看区| 视频二区美腿丝袜制服人妻欧美| 伊人天堂在线| 艳美熟妇先锋一二三区| 午夜成人福利影视| 青青草日本中文字幕| 学生妹天天看| 亚洲91射| 日日爱99| 乱伦一二三区| 无码精品久久久久久亚洲| 日韩欧美亚洲自拍偷拍| 天天日天天干天天色| www.91逼逼.com| 欧美性爱伊人| 日本天天吊| 青青操在线亚洲视频观看欧美在线 | 亚洲色堂免费视频| 97天天综合网| 啊啊在线| 青青草福利视频| 亚洲 欧美 制服 另类 自拍| 岛国片国产成人亚洲播放| 啊视频在线| 天天干天天操天天拍| 天天综合网AV91| 精品丰满熟妇人妻一区| 最新日本中文字幕| 午夜男人av| 九九亚洲| 中文97国产| 欧美综合综合| 岛国免费视频在线| 五月香婷婷| 人人澡人人爽人人精品| 97超碰欧美手机在线| 麻豆视频一区二区| 伊人网综合在线视频| 大香蕉九九| 91天美传媒在线观看| 麻豆色约约| 中文字幕在线观看永久| 欧洲熟妇xxXx欧美老妇裸体| 1204av韩国| 久久97视频| 性色av蜜臀av色欲aV| 激情五月天丁香| 丝袜美女诱惑 91 视频| 97超碰色情| 熟女人妇一区二区三区| ′ !γ}丶。。久久精品欧美一区二区三区| 亚洲国内精品成人不卡| 亚洲天堂男人的天堂| 亚洲免费人妻在| 一道本东京热加勒比一区二区三区| 97伦综合| 色天使亚洲综合在线观看| 欧美日韩夜夜| 人伦四五区| 郑州宾馆老熟女露脸啪啪| 大香蕉碰碰| 变态另类专区| 久久av一级av少妇av高潮| 嗯~啊~快点 死我视频| 综合自拍| 午夜色婷婷| 国产亚洲精品美女| 亚洲AV秘无码一区..| 人人人人人人少妇| 96超碰网| 欧美亚洲中文字幕| 精品人妻伦一区二区三区久久| 精品国产一区探花在线观看| 先锋精品av色鲁| AV男人天堂网| 中文字幕精品区先锋资源| 天美精品一区二区三区四区在线观看| 欧美不卡五十路| 五月婷婷六月激情| 94色色电影网| 99精品在线播放| 亚洲 欧美综合| 精品毛片av一区二区| 国产一区麻豆免费观看| 精品福利| 亚洲天堂男人在线| 亚洲久久久| 久久久久久国产精品免费网站| 中文字幕人妻色偷偷久久皮 | 美女诱惑一区| 污啪啪啪视频| 91夜色| 韩国一区二区精品亚洲| 久热一区二区| 午夜激情床戏激情| 97超碰磁| 人人综合| 操逼天美3区| 亚州中文字幕超碰97| 亚洲欧洲日韩天堂av| 在线观看A啊啊啊| 尤物黄色在线观看网站| 日韩78m视频| 人人操人人摸人 | 破处bbq| 操逼日韩无码| 欧美劲爆第一页| 禁止观看美女黄| 国产无码三级视频在线观看| 丁香婷婷激情五月天无毒不卡| 国产中文字幕在线点播| 日韩综合97P| 亚洲操逼视频网站| 亚洲开心网| 久久人妻四季| 370p日韩欧美亚洲精品| 中文字幕一区二区三区蜜臀| 黄色片A级一区二区三区| 男人精品天堂一区| 亚洲操逼无码| 无码国产精品96久久久久孕妇| 欧美无圣光在线| 伊人五月天激情| 97超碰天天爱天天爱| 精品欧美不卡在线播放| 国产高清自拍视频| 天天插夜夜操| 伊人五月天激情| 日韩在线一区高清在线| 久热影视| 探花激情视频| 亚洲91av| 中文字幕精品乱码| 屁股久久久久久久久| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 日韩欧美天堂| 96超碰网| 情趣丝袜无码操逼视频| 亚洲无码AV九九九| 天天操女人| 粉嫩AV输入| 日韩在线电影| 成人aⅴ一区二区三区| 二色av| 亚洲国男人的天堂| Aa东京男人的天堂| 夜夜嗨视频| 91色色色| 撸撸成人在线视频| 蜜臀视频网站| 久精品无码av一区二免费国产在线观看| 屌逼麻豆| 综合性视频99| 亚洲一级性爱视频免费看| 美女啊啊啊啊啊啊啊| 91精产一区二区三区| 青春草莓视频在线观看网址| 国产一区二区啪啪视频| 久久有码| 另类亚洲一区二区三区| 色性综合| 欧美性暴力猛交| 精品少妇一区二区三区在线视频| 久久久18禁| 久久夜黄色无码A级大片| 日韩乱码Av| 欧美精品久久96人妻无码| 男女国产精品| 九九人妻| 91亚洲最新在线| 色网色网色网色网色网色| 第一高清av中文字幕| A男人的天堂| 啪啪资源网| 人妻丰满熟妇av无码区蜜桃| 啪啪啪综合网| 男人天堂站| 人人潮人人摸| 熟妇一区,二区,三区。| 最新三级网址| 亚洲综合 欧美| 在线看免费无码AV天堂的| 性九九九九九九| 国产精品一区二区 尿失禁| 日韩中文9| 97天天爽| 99视频这有这里有精品| 激情五月天校园春色网| 国产成人免费观看在线视频| 狠狠爱大香蕉| 欧美狠狠弄| 爱av免费| 性爱视频啪啪啪啪| 色五月天AV| 人摸人人操人| 老熟女综合| 内射黑丝袜| 免费av大片| 国产精品盗摄 偷窥盗摄| 白丝在线一区| 日韩乱码av| 亚洲高清无码在线桃色| 人人模人人看| 91综合天天看| 色偷偷色偷偷欧美日韩| 97人人干| 无码伊人久久大杳蕉中文无码| 日产操逼| 快播电影网日韩新片| 日韩精品第3页| 超碰久久草| 精品久| 欧美精品久久96人妻无码| 亚欧性爱在线无码| 日本亚洲熟女视频| 国产精品99精品视频网站| 青青草好吊| 午夜久久久| 久久9免费视频| 天天弄欧美| 久久超碰天天| 亚洲影视综合网| 中文字幕在线高清男人的天堂| 脫衣舞一区二区三区| 亚洲精品人妻在线| 日本黄色大片一级视频免费麻豆| 97日韩超碰超碰中文字幕| 九九九一二三| 亚洲综合性网址| 人妻密肉在线观看| 精品一区二区3区| 久久久久中出| 国产大片精久久久久久| 蜜臀久久久久久999| 色av中文字| 国产丝袜美女诱惑| 中出789在线视频| 老司机午夜精品福利视频一区二区| 亚洲一区二区三区麻豆传媒| 中文字幕加勒比海高清无码免费视频| 性做久久久久久久| 黄片在线免费在线观看| 欧美性爱中文字幕无线码| 在线毛片片免费观看| 亚洲国产一级精品毛一级精品看免费视频| 日韩久久.一级黄色片| 国产强上视频在线观看| 中文字幕黄色片| 亚洲AV乱码专区国产噜噜亚洲| 超碰99re| 91蜜桃婷婷狠狠久久综合9色| 91人妻精华帖| 久久大香蕉97| 婷婷午夜清品久久久久久久性色视频观| 日韩少妇无码| 无码日韩网站| 2019AV天堂| 黑丝制服中文字幕| 日韩高清黄片| 密臀在线免费观看| 亚洲s色图| 男人久久天堂| 9久精品| 嫩草一区二区在线观看| 情侣开房子拍 日韩无码 女的很漂亮| 97免费在线视频在线观看| 亚洲九九视频| 亚洲,日韩,欧美,成人播放| 超碰狠狠操| 一卡二卡三卡| 午夜寂寞欧美| 超碰天天操| 草草影院日本第一页| 九九aV| 亚洲午夜蜜臀| 久久艹逼视频| 超碰视97中文| 成人美女av| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 8050无码八戒| aV中文麻| 亚洲熟女中文字幕在线| 日韩色女精品| 99精品视频在线观看免费| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 综合色一区三区二区| 婷婷综合五月| 亚洲成人激情小说视频| 啊啊啊用力在线观看| 97超碰中文在线| 天天综合AV| 日产操逼| 婷婷九月国产| 天天日天天干天天整| 九九九九热只有精品| 九九久久综合| 日本一二三免费久久| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 午夜噜噜噜| 天天看综合网| 操逼片中文| 亚洲男人天堂av| 二对二中文字幕。| 激情五月天社区| 日韩成人无码| 97网址97| 日本丝袜美腿人妻九九| 黄片免费看的| 欧美亚洲韩国视频十五区 | 欧洲精品欧洲精品| 欧美亚洲激情小说| 丁香五月天婷婷姐| 91在线免费精品视频| 丁香六月婷婷久久综合| 亚洲欧洲无码bt精品合集| 亚洲偷91色| 不卡九肏| 青青操青娱乐| 色欲日韩欧美在线一区| AAAA级日本片免费视频| 日本97久久久精品| 天天综合网国产| 久久欧美性爱视频| 飘花国产午夜精品不卡| 日本精品久久久久久久| 青青草在线视频人人想人人上| 亚洲二区精品在线观看| 激情五月综合开心五月| 2017亚洲天堂| 啊啊啊啊好疼| 91色黑人少妇| 91精品人妻一区二区三区蜜桃臀| 国产又色又爽又舒服的三级视频| 欧美十八禁视频| 精品无码欧美三级| 色九久| 欧美影院一区二区三区| 青青青青操国内视频在线| 在线观看啊啊啊啊啊| 奶水 人妻 哺乳 在线| 国产美女高潮视频| 熟女久久| 久久精品国产亚洲AV清纯| 久久97| 亚洲国产精品成人综合| 婷婷丁香熟妇综合网| 性爱乱伦一区| 人人色人人操在线| 五月婷婷丁香| 欧美日本久久精品一区| 超碰在线人妻不卡| 欧美色天堂网在线视频| 日本不卡一区二区三区| 国产丁香精品露脸视频| 精品人妻一二三| 久久久久久亚洲中文| 综合欧美激情网| 无码不卡八戒| 亚洲字幕一区二区| 妺妺跟我一起洗澡没忍住| 操久久久久久| 亚洲青色欧美| 久久九色| 岛国毛片在线观看免费| 伊人女女资源在线观看| 一区中文字幕二区日韩| 日韩精品系列| 91精品亚洲内射孕妇| 91丨熟女丨丰满熟女| 日韩乱码Av| 骚日日av| 亚洲国产av中文字幕久久| 口爆综合网| 超碰日韩美妻| 1769成人国产精品视频| 性爱av在线免费观看| 九九热九九热| 高清视频一区| 国产综合永久精品日韩鬼片| 亚洲蜜桃V妇女| 亚洲欧美setu| 欧美狠狠| 色香阁在线| 亚洲黄色AV电影| 色一情一乱一乱一区91Av| 久久亚码| 亚洲欧美自拍偷拍| 欧洲自拍色图gif在线| 精品国产一区二区三区av在线资源| 欧美综合传媒| 国产偷拍自拍在线视频| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 干婷婷综合网| 国产精品久久久午夜夜伦鲁鲁| 国产亚洲精品精AV.| 欧美日韩人人早| 久久久久久亚洲Av无码| 91蜜臀在线久久久久| 秋霞免费无码视频日韩A片| 久久精品免费| 欧美少妇性爱网站| 亚洲国产丝袜在线观看| 91在线视频免费播放| 日本999精品| 嫩草一区二区在线观看| 国产乱码久久久| 成人贴图日韩欧美| AV麻豆免费一区| 欧美亚洲日本激情在线| 亚洲天堂人妻一区二区| 99日免费视频中文字幕| 一起草在线视频| 婷婷另类小说| 黄片免费看黄片免费看| 亚洲欧美电影| 久偷拍欧美日韩三区| 久久色情| 国产精品人人爽人人做可爱福利| 97 九色| 国产精品91一样| 久久国产热视频97电影| 欧成人精品一区二区三区| 人人爽夜夜操| 丁香五月av| 2018天天干在线视频| 香蕉欧美| 色婷婷A V一二三四区麻豆综合| 内射中出日韩在线观看视频| 太久视频| 国产91丝袜在线播放蜜月| 日韩一区二区熟女| 日本三级中国三级99人妇网站| 亚洲国产91精品一区二区久久| 欧美性五月| 亚洲区限制级 99| 四虎AV无码| 天美国产精品| 99碰碰| 91粉嫩萝控精品福利网站_精品影音先锋国 | 色五月首页| 欧美性爱视频免费一区一A| 中国AAAAAA黄色片| 97色视频在线| 玖色AV| 日本国产欧美高清在线| 亚洲图片欧美偷拍| 亚洲男人在线观看天堂| 久九9精品| 亚洲中文字幕久久无码精品| 嫩草影院永久在线制服丝袜| 性性久久| 亚洲 欧美 小说| 日韩精品大香蕉伊人在线| 亚洲国成人情色好看电影| 亚洲综合小视频小说在线观看| 久久精品视频久久久| 伊人久久大香线综合无码| 操我啊啊啊啊啊| 久久人爽| 91 国产丝袜在线播放-百度| 99蜜月精品久久|