免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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人學(xué)習(xí)適合希望快速驗證云端機器學(xué)習(xí)服務(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 給云端機器學(xué)習(xí)服務(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)的習(xí)慣是從環(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 會把它同時當(dāng)作兩段超時讀大響應(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 當(dāng)成一個字段解析結(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)} # 附加的表單字段都只能是字符串?dāng)?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的分支。這個骨架是對的但少了三樣?xùn)|西超時、非 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里兩個公開方法只負責(zé)準備 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 超時后重試導(dǎo)致重復(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 的分布。把順序固定下來之后排查時間能從半小時壓到幾分鐘這個習(xí)慣比任何技巧都值錢。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
返回資訊列表
久久婷婷亚洲无码一起| 婷婷五月激情综合| 九九激情综合| 久久免费试看120秒| 大香网伊人久久综合| 99热精品少| 婷婷六月成人| 三年高清大片免费观看国语| 91啪啪视频| 久久黄色片| 夜夜夜天天操| 丁香色成人| 国产成人精品一区二区三区视频| 色五月丁香婷婷| 五月丁香花激情综合网| 精品99爱免费视频在线观看| 九九99在线观看视频| 日本少妇AA一级特黄大片| 丁香五月天社区| 色婷婷丁香| 丁香久色| 欧美五月丁香在线观看| 五月丁香婷婷在线综合蜜桃| 色九月| 操精品9| 精品色色| 狠狠干综合| 免费五月婷婷网| 日韩99色| 伊人天天色| 精品久久久999| 伊人九九68| 操一区| 男人天堂99| 能直接看的av网站| www.日本91| 色综合综合网| 激情婷婷六月天| 都市激情小说婷婷| 色五月激情| 丁香婷婷色五月合集| WWW.激情| 婷婷丁香五月噜噜噜| 91五月天| 婷婷大美在线| 色性日本| 人妻久久久| 五月丁香六月香综合激情| 五月激情丁香六月狠狠干| 99WWW免费视频| 激情综合丁香| 大香蕉久久草| 色婷婷内射| 激情色色| 韩国婷婷丁香五月| 五月丁香色| www99热| 丁香五月中文字幕久色| 这里只有精品视频在线| 伊人激情综合网| 99热久| 六月丁香婷婷综合在线| 影音先锋噜一噜| 亚州色婷婷| 五月婷婷丁香综合| 中文字幕丰满孑伦无码专区| 91丨九色丨老熟女激情| 99ri久久| 激情综合网亚洲色图| 亚洲色欲AAAAAA| 无码婷婷五月天| 色婷婷丁香香香蕉视频| 97超碰综合| 丁香九月激情| 国产99久| 婷婷中文字幕| 狠狠色噜噜色狠狠狠综合久久成人波| 中文字幕激情综合| 久久久婷| 婷色视频| 夜夜爽日日躁| 五月天婷婷伊人| 9l视频自拍9l九色9l成人| 狠狠色狠狠| www.色婷婷| 狠狠久久婷五月综合色| 色婷网| 99精品视频免费在线播放| 99在线免费视| 激情久久久久久久久| 91狠狠综合久久| 精品一区二区三区免费毛片爱| 丰满老熟妇BBBBB搡BBB| yellow视频在线观看91| 天天干com| 丁香婷婷五月六月久久| 婷婷五月综合丁香久久| 欧美激情五月天婷婷| 99在线国| 精国产品一区二区三区A片| 久月久在线视频| 久久久性爱网| 婷婷五月六| 精品久久99| 中文字幕1区2区。| 五月天无码视屏播放| 狠狠色狠狠色综合日日91| av色色国产| 人人摸人人| 久久精品日| 丁香五月婷婷五月天在线| 天天操,夜夜骑| 黄网在线观看免费| 94干大香蕉| 人妻性爱| 五月激情综合网| 综合久久婷婷99| AV电影在线播放| 婷婷射图五月天| 99色综合网| 久久人人做人人妻人人玩精品va| 天天色天天干天天插| 色色色综合| 福利视频在线播放| 97涩涩丁香五月天| 中文字幕无码人妻少妇免费视频| 97人妻碰碰中文无码久热丝袜| 夜丁香五月婷婷| 色五月婷婷在线| 91狠狠色色丁香婷婷综合久久| 只有久久精品免费| 色色欧美色色色| 日韩色色色色色| 久久亚洲天堂| 婷婷色色丁香五月天| 在热视频精品| 日韩三级视频一区二区| 国产综合网在线| 深爱五月天| www.91.com黄| 九九久久网| 五月天久久综合| 天天干夜夜谢| 久99视频在线观看| 99热这里有精力| 日本色色网站| 99日本精品视频热| 99在线观看视频免费| 成人在线视频一区| 免费黄色视频网址| 九九热精品在线| 三级黄网站| 九九热10| 在线区区区| 亚洲精品久久久久AV无码| 操91| 91av传媒高清在线视频网| 激情五月丁香综合蜜桃| 俺也去五月婷婷丁| 播四月婷婷六月丁香| 五月婷婷香蕉| 丁香五月在线播放| 99rewww| 大香蕉久久| 高清视频一区| 亚洲日韩乱码一区二区三区四区| 久久婷婷亚洲五月天| 年轻的妺妺伦理HD中文| 色爱五月天| 六月丁香婷婷大香蕉| 婷婷五月激情中文字幕| 久久五月婷| 5月丁香啪啪啪| 色欲婷婷夜夜| 亚洲激情六月| 色色色9| 天天做天天爱天天日| 99热国品| 99色五月| 丁香婷婷人妻综合网| 99riav 亚洲| va亚洲中文在线| 亚洲成人在线综合| 成人午夜视频精品一区| 99玖玖在线视频| 日本色色图| 中文字幕成人| 五月婷婷视频在线观看| wwxx日本| 91啪啪啪啪| 亚洲精品国产setv| 日本激情五月天‘| 五月丁婷香| 六月成人网| 午夜色丁香| 91丨九色丨高潮丰满日本| 香蕉久久国产AV一区二区| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 亚洲成人在线五月天| 日韩黄色电影| 日本操B视频在线观看| 婷婷亚洲欧美丁香五月| 99久久国产宗和精品1上映| 影音先锋一区二区资源站| 熟女网站久久| 亚洲综合激情五月| www,欧美干干干干干干| 成人精品人妻| 九九精品婷| 久色视频| 91啪啪视频| 天天五月情| 久久99精品视频| 99热传媒| 97精品人人A片免费看| 婷婷五月天综合AV| 五月激情偷拍| 五月丁香六月激情综合在线| 久青青久| 色综合久久天天综合网| 97婷婷丁香五月天激情图片| 九九九干精品| 日本综合色色| 婷婷五月天淫荡| www.97视频| 六月丁香婷婷开心综合基地| 五月婷婷丁香| 在线网黄| 国产色色视频| 亚洲欧美另类在线23p| 久久婷婷综合基地| 香蕉大综综综合久久| 97香蕉碰碰人妻国产欧美| 色综合激情| 五月婷婷伦理| 97人人干| 精品久热| 久月婷婷| 五月天社区| 中文字幕久久婷九女同| 色天使久久综合| 狠狠搞狠狠操| 天天精品视频免费观看| 婷婷天堂站| 91丨九色丨熟女| jiqingliuyuetian| 99乱视频| 亚洲色网址| 五月六月激情| 色J香五月天| 亚洲九九在线| 色综合天天天天做夜夜| 五月丁香婷婷成人综合网| 丁香九月婷| 99热这里有精品首页10| 伊人9草在线观看| 久久性综合| 97干在线| 91色呦哟| 丁香五月停停av| 五月天激情小说| www.色99| 欧美槡BBBB槡BBB少妇| 久久伊人大香蕉| 婷婷激情六月视频| 91操操| 丁香婷婷色情社区成人小说| 亭亭玉月丁香| 色婷丁香| CHINESE熟女老女人HD视频| 能看的AV| 国产精品成人网址| 一区三区视频有限公司| 97碰啪啪| 婷婷丁香五月天欧美| 婷婷另类开心| 激情网综合| 婷婷五月18永久免费视频| 人人爽亚洲| 色五月丁香伊人五月| 久狠日av| 五月婷婷av| 久久激情网| 日本猛少妇色XXXXX猛叫| 免费无码毛片一区二区A片| 丰满女老板BD高清A片| 国产在线aaa片一区二区99| 日产精品久久久久久久蜜臀| 99热久久日本| 婷婷六月激情小说网| 九九精品这里只有| 九九这里都是精品| 天天插天天爽| 俺去婷婷 丁香| XX久久| 丁香婷婷激情综合五月激情| av中文网站| 久久婷婷五月综合伊人| 人妻第九页| 97超碰在线观看免费| 色天堂在线| 国产精品久久久99视频| 色综合色色| 天天插综合网| www.久久9| 天天舔天天插天天爱| 婷婷丁香五月激情图片| 影音先锋色婷婷| 2018国产大陆天天弄| 久久婷婷大香蕉| 五月天堂色| 噜噜噜色噜噜| 色播五月丁香| 婷婷色中文| 日本在线视频手机播放五月婷| 这里只有免费精品| 疯狂做受XXXX高潮A片| 五月天激情日色在线| 婷婷综合五月| 99热这里只有精品3| 99性色| www超碰com| 亚洲丁香花色| 欧美天堂久久| 97成人视频| 色狠狠五月天| 婷婷精品在线| 操人精品| 婷婷亚洲欧美丁香五月| 性按摩玩人妻HD中文字幕| 六月色激情| 玖玖精品视频99| 色婷婷影视| 色情成人五月天| 亚洲性爱干干| 91九色精品女同系列| 婷婷激情五月呦呦| www.伊人天堂偷偷婷婷| 五月天婷婷久久| 9久热在线视频精品| 可以免费看AV网站| 99热午夜精品| 婷婷激情网五月天| 九九精品9| 月婷婷亚洲| 婷婷综合在线| 国产乱码久久| 五月婷在线| 特黄三级片| 播五月丁香三月婷婷| 色五月亚洲| 亚洲天天免费| 亚洲精品99| 丁香色五月婷婷17C| 久久婷五月综合| 色五月,婷婷大香蕉| 久久这里有精品视频在线免费观看| 激情九月婷婷| 天天干天天日日| 日日夜夜天天| 久久伊人日日夜夜| 五月精品99综合| 亚洲综合婷婷五月天| 亚洲亚洲人成综合网络| 久久99热 这里有精品| 99热国产| 天天射综合网夜夜操| 丰满人妻妇伦又伦精品国产| 婷婷五月天伊人网在线观看视频| 五月天sesese| 天天干天干| 美女爆乳18禁www久久久久久| 久热精品视频| 婷婷六月综合| 婷婷五月婷婷| 亚洲成人无码网站| 免费AV在线| 97操操操| 欧美私人家庭影院| 九九热99热| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 狠狠舔| 超碰av在线| 99re最新地址视频| 成人.在线日韩| WWW.色婷婷.COM| 超碰人人摸AV| 97在线刺激| 亚洲AV网站| 色九月| 热的国产,热的综合,热的有码| 亚洲中文字幕在线观看| 丁香五月六月综合欧美| 91Chinese在线| 婷婷五月激情网| 99视频在线观看视频| 97涩婷婷| 色99在线| 丁香五月六月激情久久| 96精品久久久久久久久| 99riav 亚洲| 亚洲操b| 色色五月丁香婷婷| 日操夜操天天操不卡| 亚洲中文乱字字幕在线永久| 五月婷婷黄色| 97在线视频 欧美| 激情av| 99爱免费在线视频| 玖玖国产视频一区| 91综合在线观看| 美日韩成人| 五月综合六月婷婷| 五月天激情综合首页| 天堂呦 呦百度搜索-百度搜索| 色综合色| 亚洲五月天狠狠| 97九色视频| 国产小精品| 五月丁香综合激情| 色情久久久| 丁香婷婷色| 综合AV网| 婷婷五月天色| 婷婷丁香六月| 天天摸天天透天天舔| 激情综合五月激情XXXX| 婷婷丁香成人五月天| 欧美成人猛片AAAAAAA| 67194中文字幕| 婷婷五月综合激情小说| 亚洲五月丁香综合网| 综合久久久婷| 婷婷五月成人社区| 激情都市另类| 97色色网| 91成人性爱视频| 一起草性爱不卡视频| caobi四区| 五月婷婷色影院| 婷婷丁香色女人| 色色五月天婷婷| 五月天天综合| 五月婷婷综合在线| 欧美色色色色色| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 婷婷综合在线网| 激情综合网五月婷婷| 激情五月婷黄版| 久久思思热视频| 热99精品视频观看| 99在线观看免费精品视频| 色情五月综合婷婷| 精品成人久久久久久久_一二三四视| 色综合99色| 亚洲综合网在线| 99色综合| 久久精品一区二区三区四区| 婷婷激情四射| 色丁香五月婷婷| 天天噜噜| 超碰av在线| 欧美日韩成人| 99日韩| 俺去也五月天| 激情小说五月天| 久热9| 婷婷欧美| 人妻久久久久久| 97色色婷婷| 亚洲操操操| 五月天激情国产综合婷婷| www超碰| 亚洲久热| 国产欧美性成人精品午夜| 欧美交换配乱吟粗大25P| 91日韩在线| 51精品国自产在线| www.ywav| 99久久97久久欧美综合网| 99re热在线视频观看| 激情五月色综合网| 开心六月婷| 成人色色综合| se99视频| 亚洲操逼网| 亚洲成人五月天| 色色色网站| 黄急一级视频| 婷婷五月中文字幕| 色色无码日韩| 久久这里只有国产精品视频| 亚洲精品永久久久久久| 婷婷色网| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 日韩九九视频| 日逼免费视频| 中文在线成人| 超碰在线91| 色图亚洲91| 久久人五月| AA丁香综合激情| 丁香婷婷人妻综合网| 99re视频精品| 婷婷五月天网| www91色网站| 成人电影AV在线观看| 无码九九| 五月婷av| 丁香五月影院| 欧美操我| 色播五月丁香婷婷| 91九色欧美| 久久99视频| 香蕉99网| 五月婷婷开心深| 九九热经典视频在线观看| 99久久久免费| 五月天婷婷激情六月久久| www色五月| www.婷婷,com| 五月激情六月综合| 一起肏在线视频| 丁香五月激情天AV无码| 99视频在线精品| 99热伊人| 99精品热视频| 婷婷激情社区| 国产做A爰片毛片A片美国| 婷婷色六月| 国产伊人五月天| 99视频这里有精品| 婷婷在线五月综合| 97五月天婷婷午夜| 综合久久影院| 狠狠色综合网站久久久久| 婷婷成人在线| 伊人99热| 秋霞AV淫| 99只有这里有精品在线视频| www。五月,com| 99热成人永久免费| 91热久久| 久9免费视频| 亚洲第一视频 久久| 噜噜五月天综合| 最新日韩久热免费视频看看| 免费视频这里只有精品| 国产露脸150部国语对白| 成人网址在线观看| 丁香五月婷婷色情综合| 婷婷终合色图| 99∨VTV| 大香人妻| 丁香五月亚洲| 久久久久久婷| 六月久久狠狠| 日韩一级淫乱片一区二区三区| 激情综合网,婷婷| 伊人五月天在线| 91婷婷搞| 91碰碰| 婷婷久久综| 婷婷五月天六月丁香| 中文字幕欧美精品久久| 婷婷开心久久| 97se在线视频| 26UUU欧美| 色约约视频一区二区三区四区五区 | 三级三久久线久久99久目本WW| 日韩久热| 婷婷色婷婷| 五月丁香六月婷| 色色丁香五月天| 思思99久久| 五月天婷婷爱| 免费黄色视频网址| 99热啪啪| 婷婷丁香五月激情图片| 玖玖婷婷免费| 终合激情网| 亚州第一A片| 天天操比比| 丁香玖玖视频大全| 综合色99| 激情q青青草在线婷婷| www激情| 激情五月综合六月丁香婷婷狠狠干| 99热久| 99热这里只有精品268| 五月丁香婷婷欧美| 都市激情五月婷婷综合| 日韩黄色中文字幕| 久久这里有| 高清成人综合| 天天干 夜夜爽| 亚洲熟妇AV综合网五月丁香伊人| 懂色av粉嫩av蜜臀av| 婷婷伊人五月| 亚洲成人网站在线| 亚洲综合久| 思思热在线视频观看精品| 中文幕无线码中文字蜜桃| 亚洲综合婷婷| 99久久精彩视频| 婷婷伊人久久| 五月婷婷狠天天色综合| http://www.com久久久精品一区| 人人摸人人| 日本视频99| 色吧五月| 人人操五月天| 五月网激情| 五月天开心色色网| 色综合99| 99热这里只有精品手机在线观看| 丁香五月婷婷少妇| 九九aV| 婷婷六月色播| 色色丁香| 成人精品网站在线观看| www色婷婷| 操笔无码| 狠狠色丁香久久婷婷综合五月| 俺去也五月天婷婷| 婷婷丁香色情五月天| 1024手机在线观看看片_日韩精品| 五月开心久久| 婷婷五月天久久| 激情宗合哪里能看| 亚洲国产成人AV在线| 草草视频91| 婷婷.com| 99激| 色婷婷a| av高清无码| 69色婷婷| 亚洲婷婷丁香五月视频| 免费亚洲婷婷中文字幕| 激情性爱婷婷| 91色色五月天| 天天做天天爱天天高潮| 色综合九九色综合88| 色情久久久| 天天摸.天天mo| 成人午夜免费电影| 欧美三级大片AA在线看| 欧美性生交XXXXX无码小说| 欧美性爱一区| 激情五月天激情五月天| 婷婷综合在线观看视频| 色五月婷婷 成人| 狠狠狠狠狠狠色| 日日操夜夜操中国无码| 久久精品凹凸分类| 人妻AV在线| 婷婷伊人久久| 五月丁香好婷婷A片网| 丁香六月五月天| 丁香婷婷久久老熟女综合网| henhencao国产在线| 99日本黄站| 一区二区免费看| 久久码久久无清| 任你干aa| 岛囯综合激情网| 无码成人AAAAA毛片AI换脸| 亚洲九九夜夜| 色婷婷视频| 99re8在这里只有精品| 午夜天堂啪啪| www激情| 久久久久9999| 深爱综合网| 99色网站| 99这里都是精品| 九九这里有精品| 99热手机在线精品| 九九99久久| 欧洲色色| 久久色六月| 亚洲婷婷性爱| 9999综合99综合人| 综合色吧| 婷婷综合色图| 久久草中文日韩欧美| 五月婷婷亚洲| 五月天婷婷丁香导航| 国产精品色婷婷久久久精品| 久久曰9| 看婷婷五月天网| 成人做爰黄A片免费看直播室男男 久草热8精品视频在线观看 | 东京热人妻一区二区三区在线| 色五月 婷婷, 大香蕉| 婷婷大香焦| 超级碰碰一区| 五月天婷婷AV| 伊人影音无码一区二区三区| 日日干日日s| 五月丁香激情深爱婷婷| WWW,五月| 日本熟妇精品99| 色99视频| 国产精品成人网址| 色婷婷69| 免费日韩99| 亚洲成人va| 欧美激情五月天| 开心深爱激情网| 刘玥av在线| 亚洲色五月婷婷| 91久久久久久久久| 人人爽人人爽人人爽人人爽| 丁香五月天激情免费在线观看AV777| 色色99| 色色婷婷丁香| Av在线资源| 亚洲综合成人网| 日韩成人精品一区久久久久| 色噜噜五月天| 蜜桃成语时李时珍 免费| 亚洲激情Av| 男人的天堂999| 五月丁香六月婷婷在线播放| 超碰99资源站| 老美AA片| 色婷婷欧美| 婷婷五月综合啪| 五月激情综合网| 91性交在线播放| PORNY九色9l自拍视频成人| 五月天婷五月天综合网在线观| 久热这里只有精品99re| 丁香五月激情综合| 综合五月丁香六月婷婷| 久久五月天黄色五月天色网址| 99无码黄色视频| 99色| 久久久18| 五月久视频| 蜜桃成语时李时珍 免费| 踪合专区啪啪| 99视频网| 午夜不卡久久精品无码免费| 91碰碰视频| 色播婷婷五月天| 可以看的av| 丁香五月婷婷色| 色婷久久| 六月婷基地| 丁香五月六月激情| 婷婷久久久| 丁香久久五月婷综合| 天天干天天爽天天操| 婷婷五月天AV| 中文激情网| 五月婷婷影院| 99久久婷婷五月| 激情五月天综合图片小说网站| 六月婷婷激情图片| 激情久久 婷婷| 五月激情婷婷开心| 亚洲精品V天堂中文字幕 | 激情综合五月色丁香婷婷 | 综合久久高清| 人人97操| 有哪些A片网站| 无码激情AAAAA片-区区| 天天爽天天爽天天爽天天爽天天爽| 五月婷婷六月丁香在线| 欧在线一区| 色五月天激情| 国产午夜精品一区二区三区四区| site:xmssd.com| 婷婷无码视频| 99在线观看精品| www.99热在线| 碰碰人人漕| 丁香五月成人av| 97久操| 丁香六月婷婷综合欧美| 麻豆123区| 久久只有18视频| 北条麻妃伊人 | 色五月天天在线观看资源站| 亚洲精品午夜国产va久久成人| 99视频在线播放大全| 无码动漫av| 日本色色网站| 色玖玖爱| 五月婷婷综合网| 色99网站| 五月婷伊人| 一二线视频 另类| 激情五月婷婷在线| 九九综合88| 色五月婷婷小说亚洲中文字幕组| 热久69| 婷婷色在线视频| 99在线精品视频| 色五月激情网| 六月丁香基地| 中日韩美欧成人一区二区精品在线| 99在线看片| 五月丁香激情综合网官网| 色五月婷婷小说亚洲中文字幕组| 久久Xx| 五月天激情四射| 精品人妻伦| 91在线视频观看午夜福利| 热热久久99| 中文字幕九九九九| 丁香五月激情五月| 激情网综合| 影音先锋偷偷色男人站| 午夜天堂啪啪| 婷婷色播六月无码| 综合久久十| 99色在线| 视频这里只有精品| 人五月天婷婷喷水| 人人操AV| 五月天国产成人| 久久九网| 另类激情五月| 涩涩五| 伊人五月婷婷国产视频| 久热91| 色婷婷色五月天| 久婷五月| 热99.com婷婷| 婷婷五月天小说网| 色五月婷婷激情| 99日韩| 99色人| 五月婷婷丁香| 欧美丁香五月天| 99热播放| 国产精品24r| 99热8| 五月婷六月| 六月色婷婷色| 激情五月丁香色色去久久| 色婷婷电影网| 婷丁香五月天| 五月婷婷免费视频| 男女99免费视频| 九九久久玖玖爱| 五月婷婷色| 婷婷五月天伊人| AⅤ色区| 九热视频| www.无码com| 色伊人91在线视频| 天天操天天干天天日| 开心五月网| 森林影视大全,最好看的2019年视频 | 青青草青青草五月天| 婷婷久久综合久| 五月天婷婷激情综合| 六月婷婷狠狠| 日本三级韩三级99久久| 日韩无码性爱| 九月丁香八月婷婷加勒比| 激情五月丁香五月| WWW.桔色成人.COM| 丁香婷婷在线| 日韩激情人伦人| 久热精品视频在线观| 啪啪六月婷婷| 996黄色片| 成人婷婷色综合| 亚洲九九夜夜| 丁香五月电影| 日本久久婷| 婷婷丁香五月婷婷| 人人爱人人摸人人澡| 丁香婷婷偷拍| 丁香五月综合色婷婷| 操久久网| 亚洲第一综合| 五月婷婷六月丁香在线视频| 婷婷五月天成人影片| 天天拍天天做视频| 日韩人妻无码一区二区| 亚洲色情久久| 九九色热| 久久这里只有精彩| 99色婷婷视频| 九九色逼| 亚洲精品乱码久久久久久按摩观| 日本久热| 久草大| 内射综合网| 大香蕉伊人99| 久久婷.com| 99久在线精品| 91久热| 国产乱码久久| 亚洲中文丁香| 婷婷天天插天天爱| 五月丁香六月婷婷综合网| 天天日日天天| 婷婷狠狠五月综合| 99精品22| 五月婷婷之综合激情| 五月丁香婷婷成人网| 五月天久久婷婷| 欧美五月婷婷| 91碰在线| 开心五月深爱五月| 亚洲中文字幕在线观看| 风流少妇A片一区二区蜜桃| 国产69久久久欧美黑人A片| 99ER热精品视频| 亚洲深喉aV| 人妻在线观看视频| 综合亚洲AV| 99在线观看视频| 色八月婷婷| 婷婷 亚洲图片 丁香| 五月婷婷开心丁香| 99亚洲精品| 激情综合无码| 少妇人妻人伦A片| 综合久久激情久久| 色婷婷性爱| 九九碰九九爱97超| 六月丁婷婷| 99爱精品视频| 伊人久久大香蕉网| 啪啪啪综合网| 草榴成人影片| 亚洲av免费在线| 丁香五月激情欧欧美| 色婷婷丁香五月天| 日本久久婷婷| 极品人妻VIDEOSSS人妻| 五月天婷婷丁香人人操91| 任你擦免费视频| 精品久久人妻热| 婷婷五月天在线观看免费| 91viP在线看| 欧美成人猛片AAAAAAA| 丁香六月综合激| 99热大全在线观看| 成人综合伍月天| www.久久| 九九综合五月欧美| 玖玖在线视频| 秋霞三及片| 五月香婷婷| 亚洲精品第一国产综合亚AV | ady狠狠入| 99久久丝| 五月亭亭直播| 极品少妇XXXX精品少妇偷拍| 蜜乳人妻一区二区三区| 久久丁香五月| 大香伊人婷婷| 婷婷综合五月激情| 五月丁香成人| 97luluse| 狠狠操天天操| 久久婷婷丁香| 91国产精品视频播放| 国产人妻操逼| 夜夜干天天操| 欧美午夜乱妇午夜福利| 人妻综合网| 五月婷婷免费看| 免费做A爰片77777| 婷婷丁香九月| 久草热视频在线观看| 色噜噜狠狠色综无码久久合欧美| 免费人人操| 狠狠干伊人| 亚洲午夜AV| 色五月婷婷av| 五月综合无码| 人妻有码乱操| 色婷婷五月天天天做| 九九99久久| 丁香久久综合| 久久九九免费视频| 久99久视频精品| 欧美久久五月婷婷| 六月婷婷开心| 99玖玖在线视频| 五月婷婷激情久久| 啪啪日本欧美| 色五月五月丁香| 五月天综合网| 99免费视频久久| 亭亭色色五月天| 碰碰人人漕| 天天色色天天| 男女啪啪视频久 9| 99爱免费在线视频| 免费看欧美成人A片无码| 99热这里只有精品268| 婷婷五月色情天| 激情四射网| 狠狠爱婷婷爱| 九九精品热播| 99色精品| 久久超视频| 五月丁香婷婷深深爱| 欧美男女婷婷| 五月丁香免费看| 99热很操老逼| 伊人五月综合网| 丁香婷婷五月综合| 欧美成人va| 丁香五月综合激情性爱| 婷婷色片| 97丁香婷婷| 色爱综合网| 丁香六月综合激情| www.夜夜| 五月色欧洲| AAA级久久久精品| 久久96热| 综合九色| 久久婷婷五月综合色丁香| 1999天天操夜夜操| 色婷婷五月在线| 无码激情| 99热思思| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 亚洲最大五月六月丁香婷婷| 岛囯综合激情网| 丁香色婷婷五月天| 99热碰碰| 99操逼视频| 成人噜噜网| 国产精品第一国产精品| 丁香五月婷婷成人网| 91九九热| 六月色婷婷| 日韩成人AV在线| 开心激情婷婷| 99热这里只有精品官网| 五月天AV大香蕉| 99精品视频网站| 日本无va视频| 日本色超碰| 日本啪啪网| 丁香婷婷五月激情综合| 丁香婷婷成年| 激情五月天婷婷在线网址发给我| 亚州操操| 天天干天天做| 999热在线视频| 玖玖色综合网| 曰韩少妇内射免费播放| 丁香激情五月少妇| 色婷婷操逼| 免费看欧美成人A片无码| 99视频网| 成人精品在线| 欧美三级视频| 久久久网站| 九九色99| 超碰在线免费9| 中文字幕丰满孑伦无码专区| 久久99热这里只有精品| 精品在线| 狠狠狠狠青草| 九九热在线精品视频| 99操逼| 色情五月天视频网| 色综合色色色色色色综合| 日本三级中国三级99人妇网站| 天天操天天谢| 九九狠狠干| 婷婷丁香日韩五月| 我爱大香蕉| 狠狠色噜噜| 激情文学 综合 色| 久久激情婷婷| 激情五月婷婷| 五月婷婷AV| 麻豆五月丁香婷婷| 久久9视频| 大香蕉在线观看9| www久久久| 丁香五月开心亚洲| 狠狠操在线视频| 日韩婷婷| 五月婷免费视频| 亚洲欧洲中文日韩久久AV乱码| 五月丁香色婷婷色| 婷婷五月精品中文字幕| ww亚洲ww在线观看| 蜜桃婷婷狠狠久久| 五月丁香久久激情综合| 99精品网| 婷婷五月天丁香| 久久这里只有精品8| 九九操综合网| 熟女色专区| 99久精品视频| 婷婷丁香五月在线观看91| 九九性视频| www.色五月| 伊人玖玖网| 可似看的AV| 先锋资源 996| 好吊操这里只有精品| 国産精品| 丁香五月天狠狠操| 99热亚洲综合| 任你弄在线视频免费| 午夜不卡久久精品无码免费 | 丁香六月婷婷| 久久机热/这里只有精品| 婷婷色五月开心五月| 丁香五月激情啪啪| 99国产性感视频| 色丁香综合影院| 热99视频精品| 激情婷婷色小说| 色婷婷五月天激情| 99热国产精品| 爆乳熟妇一区二区三区爆乳照片| 色色日本欧美| 色婷婷五月影院| 97偷拍在线视频| 婷婷五月综合免费在线| 五六月婷婷久久| 久综合4| 热日韩欧美| 婷婷丁香五月社区亚洲| 欧美97超碰| 日韩中出视频| 成人视频免费观看高清完整版在线观看| 99国产在线精品视频| 国产精品涩涩涩视频网站| 日产精品一线二线三线芒果| 婷婷97狠狠成人网站| 少妇被躁爽到高潮无码文| 色偷偷AV亚洲男人的天堂| 少妇人妻人伦A片| 中日韩美欧成人一区二区精品在线| 丰满人妻妇伦又伦精品国产| 亚洲情综合五月天| 中文字幕 中文字幕明步| 成人做爰黄A片免费看直播室男男| 成人无码精品1区2区3区免费看 | 天天干天天操| 久热网在线视频| 色色色综合色| 激情综合网五月丁香| 操一区| 亚洲天堂热| 91人在线观看| 狠狠色中色| 9 1在线视频| 五月婷在线影院| 婷婷五月丁香基地在线视频官网| 综合五月草| 亚洲久久婷婷丁香五月天| 久久这里只有欧美| 日本色五月婷婷| AV电影在线播放| 伊人激情AV一区二区三区| 丁香六月婷婷缴情欧美| 丁香五月久久社区| AV操逼网| 热热久久精品视频| 五月综合六月婷婷| 色五月成人| 青青草五月天| 五月综合激情久久| 性爱人人网| 女人露出p毛视频www网站| 99色热视频| 日日干日日| 亭亭玉月丁香| 婷婷在线日韩综合| 亚洲婷婷丁香| 日韩av干| 丁香五月婷婷五月天| 日韩aaa| WWW色五月| 色婷婷AV在线| 日日干综合| 婷婷五月天美女21p| 日本狠狠色| 丁J香六月首页| 婷婷五月天丁香| 久久婷婷五月综合色丁香| 丁香婷婷五月天激情四射| 任你躁XXXXX麻豆精品| 91互操| 九月丁香八月婷婷加勒比| 婷婷五月天激情电影| 日在线V视频在线播放| 天天综合五月天| 中文幕无线码中文字蜜桃| 五月丁香成年黄色| 六月丁香激情最新更新| 九九无码| 热91久| 99久在线| 久久成人人妻| 97干在线| 亚洲精品在线视频| 五月丁香婷婷中文网| 精品人人操| 午夜激情久久| 综合99在线| 激情久久肏屄视频| 丁香影院五月综合| 影音先锋xfplay资源男人网| 婷婷 色 丁香 夜| 人妻VideOssS人妻| 丁香五月婷婷成人色区| 婷婷色在线播放| 天堂久久久久天堂网| 思思热国产视频| 91狠狠色色丁香婷婷综合久久| 丰满人妻妇伦又伦精品国产 | 欧美日本高清视频99| 婷婷五月天六月综合| 亚洲精品国产成人AV在线| 97超碰色| 五月天色婷婷小说| 丁香六月五月天| 日韩另类在线观看| 国产色99| 亚洲日韩操B| WWW丁香五月| 97色婷| 91久久综合亚洲噜噜成人在线 | 亚洲另类在线观看| 操一区| 色婷婷88| 影音先锋天天日| 五月天色婷婷激情| 操日本99| 97色伦另类图片小说视频 | 激情综合丁香六| 激情五月婷婷在线区| 五月婷婷激情网| 99九色视频在线观看| 色激情五月| 黄久久久| 人人摸人人| 成人啪啪色婷婷久| 久久国产色| 伊人热婷婷| 激情五月丁香五月| 久久婷婷五月综合色天| 99热12| 伊人喵咪a V| 天天干天天爽天天操| 色婷插| 色小说五月婷婷| 婷婷婷狠狠| 深爱五月天天| 国产精品成av人在线视午夜片| 色播丁香婷婷五月激情| 五月激情综合网婷婷| 国内精品玖玖|