色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

從零構(gòu)建LLM評估框架:實(shí)戰(zhàn)Harness實(shí)現(xiàn)與多模型對比測試

從零構(gòu)建LLM評估框架:實(shí)戰(zhàn)Harness實(shí)現(xiàn)與多模型對比測試 1. 項(xiàng)目緣起從“黑盒”到“白盒”的探索最近在折騰大模型應(yīng)用開發(fā)時(shí)我遇到了一個(gè)挺典型的問題手頭有好幾個(gè)不同的LLM大語言模型服務(wù)比如OpenAI的GPT、Claude還有幾個(gè)開源的模型。每次想測試一個(gè)新提示詞Prompt在不同模型上的效果或者對比不同模型對同一任務(wù)的響應(yīng)質(zhì)量都得手動一個(gè)個(gè)去調(diào)用API然后把返回結(jié)果復(fù)制粘貼到文檔里再人工去比對。這個(gè)過程不僅繁瑣低效而且很難做到標(biāo)準(zhǔn)化評估比如響應(yīng)時(shí)間、輸出格式一致性、成本消耗這些關(guān)鍵指標(biāo)全靠感覺。這讓我想起了軟件測試?yán)锏摹皽y試工具鏈”。我們不會手動去點(diǎn)每一個(gè)按鈕來測試功能而是會用像JUnit、Pytest這樣的框架來編寫自動化測試用例。那么對于LLM應(yīng)用是不是也應(yīng)該有這樣一個(gè)“測試框架”呢這就是我接觸到“Harness”概念的起點(diǎn)。在AI工程領(lǐng)域Harness這個(gè)詞常被用來指代一套用于評估、測試和管理AI模型特別是LLM的框架或工具集。它的核心目標(biāo)是把模型評估這個(gè)事從隨意、手工的狀態(tài)變成系統(tǒng)化、自動化、可重復(fù)的過程。網(wǎng)上確實(shí)有一些現(xiàn)成的工具比如著名的lm-evaluation-harness現(xiàn)在常被稱為EleutherAI LM Harness。它功能強(qiáng)大覆蓋了海量的評測任務(wù)。但我在實(shí)際想用的時(shí)候發(fā)現(xiàn)了一些痛點(diǎn)一是它通常更偏向于學(xué)術(shù)界的基準(zhǔn)測試對于我這種想快速驗(yàn)證業(yè)務(wù)場景提示詞效果的開發(fā)者來說有點(diǎn)“重”二是它的配置和擴(kuò)展對于不熟悉其代碼結(jié)構(gòu)的人來說學(xué)習(xí)成本不低三也是最重要的我想徹底搞明白這背后的機(jī)制而不是當(dāng)一個(gè)“調(diào)包俠”。知其然更要知其所以然自己動手實(shí)現(xiàn)一個(gè)輕量化的、貼合自身需求的Harness就成了一個(gè)很有吸引力的挑戰(zhàn)。所以這個(gè)項(xiàng)目的標(biāo)題“實(shí)戰(zhàn)復(fù)盤我是如何用代碼實(shí)現(xiàn) Harness 的”就是記錄我從零開始用Python設(shè)計(jì)和編碼構(gòu)建一個(gè)屬于我自己的、輕量級LLM評估工具鏈的全過程。它不追求大而全而是聚焦于解決我實(shí)際開發(fā)中的痛點(diǎn)自動化、標(biāo)準(zhǔn)化地對比不同LLM API對同一組提示詞的響應(yīng)。2. 核心設(shè)計(jì)思路一個(gè)輕量評估框架的藍(lán)圖在開始敲代碼之前我得先想清楚這個(gè)自研Harness到底要干什么以及怎么干。大方向是自動化評估但具體落到設(shè)計(jì)上需要拆解出幾個(gè)核心模塊。2.1 需求定義與架構(gòu)選型我的核心需求很明確多模型支持能夠方便地接入不同的LLM服務(wù)提供商如OpenAI、Anthropic、Google等以及本地模型。任務(wù)定義能夠以結(jié)構(gòu)化的方式定義一組“評測任務(wù)”每個(gè)任務(wù)包含輸入提示詞Prompt和預(yù)期的評估標(biāo)準(zhǔn)不一定是標(biāo)準(zhǔn)答案可能是評分規(guī)則。自動化執(zhí)行框架能自動遍歷所有任務(wù)調(diào)用配置的模型執(zhí)行推理并收集結(jié)果。結(jié)果收集與比對將不同模型對同一任務(wù)的結(jié)果并排收集方便人工或自動比對。需要記錄關(guān)鍵指標(biāo)如響應(yīng)內(nèi)容、耗時(shí)、Token使用量、成本如果API計(jì)費(fèi)等??蓴U(kuò)展性易于添加新的模型接口、新的評估指標(biāo)或新的任務(wù)類型?;谶@些需求一個(gè)典型的分層架構(gòu)浮現(xiàn)在腦海中任務(wù)層 (Task Layer)負(fù)責(zé)定義和管理具體的評測任務(wù)。一個(gè)任務(wù)就是一個(gè)(prompt, evaluation_criteria)對。執(zhí)行層 (Execution Layer)核心引擎。負(fù)責(zé)加載任務(wù)調(diào)用配置好的模型執(zhí)行推理并處理可能的錯(cuò)誤如網(wǎng)絡(luò)超時(shí)、API限流。模型適配層 (Model Adapter Layer)這是實(shí)現(xiàn)多模型支持的關(guān)鍵。為每個(gè)支持的LLM服務(wù)編寫一個(gè)統(tǒng)一的“適配器”Adapter將框架內(nèi)部的通用請求格式轉(zhuǎn)換為特定API所需的格式并解析其返回結(jié)果。結(jié)果層 (Result Layer)定義標(biāo)準(zhǔn)化的結(jié)果數(shù)據(jù)結(jié)構(gòu)并負(fù)責(zé)將不同模型對同一任務(wù)的結(jié)果聚合、持久化如保存為JSON或CSV文件并生成易于閱讀的報(bào)告如Markdown表格。為什么不直接用langchain這類框架langchain的核心是構(gòu)建復(fù)雜的工作流鏈Chain其LLM類雖然也統(tǒng)一了接口但它的設(shè)計(jì)重心在于鏈?zhǔn)秸{(diào)用和記憶等高級功能對于純粹的、批量的、帶對比的模型評測場景封裝得不夠直接。自己實(shí)現(xiàn)可以更聚焦控制每一個(gè)細(xì)節(jié)比如精確計(jì)時(shí)、自定義重試邏輯、更靈活的結(jié)果收集。2.2 關(guān)鍵技術(shù)點(diǎn)與工具選型編程語言毫無疑問是Python。它在AI和數(shù)據(jù)科學(xué)領(lǐng)域的生態(tài)是無與倫比的有豐富的HTTP客戶端、數(shù)據(jù)處理和序列化庫。異步 vs 同步考慮到可能會批量測試數(shù)十上百個(gè)提示詞使用異步IO可以大幅提升效率尤其是在網(wǎng)絡(luò)請求成為瓶頸時(shí)。Python的asyncio庫和aiohttp是首選。配置管理模型的API Key、Base URL等敏感信息不能硬編碼。使用pydantic配合.env文件或config.yaml來管理配置既安全又靈活。數(shù)據(jù)序列化任務(wù)定義和結(jié)果存儲使用JSON格式因?yàn)樗强缯Z言、人類可讀的并且Python的json模塊支持得很好。對于最終報(bào)告可以結(jié)合pandas將結(jié)果轉(zhuǎn)為DataFrame再輸出為CSV或Markdown。錯(cuò)誤處理與重試網(wǎng)絡(luò)請求不穩(wěn)定API有速率限制。必須實(shí)現(xiàn)健壯的錯(cuò)誤處理和指數(shù)退避的重試機(jī)制。tenacity庫是一個(gè)很好的選擇。這個(gè)設(shè)計(jì)藍(lán)圖看起來清晰了接下來就是把這些模塊用代碼搭建起來。3. 分步實(shí)現(xiàn)從零搭建代碼Harness我將按照自底向上的順序先實(shí)現(xiàn)最基礎(chǔ)的模型適配器再構(gòu)建執(zhí)行引擎最后定義任務(wù)和結(jié)果處理。3.1 第一步構(gòu)建統(tǒng)一的模型適配器接口適配器的目標(biāo)是對外提供統(tǒng)一的generate(prompt: str) - str方法對內(nèi)處理各自API的差異。首先定義一個(gè)抽象基類規(guī)定所有適配器必須實(shí)現(xiàn)的方法。# model_adapters/base.py import abc from typing import Optional, Dict, Any from pydantic import BaseModel class ModelResponse(BaseModel): 標(biāo)準(zhǔn)化的模型響應(yīng)結(jié)構(gòu) content: str # 模型返回的文本內(nèi)容 model_name: str # 模型標(biāo)識如 gpt-4 prompt_tokens: Optional[int] None completion_tokens: Optional[int] None total_tokens: Optional[int] None latency: Optional[float] None # 請求耗時(shí)單位秒 cost: Optional[float] None # 估算成本單位美元或其他貨幣 class BaseModelAdapter(abc.ABC): 模型適配器抽象基類 def __init__(self, model_name: str, **kwargs): self.model_name model_name # 可以在這里初始化客戶端如OpenAI客戶端 self.client self._initialize_client(**kwargs) abc.abstractmethod def _initialize_client(self, **kwargs): 初始化特定模型的客戶端 pass abc.abstractmethod async def generate_async(self, prompt: str, **generation_params) - ModelResponse: 異步生成文本的核心方法。 :param prompt: 輸入的提示詞 :param generation_params: 模型特定的生成參數(shù)溫度、top_p等 :return: 標(biāo)準(zhǔn)化的ModelResponse對象 pass # 也可以提供一個(gè)同步版本作為備選 def generate_sync(self, prompt: str, **kwargs) - ModelResponse: import asyncio return asyncio.run(self.generate_async(prompt, **kwargs))接下來實(shí)現(xiàn)一個(gè)具體的適配器比如OpenAI的。# model_adapters/openai_adapter.py import time from typing import Optional import openai from .base import BaseModelAdapter, ModelResponse class OpenAIModelAdapter(BaseModelAdapter): def _initialize_client(self, api_key: str, base_url: Optional[str] None, **kwargs): # 使用OpenAI官方庫或直接HTTP請求 client openai.AsyncOpenAI(api_keyapi_key, base_urlbase_url) return client async def generate_async(self, prompt: str, **generation_params) - ModelResponse: start_time time.time() try: # 設(shè)置默認(rèn)參數(shù)并允許通過kwargs覆蓋 params { model: self.model_name, messages: [{role: user, content: prompt}], temperature: 0.7, max_tokens: 1024, **generation_params # 用戶自定義參數(shù)優(yōu)先級最高 } response await self.client.chat.completions.create(**params) end_time time.time() latency end_time - start_time # 提取響應(yīng)內(nèi)容 content response.choices[0].message.content # 提取Usage信息 usage response.usage prompt_tokens usage.prompt_tokens if usage else None completion_tokens usage.completion_tokens if usage else None total_tokens usage.total_tokens if usage else None # 簡單成本估算示例實(shí)際需根據(jù)官方定價(jià)計(jì)算 cost None if total_tokens: # 這里需要根據(jù)具體模型定價(jià)設(shè)置例如 gpt-4o 的輸入輸出價(jià)格 # 僅為示例非真實(shí)計(jì)算 cost total_tokens * 0.00001 return ModelResponse( contentcontent, model_nameself.model_name, prompt_tokensprompt_tokens, completion_tokenscompletion_tokens, total_tokenstotal_tokens, latencylatency, costcost ) except Exception as e: end_time time.time() # 返回一個(gè)包含錯(cuò)誤信息的響應(yīng)而不是直接拋出異常便于框架統(tǒng)一處理 return ModelResponse( contentf[ERROR] {str(e)}, model_nameself.model_name, latencyend_time - start_time )注意成本估算是非常粗略的實(shí)際應(yīng)用中需要根據(jù)每個(gè)模型的官方定價(jià)表如每1000個(gè)輸入/輸出Token的價(jià)格來實(shí)現(xiàn)精確計(jì)算邏輯并考慮是否區(qū)分輸入和輸出Token。這里僅作演示。同理可以創(chuàng)建AnthropicModelAdapter、GoogleGeminiAdapter等。對于通過ollama運(yùn)行的本地模型可以創(chuàng)建一個(gè)OllamaModelAdapter其_initialize_client可能只是一個(gè)配置了基礎(chǔ)URL的httpx.AsyncClient而generate_async方法則向http://localhost:11434/api/generate發(fā)送特定的POST請求。3.2 第二步定義任務(wù)與構(gòu)建執(zhí)行引擎任務(wù)定義很簡單就是一個(gè)包含提示詞和元數(shù)據(jù)的對象。# tasks/task.py from pydantic import BaseModel from typing import Optional, Dict, Any class EvaluationTask(BaseModel): id: str # 任務(wù)唯一標(biāo)識 prompt: str # 提示詞 metadata: Optional[Dict[str, Any]] None # 可附加額外信息如類別、預(yù)期答案片段等執(zhí)行引擎HarnessRunner是大腦。它負(fù)責(zé)加載所有任務(wù)初始化所有配置的模型適配器然后并發(fā)地執(zhí)行每個(gè)任務(wù)在所有模型上的推理。# harness/runner.py import asyncio from typing import List, Dict from tasks.task import EvaluationTask from model_adapters.base import BaseModelAdapter from result_collector import ResultCollector # 稍后實(shí)現(xiàn) class HarnessRunner: def __init__(self, model_adapters: Dict[str, BaseModelAdapter]): :param model_adapters: 字典key為模型顯示名value為初始化好的適配器實(shí)例 self.model_adapters model_adapters self.collector ResultCollector() async def run_task(self, task: EvaluationTask, model_name: str, adapter: BaseModelAdapter): 單個(gè)任務(wù)在單個(gè)模型上執(zhí)行 print(fRunning task {task.id} on model {model_name}...) response await adapter.generate_async(task.prompt) # 將結(jié)果存入收集器 self.collector.add_result(task_idtask.id, model_namemodel_name, responseresponse, task_metadatatask.metadata) async def run_all_tasks(self, tasks: List[EvaluationTask]): 并發(fā)執(zhí)行所有任務(wù)在所有模型上 semaphore asyncio.Semaphore(10) # 控制最大并發(fā)數(shù)避免被API限流 async def run_with_semaphore(task, model_name, adapter): async with semaphore: await self.run_task(task, model_name, adapter) # 創(chuàng)建所有協(xié)程任務(wù) coroutines [] for task in tasks: for model_name, adapter in self.model_adapters.items(): coroutines.append(run_with_semaphore(task, model_name, adapter)) # 并發(fā)執(zhí)行 await asyncio.gather(*coroutines, return_exceptionsTrue) # return_exceptions防止單個(gè)失敗導(dǎo)致整體崩潰 print(All tasks completed.) return self.collector這里的關(guān)鍵是使用了asyncio.Semaphore來控制最大并發(fā)量。無節(jié)制地并發(fā)調(diào)用API很容易觸發(fā)速率限制Rate Limit導(dǎo)致大量請求失敗。設(shè)置一個(gè)合理的信號量值比如5或10是保證穩(wěn)定運(yùn)行的重要技巧。3.3 第三步實(shí)現(xiàn)結(jié)果收集與報(bào)告生成結(jié)果收集器需要結(jié)構(gòu)化地存儲數(shù)據(jù)并支持導(dǎo)出。# result_collector.py from typing import List, Dict, Any from model_adapters.base import ModelResponse import pandas as pd import json class ResultCollector: def __init__(self): self.results: List[Dict[str, Any]] [] # 存儲所有結(jié)果的列表 def add_result(self, task_id: str, model_name: str, response: ModelResponse, task_metadata: Dict None): record { task_id: task_id, model: model_name, prompt: task_metadata.get(prompt_snippet, ) if task_metadata else , # 可存提示詞片段 response: response.content, latency: response.latency, total_tokens: response.total_tokens, cost: response.cost, error: [ERROR] in response.content # 簡單錯(cuò)誤標(biāo)識 } self.results.append(record) def to_dataframe(self) - pd.DataFrame: 將結(jié)果轉(zhuǎn)換為Pandas DataFrame便于分析 return pd.DataFrame(self.results) def save_to_json(self, filepath: str): with open(filepath, w, encodingutf-8) as f: json.dump(self.results, f, ensure_asciiFalse, indent2) def generate_report(self, output_path: str report.md): 生成一個(gè)簡單的Markdown格式報(bào)告 df self.to_dataframe() if df.empty: report # Evaluation Report\n\nNo results collected. else: # 按任務(wù)ID分組橫向?qū)Ρ炔煌P偷捻憫?yīng) report_lines [# LLM Evaluation Harness Report\n] for task_id in df[task_id].unique(): report_lines.append(f\n## Task: {task_id}\n) task_df df[df[task_id] task_id] # 選擇需要展示的列 display_df task_df[[model, response, latency, total_tokens, cost]] report_lines.append(display_df.to_markdown(indexFalse)) report_lines.append(\n---) report \n.join(report_lines) with open(output_path, w, encodingutf-8) as f: f.write(report) print(fReport generated: {output_path})3.4 第四步組裝與運(yùn)行——一個(gè)完整的示例現(xiàn)在我們把所有部分組裝起來寫一個(gè)主程序。# main.py import asyncio import yaml from tasks.task import EvaluationTask from model_adapters.openai_adapter import OpenAIModelAdapter from model_adapters.anthropic_adapter import AnthropicModelAdapter # 假設(shè)已實(shí)現(xiàn) from harness.runner import HarnessRunner def load_config(config_path: str): with open(config_path, r) as f: return yaml.safe_load(f) def create_tasks(): 創(chuàng)建評測任務(wù)列表 tasks [ EvaluationTask( idtask_1_summarize, prompt請用一句話總結(jié)《三體》的核心矛盾。, metadata{category: summarization, language: zh} ), EvaluationTask( idtask_2_code, prompt用Python寫一個(gè)函數(shù)判斷一個(gè)字符串是否是回文。, metadata{category: code_generation} ), EvaluationTask( idtask_3_reasoning, prompt如果所有貓都怕水而我的寵物Socks是一只貓那么Socks怕水嗎請一步步推理。, metadata{category: logical_reasoning} ), ] return tasks async def main(): # 1. 加載配置API Keys等應(yīng)從環(huán)境變量或安全配置讀取 config load_config(config.yaml) # 2. 初始化模型適配器 model_adapters {} openai_config config[models][openai] model_adapters[gpt-4o] OpenAIModelAdapter( model_namegpt-4o, api_keyopenai_config[api_key] # base_url... 可配置 ) # 同理初始化Claude # model_adapters[claude-3-sonnet] AnthropicModelAdapter(...) # 3. 創(chuàng)建執(zhí)行器 runner HarnessRunner(model_adapters) # 4. 加載任務(wù) tasks create_tasks() # 5. 運(yùn)行所有任務(wù) collector await runner.run_all_tasks(tasks) # 6. 保存結(jié)果和生成報(bào)告 collector.save_to_json(results.json) collector.generate_report(evaluation_report.md) # 7. 快速查看統(tǒng)計(jì)信息 df collector.to_dataframe() print(\n 性能摘要 ) summary df.groupby(model).agg({ latency: mean, total_tokens: mean, cost: sum, error: sum }).round(3) print(summary) if __name__ __main__: asyncio.run(main())對應(yīng)的config.yaml文件示例# config.yaml models: openai: api_key: ${OPENAI_API_KEY} # 建議通過環(huán)境變量注入 # base_url: https://api.openai.com/v1 # 默認(rèn) anthropic: api_key: ${ANTHROPIC_API_KEY}運(yùn)行這個(gè)主程序你會得到一份詳細(xì)的Markdown報(bào)告里面并排列出了GPT-4和Claude如果配置了對三個(gè)不同任務(wù)的回答、耗時(shí)和Token消耗以及一個(gè)匯總的性能統(tǒng)計(jì)表。4. 進(jìn)階優(yōu)化與功能擴(kuò)展基礎(chǔ)框架跑通后就可以根據(jù)實(shí)際需求添加更多實(shí)用功能了。4.1 實(shí)現(xiàn)復(fù)雜的評估邏輯之前的評估主要靠人眼看報(bào)告。我們可以引入自動評估。例如對于代碼生成任務(wù)可以寫一個(gè)函數(shù)來運(yùn)行生成的代碼并檢查其正確性。# evaluators/code_evaluator.py import subprocess import tempfile import os def evaluate_python_code(code_snippet: str, test_input: str, expected_output: str) - Dict[str, Any]: 評估Python代碼片段。 :param code_snippet: 模型生成的代碼字符串 :param test_input: 測試輸入以字符串形式在代碼中可能需要被讀取 :param expected_output: 期望輸出 :return: 包含通過與否、實(shí)際輸出、錯(cuò)誤信息的字典 result {passed: False, actual_output: None, error: None} # 將代碼片段包裝在一個(gè)可執(zhí)行的腳本中 full_code f import sys {code_snippet} # 假設(shè)生成的函數(shù)叫 is_palindrome if __name__ __main__: # 這里可以設(shè)計(jì)更復(fù)雜的測試 test_str \{test_input}\ output is_palindrome(test_str) print(str(output).lower()) # 統(tǒng)一輸出為小寫字符串便于比較 with tempfile.NamedTemporaryFile(modew, suffix.py, deleteFalse) as f: f.write(full_code) temp_file_path f.name try: # 執(zhí)行代碼 process subprocess.run( [sys.executable, temp_file_path], capture_outputTrue, textTrue, timeout5 # 設(shè)置超時(shí)防止死循環(huán) ) actual_output process.stdout.strip() result[actual_output] actual_output if process.returncode 0: # 簡單比較輸出 result[passed] (actual_output expected_output.lower()) else: result[error] process.stderr except subprocess.TimeoutExpired: result[error] Execution timeout except Exception as e: result[error] str(e) finally: os.unlink(temp_file_path) # 清理臨時(shí)文件 return result然后可以在ResultCollector.add_result方法中根據(jù)任務(wù)元數(shù)據(jù)調(diào)用對應(yīng)的評估器并將評估結(jié)果如eval_passed: True也存入記錄中。4.2 集成更強(qiáng)大的結(jié)果分析與可視化pandas和matplotlib/seaborn是絕配。我們可以輕松地?cái)U(kuò)展報(bào)告生成功能。# result_collector.py (補(bǔ)充) import matplotlib.pyplot as plt import seaborn as sns class ResultCollector: # ... 之前的代碼 ... def generate_visual_report(self, output_dir: str ./reports): 生成可視化圖表 df self.to_dataframe() if df.empty: return os.makedirs(output_dir, exist_okTrue) # 1. 模型平均延遲對比柱狀圖 plt.figure(figsize(10, 6)) latency_df df.groupby(model)[latency].mean().sort_values() sns.barplot(xlatency_df.index, ylatency_df.values) plt.title(Average Latency per Model) plt.ylabel(Latency (seconds)) plt.xticks(rotation45) plt.tight_layout() plt.savefig(os.path.join(output_dir, avg_latency.png)) plt.close() # 2. 每個(gè)任務(wù)各模型的響應(yīng)對比分組柱狀圖例如對比Token消耗 # ... 更多圖表生成代碼 ...4.3 設(shè)計(jì)任務(wù)模板與批量導(dǎo)入手動在代碼里寫EvaluationTask列表很麻煩??梢栽O(shè)計(jì)一個(gè)YAML或JSON格式的任務(wù)模板文件。# tasks.yaml tasks: - id: summarize_article_1 prompt: | 請總結(jié)以下文章的主要內(nèi)容 《文章內(nèi)容...》 category: summarization evaluation: type: contains_keywords keywords: [量子計(jì)算, 優(yōu)勢, 挑戰(zhàn)] - id: translate_sentence_1 prompt: | 將以下英文句子翻譯成中文 The rapid advancement of artificial intelligence presents both unprecedented opportunities and significant ethical challenges. category: translation然后寫一個(gè)TaskLoader來讀取這個(gè)文件批量創(chuàng)建EvaluationTask對象。這樣非開發(fā)人員比如產(chǎn)品經(jīng)理也能通過編輯YAML文件來設(shè)計(jì)評測集。5. 避坑指南與實(shí)戰(zhàn)心得在開發(fā)和使用的過程中我踩過不少坑也積累了一些經(jīng)驗(yàn)。5.1 網(wǎng)絡(luò)與API穩(wěn)定性處理指數(shù)退避重試網(wǎng)絡(luò)抖動和API臨時(shí)過載很常見。一定要為重試邏輯設(shè)置隨機(jī)延遲Jitter和最大重試次數(shù)。tenacity庫讓這一切變得簡單。from tenacity import retry, stop_after_attempt, wait_exponential, retry_if_exception_type import openai retry( stopstop_after_attempt(3), waitwait_exponential(multiplier1, min4, max10), retryretry_if_exception_type((openai.APITimeoutError, openai.APIError)) ) async def robust_api_call(adapter, prompt): return await adapter.generate_async(prompt)設(shè)置合理的超時(shí)為每個(gè)API請求設(shè)置單獨(dú)的超時(shí)如30秒防止某個(gè)慢請求阻塞整個(gè)流程。asyncio.wait_for可以配合使用。監(jiān)控與熔斷如果某個(gè)模型API持續(xù)失敗可以考慮實(shí)現(xiàn)一個(gè)簡單的熔斷器Circuit Breaker暫時(shí)跳過該模型避免浪費(fèi)時(shí)間和配額。5.2 成本控制與用量監(jiān)控精細(xì)化成本計(jì)算前面提到的成本估算是雛形。生產(chǎn)環(huán)境需要根據(jù)每個(gè)模型的官方定價(jià)精確計(jì)算輸入、輸出Token的費(fèi)用。最好將這部分邏輯抽象成一個(gè)CostCalculator類。設(shè)置預(yù)算上限在運(yùn)行大規(guī)模評測前根據(jù)任務(wù)數(shù)量和平均Token消耗預(yù)估總成本??梢栽贖arnessRunner中增加一個(gè)預(yù)算計(jì)數(shù)器當(dāng)消耗接近閾值時(shí)發(fā)出警告或停止執(zhí)行。使用日志記錄詳細(xì)記錄每個(gè)請求的Token使用情況和估算成本方便后續(xù)對賬和分析。5.3 結(jié)果評估的客觀性挑戰(zhàn)避免主觀偏見人工對比結(jié)果時(shí)很容易對某個(gè)模型有先入為主的偏好。嘗試設(shè)計(jì)更客觀的評估指標(biāo)代碼執(zhí)行像上面那樣自動運(yùn)行檢查。文本相似度對于翻譯、摘要任務(wù)使用ROUGE、BLEU或BERTScore等指標(biāo)與參考答案對比。規(guī)則檢查對于要求特定格式如JSON、XML的輸出用解析器檢查其合法性。設(shè)計(jì)多樣化的測試集測試用例要覆蓋不同難度、不同領(lǐng)域、不同指令類型創(chuàng)意寫作、邏輯推理、信息提取等避免評估結(jié)果片面。記錄“軟指標(biāo)”除了正確性在報(bào)告中也可以加入人工標(biāo)注的“流暢度”、“創(chuàng)造性”、“遵循指令程度”等評分但這些需要多人標(biāo)注來減少偏差。5.4 性能優(yōu)化技巧異步并發(fā)控制Semaphore的值不是越大越好。需要根據(jù)API的速率限制如RPM, TPM來調(diào)整??梢韵仍O(shè)置一個(gè)保守值如5觀察請求成功率后再調(diào)整。連接池復(fù)用使用aiohttp.ClientSession或httpx.AsyncClient時(shí)確保在整個(gè)應(yīng)用生命周期內(nèi)復(fù)用同一個(gè)會話session以利用HTTP持久連接減少TCP握手開銷。緩存機(jī)制對于確定性的提示詞不包含隨機(jī)數(shù)或動態(tài)時(shí)間可以考慮將模型的響應(yīng)緩存起來例如使用diskcache或redis。這樣在多次運(yùn)行或調(diào)試時(shí)可以避免重復(fù)調(diào)用API節(jié)省成本和時(shí)間。自己動手實(shí)現(xiàn)一個(gè)Harness的過程遠(yuǎn)比單純調(diào)用一個(gè)現(xiàn)成工具收獲大。它不僅讓你對LLM API的細(xì)節(jié)有了更深的掌控更重要的是它迫使你系統(tǒng)化地思考如何評估一個(gè)AI模型的好壞。這套框架現(xiàn)在已經(jīng)成為我日常工作流的一部分每當(dāng)有新的提示詞策略或需要選型新模型時(shí)跑一遍Harness讓數(shù)據(jù)說話決策就變得清晰多了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
蜜桃av色偷偷av老熟女| 久久草草欧美精品| 亚州熟妇精品| 国产精品国产亚洲区艳妇糸列| jizz啪啪| 夜夜爽77777| oumeizonghese,www| 麻豆成人影音在线| 综合婷婷| 欧美桃色网| 太久视频| av2014 日韩在线中文字幕| 美国精品国产精品| 色综和网| 日韩乱伦AⅤ| 18精品一区| 国产suv精品一区二六| 又粗又长又爽在线观看| 97色涩| 亚洲成人性| 日本A级视频| 淫荡网址| 亚洲 欧美 中文 日韩超碰| 九t超碰| 久久黄色性爱视频| 久操影视| 亚洲有码 欧美精品| 亚洲清纯综合| 99久久久久| 91色夜| 九九久久99| 欧美日韩国产电影| 中国一区二区亚洲人妻| 日韩无码第3页| 看一级黄色视频| 狠色婷婷久久一区二区三区_| 天天天操天天天爱| WWW黄片COM| 97久久久久久久久久| 99精品视频在线观看免费| 亚洲性猛| 美日韩成人| 天天综合中文字幕 91| 日本一本道A级黄色毛片试看60分钟| 亚洲性猛| 激情五月天社区| 亚洲蜜臀精品视频久久| 一区二区三区在线资源| 色欲天天婬色婬香WWW夜色| 色盈盈影院| 黑人白女精品一区| 色香网| 一区二区三区在线美女| 亚洲成人帖图| 人妻大相焦在线| 视频不卡中文字幕| 中文久久96| 极品尤物在线观看| 精品人妻一区二区三区在| 欧洲免费一区二| 久操97| 色色99| 久久91精品国产9丨久久分亭| 久久精品高清无码一区| 另类天堂| 男女啪啪啪18禁网站| 免费人人搞97| 久热9| 婷婷综合伊人一区| 强奸少妇AV导航网| 亚州熟女乱伦| 久久久久深夜无码| 怡春苑东京热| 天天爱天天操| 麻花豆传媒剧国产MV出差| 久久久91福利姬| 国产成人自拍视频在线| 日欧操屄| 九九热九九| 欧洲精品人妻| 日韩丝袜人妻AV| 日韩精品人妻一| 天天操妹子| 亚洲欧洲无码97久久精品| 在免费jIzzjIzz在线视频| 91肉丝| 九九成人精品| 五月婷婷激情| 亚洲成av人片色午夜乱码| 国产综合色精品在线观看| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 九月丁香综合网| 人人澡人人干| 久欲AV| 用力操死我| 国产激情在线| 午夜视频好爽啊| 天天狂操夜夜狂日| 欧美啪啪啪91| 亚洲少妇激情一区二区三区| 嫩草 人人网精品| www.色婷婷色综合| 逼逼逼逼操操操操操操操操操午夜剧场| 好吊色青靑草| 黄色片G G G| 大香蕉 222| 日本肉体xxxx裸交| 色嗨嗨在线| 亚洲精品国产精品成人| 国产精品一区在线播放| 日韩精品亚洲一二三| 99热| 色爱综合网| 欧美国产伊人久久久久| 操逼片中文| 日韩av免费一级电影| 97在线视频网站| 欧美人妻一区二区| 国产丰满少妇久久久精品影院| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 九九九九九九精品| 精品无码产区一区二| 在线视频五十市| 久久久99久9| 激情五月综合| 欧苏综合色综合| 亚洲精品第一| av在线一区二区三区| 男女啪啪啪18禁网站| 亚洲福利影院一区久久| 亚洲综合第一页| 97超碰色色| 日韩久射综合| 友优传媒精品在线一区二区| 粉嫩av在线| 国产乱子伦久久精品综合一区二区三| 人妻丝袜美腿中文字幕| 久久久久9999| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 狠狠操狠狠燥| 色老大| 日本2020一区二区| 欧美综色欧| 久久精品无码一区二区三区| 啪啪自拍九九综合| 操逼逼一区视频| 一本精品日本在线视频精品| 成全在线观看免费观看| 亚洲国产精品有声| 无码伊人久久大杳蕉中文无码| 手机看片1025| 天天影视网综合少妇| 美女黄色一级A视频| 少妇超碰在线| 亚洲欧洲久久天堂| 青娱乐黄色录像| 日韩三级伊人| 黄色av片三级三级三级免费看| 无码av永久免费专区网站| a级成人毛片免费视频高清| 国产女人91精品嗷嗷嗷嗷| 日本三级R| 五月丁香激情啪啪| ss久久| 青青草无码视频| 丝袜美腿丝袜| 啪啪视频免费在线观看| 日本一区二区做爱的视频| 8050无码八戒| 无码免费一区二区三区啪啪| 97自拍一区| 天天日美女的B| 久久精品无码不卡| 五月婷亚洲精品天堂| 妇女性内射冈站HDWWWCOM| 国产亚州高清国产拍精| 日韩在线女优天天干| 99久在线精品99re8a| 妇女乱色二区| 日本中文熟女视频| 337p大胆噜噜噜噜噜91Av| 夜夜中出国产| av一区二区三区 中文| 欧美亚洲综合色| 美女毛片999| 国产中午字一暮区| 久久精品国产Aⅴ| 综合久久六月久久婷婷| 少妇超碰在线| 丝袜美腿91| 91综合国产精品| 极品肉射| 欧美强奸乱| 第45页一区二区| 99视频自拍区| 黄色一区二区秘书性感| 欧美久久久15P| 无码九九九九| 看一级特黄a大一片| www.夜夜操| 日韩av情韩国爱禁区av一区二区| 国产内射爽爽大片| 久久99热这里只频精品6学生| 白丝AV网站| 欧美日韩一二三| 久久色网| 能看的AV| 99久在线精品99re8| 亚洲精品乱码线路中文字幕| 美女黄色一级A视频| 亚洲色图 图片| 极品少妇久久久久| www.91逼逼.com| 91精品国产综合久久久蜜臀| 欧美色爱综合| 国产91精品福利在线| 国产农村妇女精品一| 欧美丝袜亚洲| 99国产精品视频尤物| 国产精品一区人妻精品阁在线| 91影视亚洲| av天堂精品久久| 蜜桃色色网站视频三区| 99精品无码| 久久性爱网站| 日本超碰色精品| 亚洲乱熟女一区二区| 亚洲日韩视频二区| 成人精品视频一区二区| 国产精品噜噜噜日日日| 久久久国产成人一区二区三区在线| 九九热超碰97亚洲最新香蕉| 蜜臀无码视频在线观看| 91九色丨国产丨爆乳| 中文字幕后石码四区五区| 无码自拍SM| 亚洲精品蜜桃久久久| 一级A片女人高潮叫床| 亚洲精品国产av天美传媒| 日韩av无码网站| 国产女上位好爽在线| 日日夜夜精品视频| www.狠狠干.coom | 日韩黄片影院| 久9久9精品| 国产真乱mangent| 99久久久无码| 在线a亚洲视频播放在线| 久久久久久一日韩字幕无码| 91美女在线视频| 国产操伦| 日1区2区3区2020| 婷婷在线视频| 激情综合网激情综合| 后X久久| 曰韩中文人妻视频| 麻豆福利视频导航| 久久久精品国产亚洲AV无码| 2017亚洲天堂| 蜜臀AV成人精品蜜臀AV久久| 亚洲 日本 国产 综合| 久久综合久色欧美综合狠狠| 国产尹人在线视频免费| 久久久精精精| 国产黄片在线免费观看| 老鸭窝成人免费毛片视频| 五月丁香久久| 思思热国产高清| 婷婷色香| 天堂俺去俺来也www久久婷婷| wuyechaopeng| 依人大香蕉| 精品国产三级av韩国在线| 青青草啪啪网| 在线可观看的黄色网址| 国产视频第二页| 啊啊啊com| 日韩强奸av| 超碰在线人妻不卡| 亚洲成人福利电影免费| 色九九久九九| 国产盗摄美女如厕大神作品在线观看| 日本丝袜人妻内射| 欲香欲色综合天天伊人| 伊人久久国产免费观看视频| 人妻人人操| a片自拍直播视频| 台湾佬中文娱乐网久久久久久久久久com | 日韩特一级久久| 久久天堂婷婷网| 91久久九九精品国产综合| 一级黄碟| 99少妇精品视频| 欧美精品成人在线播放| 91N综合网在线| 日韩美一区| 日本色色色色色视频| 网友自拍第1页 | 久久久爆乳翘臀一线天伦理视频| 欧美性爱91| 蜜臀AV一区二区三区| 青青草伊人久久| 久久精视频美日韩在线视频| 91色香| 亚洲一区亚洲天堂| 97色冈| 国内毛片国产专区二| 狠狠91| 国产自啪精品视频网站黑丝| 超碰97玖玖爱| 五月天色图影视| 蜜乳AV一区| 蜜臀在线视频| 国产91丝袜 在线播放| 国产美女91视频| 另类小说五月天| 激情五月天插| 性爱网站一区二区| 亚洲欧美天堂| 日比av无码| 男人的天堂2018.| 婷婷九月| 色噜噜人妻丝袜a∨先锋影 | 囯产精品久久久久久久久久梁医生| 欧美性爱网97| 桃色六月天| 久久久久免费少妇| 午夜丁香| 俺去俺来也在线www| 在线观看不卡一区二区三区| 人妻另类 专区 欧美 制服| 亚洲第一页色网| 日本黄色XXX| 一区二区三区成人 | JULIA人妻风俗店中出电影| 91久久久久久| 亚洲国产第一页综合视频| 中国东北熟女老太婆内谢| 啪啪啪东京| 26uuu久久| 欧美激情专区| 色香欲影| 香蕉人欧美综合| 亚洲国产97在线精品一区| 色阁阁AV综合网| 传媒免费一区二区三区| 91成人在线| 校园春色欧美色图| 少妇三P| 国产AV天美| 久久九九一区二区三区成人| 97视频在线观看播放与子乱对白在线……| JIZZJIZZ国产精品喷水| 婷婷尹人大香蕉免费| 欧美色乱| 日韩人妻精品久久久久| 极品尤物女神在线观看| 91小视频| 亚洲欧美成人在线| 五月丁香啪啪网| 国产精品国产拍高清AV| 国产精品久久久久久久久AV大片| www.人人cao| 五月天婷精品激情| 激情丁香五月婷婷| 曰本91情色| 99国产精品视频尤物| 亚洲日韩乱码中文无码蜜桃臀网站| 午夜欧美J进J出白浆流出久久久| 色婷五月天| 思思热在线| 91综合中文字幕| 天天日天天干天天操| 屁股久久久久久| 青草伊人网| BBBBB97COM| 91丨人妻丨国产丨丝袜| 欧美操人视频| 亚洲精品白浆高清久久久久久| 亚洲一区在线观看欧洲| 午夜男人av| 96久久精品一二三区色欲| 天美麻花大全视频| 亚洲有码 欧美精品| 久草久热| 96AV久久久| 久草综合视频| 成人开心网在线视频| 国产精品伦理| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚洲最新a在线观看| 波多野结衣一级视频| 黄片www.| 国内精品不卡无毒99999| 国产偷人妻精品一区二区在线| AV色五月| 91第一页| 在线观看高清AV| 日韩av不卡在线观看| 人妻天堂综合网| 日本 免费 一区二区三区 久久香蕉 | 免费一级毛片在线视频观看| 久久综合日韩亚洲欧美| 超碰 另类 欧美| 丝袜狂射91| 欧美日韩不卡传媒| 超清福利精品视频在线| 日韩av乱伦| 少妇一区二区三区在线观看| 黄色成年| 亚洲一级性爱视频免费看| 欧美.亚洲.另类.丝袜.制服.诱惑| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 加勒比大香蕉视频在线| 人妻少妇精品久久久| 久热这里只有精品9| 欧美A片中文字幕| 亚洲av强奸乱伦| 天天夜夜久久| 日日嗷| 自怕偷自怕亚洲精品| 五月婷视频| 四虎影视永久在线观看精品免费网站| 欧美成人免费在线观看| 日产狠狠干| 青青草日韩免费观看高清在线| 国产女主播视频在线观看| 一本色道无码DVD中文字幕| 国产高潮AA片免费看| 男人的天堂在线| 国产乱子伦久久精品综合一区二区三| 中文字幕一区日韩精| 婷婷情色五月天| 亚洲97在线| 亚洲AV噜噜狠狠网址蜜桃动漫| 亚洲欧美一区二区三区在钱蜜桃| 久久久久99精品成人片蜜臀| 99在线观看| 黄久在线| 中文字幕中文字幕一区二区| 久操不卡视频| 人妻丰满熟妇av无码区蜜桃| 在线综合色| 97精品综合久久网| 乱性AV| 69精品少妇一区二区三区蜜桃| 狠狠干2020| 三级特黄60分钟播放| 超碰午夜在线| 成人五月天丁香激情综合| 99热伊人| 色婷视频| 97这里都是精品| 欧美精品精品一区二区| 偷拍 精品 另类 四区| 久久在肏| 日韩三级一区 | 日韩精品人妻| 熟女在线视频| 69视频入口| 黄色大片一区二区密桃丝袜| 舔足天天操天天射| 26uuu欧美| 日曰骚久久精品| 亚洲一级性爱视频免费看| 裸模AV女优| 不卡中文字幕aⅴ在线| 国产av高清版| 99人妻碰碰碰久久久久禁片| 欧洲色色| 欧美激情激情xxxx欧美专区| 99爱久久视频频| 亚洲欧美成人网站AAA| 九九九网页| J?P?NESEHD熟女熟妇伦| 人妻天堂综合网| 久久高潮妇女视频| 久草久热| 交换娇妻呻吟声不停中文字幕| 久日91在线| 国产大陆天天艹| 99日免费视频中文字幕| 色色色色网站| 啊啊啊啊啊好舒服视频| 黄片无码在线制服| 这里只有97精品| 黑丝少妇| 无码不卡八戒| 尤物视频偷拍免费| 激情五月天综合网| 天天射天天| 国产第二页| 成人网址在线观看| 国产又黄又爽| 久久久久人| 色五月综合| 一区二区三区美女超清| 欧美页片| 色综合久久久久| 久久九九97| 日韩有码免费视频| 亚洲欧美综合| 亚洲高清少妇| 中国探花熟女| 日本成熟少妇A∨网站| 美女诱惑在线一区| 久久xx| 亚洲欧洲无码bt精品合集| 新精精品久久精品| 夜夜夜久久| 国产精品无码av嫩草| 蜜乳av一区二区三区四区不卡| 日本熟女中文| 丁香九月 婷婷| 精品人妻15区| 日日黄色三级网站| 亚洲天堂,男人| 三级AV入口| 亚洲a色| 99热 按摩 日韩| 人妻精品视频一区二区| 26uuu久久| 超碰欧美97资源| 99热97| 日韩乱伦视频| 日本精品中文字幕视频| 欧美日韩小说| 热久久无毒不卡| 91在线视频免费中出| 91小视频| 极品综合| 精品国产乱码久久久久久网站入口| 国内97干免费看| 久久国产三区| 女人高潮大叫一级毛片| 日韩欧美操逼xxx| 精品天堂| 91欧美综合在线| 91丝袜美腿网站| 女人高潮大叫一级毛片| 2019天天干天天操| www.亚洲成人一区| 亚洲一区日韩精品中文字幕| 久久内射| 丰满人妻-区二区三区免费看 | 久久精品国内Av熟女高清| 人人妻人人爽| 少好三P| 在线黄色污污网站| 欧美拳交在线播放| 99热最新| 日本丝袜人妻内射| 国产偷拍网站| 九热中文字幕| 天天干嫩逼网| 天天影视网色欲色香| 加勒比日本在线| 日韩影片中文字幕一区二区三区| 激情小说五月天| 3p国产欧美99热| 免费观看性欧美一级| 男人天堂网址| 亚洲另类春色| 97精品久久| 极品色综合| 成人青青草原伊人| 精品少妇99| 欧日韩一二三f区| 精品一区99999| 国产精品久久久久久夜夜夜夜| 色欲人妻一区二区在线| 亚洲棕合电彰| 男女激情中文字幕| 夜夜操一区二区| 亚洲综合性网址| 青青草狠狠撸| 亚洲精品国产熟女久久久| 久久久九九九九| 日本少妇va7777| 裸模AV女优| 色九九九九| 国产不卡中文字幕免费avi| 91精品成人| 歐美一級亂黃99在綫精品| 丁香激情网| 91麻豆天美国产欧美日| 日本一区二区电影网站| 国产精品一二三免费网站| 精品 码产区一区二-1080P高清在线www-B029AV | 精品九九九| 69视频入口| 高潮毛片无遮挡高清免费| h4610国产人妻| 26UUU欧美日本| 夜夜爽夜夜操| 亚洲久久久久| 99色网| 操逼网站网站| 99久久婷婷丁香| 嫩草影院在线观看精品 | 啊啊啊啊嗯嗯在线久久久| 在线欧美亚洲| 欧美亚洲自拍另类人妻| 嫩草影院在线观看精品| 欧美精品999| 色色色色色色色色色色色色色色综合 | A男人的天堂| 欧美午夜视频| 日本色日夜干| 国产精品区在线12p| 免费又黄又裸乳的视频| 久久久国产亚洲精品系列| 国产浮力影院第1页| 久久超碰久| 97 超碰 人人做 人人爱| 九九九精品一区二区无码| 午夜视频久久久| 黑人猛交| 无码高清操逼网址| 激情五月天丁香社区| 丁香九月激情啪| 日韩99神马视频播放| 97射欧美| 亚洲精品自拍| 精品成人av一区二区三区在线| 97天天爽| 亚洲图片欧美另类综合免费视频大大香| 国产区在线| 一本精品日本在线视频精品| 操B在线观看| 91精品电影18| 天美欧美国产| 资源新线在线天堂| 亚欧视频在线| 欧美色三级片91| 少妇久久久免费| 国产精品久久久吖| 天天干,天天日| 五月天伊人| 日韩射精| 午夜福利视频在线一区| 国产老熟女| 91大香蕉伊人| 亚州免费啪啪视频| 色爽爽文学| 夜夜夜夜爽| 97超碰磁| 久久99国产综合精品女同| 久草线上视频免费看| 天天射天天操天天干天天吃2018| 99re久久| 搡老女人老91妇女熟女| 操啊国产| 97中文超碰| 中文字幕熟女人妻丝袜丝| 欧美另类综合久久| 久久欧洲| 黄片www视频免费| 激情综合婷婷| 男人成人黄色视频在线观看免费下载| 国产精品白丝在线播放| 国产欧美美女免费观看视频| 色欧美在线| 郑州宾馆老熟女露脸啪啪| 久久亚洲不卡一区二区三区| 亚洲无码com| 中文字幕黑人大片| 91 丝袜在线播放| 久久曰曰| 97人人夜| 亚洲少妇综合在线播放| 亚洲一二三| 高清国产精品无码| 色综合潮| 国产在线视频午夜精华在| 屌逼麻豆| 大香蕉狠狠爱| 久操高青| 天天综合网日韩| 日本天天吊| 亚洲 欧美 色图| 国产 码在线成人网站| 热热色青青草| 国内三级自拍小视频在线观看| 欧美日韩国产电影| 欧美性爱18观看| 日日AV加勒比| 精品一级毛片在线观看| 六月丁香五月婷婷| 欧美日韩国产色五月综合在线| 午夜超爽| 艳尻美人妻| 国产精品一区av在线| 无码久| 风流老熟女一区二区三区l| 久草老司机| 国产精品久久伊人| 色97欧美| 狂操嫩妻视频一区二区三区| 91w欧美| 青青草视频爽一爽| 黄人人操人人操| 麻豆一区二区三区精品| 免费超碰97在线观看| 1024午夜激情男人的天堂| 国产无马av| 日韩小电影| 九九久久一区二区三区| 欧美精品97| 亚洲综合有玛| 熟女色综合久久| 九九九九热只有精品| 久久久久久久久久久久久久久性生活视频 | hd成人一区二区在线| 天天摸夜夜操视频| 牛牛aV| 九t超碰| 亚洲18禁| 国产精品视频自拍在线| 亚洲污一污二| 五月天色色色| 尤物网站91| 九九九九九九九九九九精品视频| 岛国激情视频在线观看| 啊啊啊在线看| 国产人妻精品久久久一区二区三区| 伊人热综合| 欧美日日人人天天| 无码免费一区二区三区啪啪| 日韩字幕一区| 肉丝中文无码高清| 亚洲欧美精品一区天堂久久 | 欧美 亚洲 91| 九九热精品| 综合五月婷婷亚洲一区| 超碰在线日韩一区| 97国产天堂岛| 婷婷五月天成人网| 久久这里只| 加勒比AV网| 色丁香五月婷婷| 日韩综合无码色欲vv| 欧美综合中文| 97亚洲欧美日韩| 在免费jIzzjIzz在线视频| 九热中文字幕| 97超碰总站| 熟女人妻av在线资源,黄色的资源| 国产一区二区三区白丝| 999国产精品999久久久久久| 日日AV加勒比| 色婷婷基地| 探花精品 一区二区| 另类老少妇| 色婷婷综合久久久久中文一区二区 | 日本一二三高清| 色官网在线| 国产精品噜噜噜日日日| 亚洲男人天堂视频| 精品久久久久久亚洲| 久草网站免费在线观看| 欧美精品宗合| 青青草国产一区二区三区| 久久超碰亚洲人| 国产操伦| 久久精品国产精品一区| 2017天天操天天日| 加勒比人妻综合| 很黄很污的免费网站| 亚洲欧美一区二区三区一猛片| 亚洲国产一级黄色视频| 91性片| 中日韩久久久免费看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 超碰久草| 99re这里只有精品3| 亚洲色图大香| 美女写真| 6080YYY午夜理论片在线观看| 欧美中文字幕精品人妻| 久草综合网| 3P乱轮视频| 日韩一区二区精彩视频| 国产精品96久久久久久| 1204人成网站色www| 啊啊啊好舒服视频在线观看| 人人妻人人操人人乐| www.zbzhongsen.com| 国产精品亚洲一级av第二区| 黄色片一区二区三区四区五区| 中国一级αV| 亚洲精品97久久| 黑人干亚洲| 东北操逼| 97国产精品在线观看| 日韩三级在线观看mp4| 97这里都是精品| 久久久久国产亚洲一区欧美色图日韩| 激情综合婷婷| 1024人妻熟女一区二区三区| 亚州综合网| 亚洲少妇免费视频\| 精品人妻一二三四区视频| 啊啊啊不要好爽日韩无码一区| 超碰在线人妻不卡| 性性欧美| 黑人与人妻| 中 文字幕一区二区三四 五 区日 日 骚| 91逼逼女人91| 亚洲 中文 女同| 国产亚洲 中文欧美久久| 日本3级一区二区免费| 亚洲色欲天天人妻无码系列专区| 亚洲无码AV九九九| 日本亚洲熟女视频| 成人短视频在线观看| 天天日天天色| 97香焦色区| 国产精品肉丝自拍| 天天干天天日天天射黄色大片| 97久久免费| 东京热精品97综合网| 亚洲人妻熟妇三十三区| 午夜欧美神马久久久久| 欧美少妇性乱| 无卡一区=区| 日日嗨AV一区二区夜夜| 久久久精品一区二区| 久草毛片| 黄色交缠性感爆操91国产精品免费一区二区三区 | 夜夜爽爽夜夜精品视频| 亚春色色| 综合网欧美| 国产宅男宅女在线观看| 操日韩第| wwwcaobibi| a久久| 日日碰狠狠添天天爽超| 九九色综合| 亚洲情色1区| 欧美日韩青操| 美女t无毒不卡不卡| 乱伦一二三| 操高情无码| 97人人干| 91欧美长吊| 超碰97在线中文| 91情色在线| 乱性AV| 欧美三级中文字幕hd| 男人的天堂2010| 欧美白嫩女HD| 大香久久| 午夜无遮挡男女啪啪视频| 国产一区在线免费播放| 欧美亚洲国内自拍| 五月天春色激情网| 中文字幕第23区| 极品肉射| 国产精品亚洲高清在线| 噜噜噜无码AV一级一级久久影院 | 日韩熟女乱伦中出| 免费啪啪一级视频| 18一区二区三区| 97天天综合网| 亚洲风情在线观看| 尤物网址| 9久超碰| 欧美人妻二区三区| 日日嗷| 国产精品无码成人精品| 精品超碰国产| 久久最新视频免费观看| 欧美色图20P| 日韩免费在线视频观看| 国产精品色| 国产一区二区久久| 2018天天日天天日| 夜夜草网站| 亚洲性图91| 亚洲欧美综合网| 青草青草久热| 国产一区麻豆免费观看| 麻豆熟妇乱妇熟色A片在线看| 国产中文字幕在线点播| 无码99| 97天天插| 综合久久六月久久婷婷| 免费看污网站| 国产人妻久久精品一区二区三区| 十八禁视频一区二区| 亚洲国产欧美日韩人妻日中文| 精品少妇人妻一区二区三区| 无码137片内射在线影院| 岛国片在线观看视频亚洲| 91N综合在线| 亚洲高清视频在线免费观看| 伊人五月天| 色妇91| 欧美日韩国产黄色片| 久久久99久9| 色香AV| 人人操av| 密臀国产在线| 欧美aaaaaaa| 久久97资源 网| 白丝一区| 成人综合色网| 97视频播放| 日本护士高潮| 精彩久久中文| 大香蕉免费乱伦视频| 欧美综合制服在线| 三级精品三级在线观看| 亚射在线| av网站国产主播在线| AV色天香在线| 色综91| 屌色在线97视频| 久久有码视频| 日韩av不卡在线看| 91在线色| 国产强奸乱伦xd| 啊啊啊啊啊操我视频| 日韩无限资源| 9久综合网| 中文字幕第二页| 亚洲AV成人无码一区二区三区在线观看 | 无码精品人妻一区二区三区妖精| 91草草草| 91精品人| 神马久久久久久久久久久久| 男人的天堂 在线一区| 日韩人妻资源网| 亚洲欧美首页| 日本不卡卡一区| 国产对白刺激视频| 五月开心久久AV官网| 黄色片,com| 久久久成人精品| 日逼国产| 欧洲自拍第一页| 大香蕉综合| 97超碰欧美手机| 久久久久九九九| 97国产中文| 伊人激情| 曰韩中文人妻视频| 歐美一級亂黃99在綫精品| 日B操| 欧美日韩另类字幕中文| 婷婷五月天色色| 91丝袜| 亚洲免费97免费| 国产中文精品一区二区在线观看| 成人一区二区三区四区| 久久久久久久国产a∨| 欧美色图99| 婷婷五月天成人| 日韩欧美性吧婷婷乱伦大香蕉| 91电影色诱| 人妻一二三区| 91伊人久久在线| 思思热在线视频精品| 日韩九九九| 少妇六月天| 欧美 亚洲 偷拍自拍| 欧美综合91| 国产精品视频| 久久香蕉综合一本到3atv| 九九热国产| 在线视频五十市| 亚洲制服欧美另类内射| 婷婷午夜清品久久久久久久性色视频观| 116美女午夜| 午夜久久无码1000合集| 蜜臀久久99精品久久久久久婷婷| 密臀在线免费观看| 国产在线观看91精品一区| 少妇高潮九九九九九九九| 91精品国产综合久久久蜜臀| 国产无码精品无码| 嗯嗯啊好大| 眼镜人妻101.com| 精品人妻久久久久一区二区三区| 久久久精久久久| 国产 亚洲 丝袜 制服| 亚洲国产天堂| 色偷偷人人玩人人舔人人操人人摸人人爽| 婷婷五月天色色| 内射老妇BBWX0C0CK| 天天日骚逼熟女| 人妻插插人妻人| 果冻国产精品麻豆成人av| 最新国产精品| 久热伊人| 超碰98综合网| 97久久精品亚洲| 国产视频不卡在线观看| 日韩性爱小视频| 96精品久久久| 丝袜无码a片| 3d成人精品一区二区| 国产深夜福利| 91日韩网站| 天天日日日射| 99无码精品| 国产福利av精彩对白| 最新日本中文字幕| 四虎免费视频| 亚洲一二三四区机械| 色人久久| 99性爱在线观看| 亚洲欧美色图片| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 德国一二三不卡| www超碰| 亚洲午夜福利在线影院| 国产野战露脸在线播放| 97人人爱人人乐| 国产自偷| 九一国产精品| 大香蕉宅男伊人| 九九精品美女高溯喷水| 成人综合久久精品色婷婷| 又大又长又粗又爽又黄| 麻豆91熟妇人妻中文字幕茄子| 白丝jkav| 久久久久久久九九九九九九| 艹少妇网站| 国模私拍一区二区三区神乳| 国产精品操| 国产搭汕a级片| 嗯~啊~快点 死我视频免费看网站| 日本中文字幕不卡视频| 日韩内| 中日韩久久久免费看| 久久亚州大香蕉| 亚洲色图综合网| 97精品第3页| 97超碰逼| 96AV久久久| 天天天天干| www色色色com| 婷婷精品视频| 亚洲四虎熟女精品| 久久久精品电影| 国产无码精品成人| 91精品无码久久久久久久| 免费一二区| 夜夜夜夜久久久久| 亚洲图片 欧美电影| 国产区在线| 亚洲最大的黄色电影网站。| 欧美日韩国第一区| 久久视网78| 99青青草国产视频| 91视频成人福利网站在线一区| 亚州成人a∨| 蜜桃中文字日产乱幕4区| 欧美大香蕉97| 啊啊啊97视频| 熟女一区二区三区| 欧美亚洲se91| 激情文学 亚洲图片| 九九九九免费视频| 97草草| 欧美 亚洲精品首页| 国产99999久久精品| 深夜激情| 国产精品香蕉| 中文字幕国产在线天堂| 91在线精品一区二区三区| 日韩性爱毛片操骚逼| 噜噜噜在线视频| 狠狠色噜噜狠狠狠狠狠色综合久久| 国模艳艳啪啪一区| av一区二区三区 中文| 日韩中文字幕人妻视频| av网站在线观看了| 免费啪啪一级视频| 日本福利二区视频| 亚洲国产一区二区三区在线| 欧美大香蕉97| 欧美日韩国产人人| 精品免费囯产一区二区三区| 日韩中文字幕2020| 黄站在线免费观看| 亚洲成a人v欧美综合天堂下载| 大香蕉78| 1769一区| 丝袜剧情| 岛国免费黄色网址| 老司机老司机午夜影院| 秋霞一级A片黄色视频| 色呦呦呦在线观看视频| 99色综合| 熟妇亚洲一区二区三区| 四虎AV无码| 欧美日韩国产人人| 啊啊啊慢点| 免费观看网黄| 亚欧Av| 婷婷情色综合网| 久久精品99久久久久久| 偷偷人人精品女女久久| 国产色图乱伦| 亚洲色图亚洲无码强奸乱伦| 激情丁香五月婷婷| 日韩不卡网操逼中文字幕日韩| 久久97视频| 国产一区在线播放| 中文字幕aⅴ在线视频| 一区操逼日比视频| 婷婷AV一区二区三区| 夜夜操av亚洲一区二区| 亚洲九九爱| 久久噜噜噜精品国产亚洲综合| 国产亚洲福利第一页丝袜| 青青草无码视频| 成人怡红院| 亚洲码专区| 久草免费在线一区二区| 欧美亚洲色图另类国产| 强奸抽插av| 日韩亚洲欧美中文字幕| 欧美色宗合| 色图综合网| 亚洲欧美高清| 天天日熟妇| 刺激精品视频| 91蜜臀在线久久久久| 国产日韩精品一区二区三区| 野狼激情网| 91最新综合| 中文字幕文字幕无码一区二区三区电影99| 亚洲色图 欧美热图 清纯唯美 另类自拍| 亚洲综合另类小说色区亚洲成av人片在www| 91在线观看,天天综合| 久久久久久久综合,国产| 欧综合网| 33044男人的天堂深夜备| 无码动漫av中文字幕| 在线观看综合精品亚洲| 丁香色婷婷| 91色图| 男人天堂毛片| 蜜区区视频79| 丝袜美腿丝袜| 五月天婷婷久久| 夜夜无码| 国语精品内射在线观看| 国产精品呦一区二区三区| 校园春色亚洲欧洲| 欧色网址| 欧美黄色大片在线观看| 第四色亚洲色图| 后入式五六区| 亚洲图片日本AⅤ欧美在线| 大香蕉综合|