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

ARTICLE DETAIL

資訊詳情

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

Agent自動(dòng)配圖:構(gòu)建從文章到Markdown的自動(dòng)化管線(xiàn)

Agent自動(dòng)配圖:構(gòu)建從文章到Markdown的自動(dòng)化管線(xiàn) 你寫(xiě)完一篇技術(shù)文章最終想讓讀者能做什么答案是讓讀者把“配圖”這個(gè)經(jīng)常被當(dāng)作靈感的活兒壓縮成一條可重復(fù)執(zhí)行的個(gè)人工作流。人工找圖、裁剪、統(tǒng)一風(fēng)格很費(fèi)時(shí)間而大模型配合工具調(diào)用能夠把“閱讀理解文章結(jié)構(gòu) → 生成配圖計(jì)劃 → 調(diào)用工具取圖 → 校驗(yàn)圖片 → 插入Markdown”這一套動(dòng)作自動(dòng)化。這篇文章就以“第5集-Agent自動(dòng)配圖”為切入點(diǎn)講清楚Agent做自動(dòng)配圖的核心機(jī)制、完整代碼實(shí)現(xiàn)、運(yùn)行驗(yàn)證和最容易踩的坑。關(guān)于Agent自動(dòng)配圖我的核心判斷是它真正的價(jià)值不是“生成一張好看的圖”而是“把配圖決策流程穩(wěn)定地復(fù)制下來(lái)”。傳統(tǒng)腳本只能按規(guī)則硬匹配規(guī)則越多越脆弱Agent方案則把“規(guī)劃”交給大模型把“執(zhí)行”交給工具把“兜底”交給代碼校驗(yàn)。所以它適合內(nèi)容平臺(tái)批量創(chuàng)作、知識(shí)庫(kù)富文本化、PPT/課程配圖等場(chǎng)景而不適合需要極度精確、品牌一致性要求極高的商業(yè)設(shè)計(jì)。文章會(huì)從問(wèn)題出發(fā)解釋Agent自動(dòng)配圖的基本概念再做方案選型然后給出一套可直接運(yùn)行的Python示例覆蓋環(huán)境準(zhǔn)備、核心代碼、運(yùn)行驗(yàn)證、常見(jiàn)問(wèn)題排查和工程建議。讀完你能自己搭一套“標(biāo)題/文章 → Markdown配圖文稿”的自動(dòng)化管線(xiàn)也明白后續(xù)往Multi-Agent、記憶、Skills方向擴(kuò)展時(shí)該怎么下手。1. 這篇文章真正要解決的問(wèn)題先聊一個(gè)非常實(shí)際的場(chǎng)景。很多做技術(shù)博客、公眾號(hào)排版、課程PPT的人每個(gè)星期都要處理大量配圖需求一篇3000字的文章可能需要4到6張配圖每一張都要符合段落語(yǔ)義、風(fēng)格統(tǒng)一、版權(quán)安全。傳統(tǒng)做法是打開(kāi)圖庫(kù)網(wǎng)站反復(fù)搜索、篩選、下載再手動(dòng)改尺寸、重命名、上傳圖床最后回到Markdown編輯器里一張張插入。這個(gè)過(guò)程非常反鎖尤其當(dāng)你有幾十篇文章待發(fā)布時(shí)它消耗的時(shí)間和注意力遠(yuǎn)超你的預(yù)期。更麻煩的是配圖本身帶有判斷邏輯第一張圖應(yīng)該強(qiáng)調(diào)核心概念中間章節(jié)需要展示流程或?qū)Ρ冉Y(jié)尾通常是總結(jié)性視覺(jué)。這些判斷聽(tīng)起來(lái)簡(jiǎn)單但不同人執(zhí)行結(jié)果會(huì)差很多。而“判斷執(zhí)行”的組合恰恰是Agent擅長(zhǎng)的事情。Agent自動(dòng)配圖簡(jiǎn)單來(lái)說(shuō)就是讓大語(yǔ)言模型扮演“圖片編輯規(guī)劃師”先讀文章再?zèng)Q定每段配什么圖、用什么風(fēng)格、從哪里取圖然后把取圖和生成圖的操作交給可執(zhí)行的工具函數(shù)。整個(gè)流程從“人工找圖手工插入”變成“輸入文章 → 輸出帶配圖的Markdown”執(zhí)行速度和一致性都大幅提升。這篇文章適合三類(lèi)讀者需要批量生產(chǎn)內(nèi)容的技術(shù)作者希望減少排版環(huán)節(jié)的重復(fù)勞動(dòng)。正在學(xué)習(xí)Agent開(kāi)發(fā)想找一個(gè)完整可落地案例的新手。已經(jīng)在用LangChain或其他Agent框架但不知道如何把“工具調(diào)用”和“內(nèi)容創(chuàng)作”結(jié)合起來(lái)的開(kāi)發(fā)者。如果你只是偶爾給一篇隨筆配圖用在線(xiàn)圖庫(kù)手動(dòng)選也夠用。但如果你想從“靠感覺(jué)”變成“靠流程”或者想把這個(gè)能力沉淀成團(tuán)隊(duì)工具那么Agent自動(dòng)配圖值得認(rèn)真搭一次。2. Agent自動(dòng)配圖的核心概念與工作原理在深入代碼之前先建立幾個(gè)概念。這里講的Agent不是一個(gè)玄學(xué)概念它的本質(zhì)可以拆成三層規(guī)劃層大模型接收輸入文本根據(jù)任務(wù)目標(biāo)生成步驟序列。例如“文章分為5段需要在第2段后放一張對(duì)比圖在第4段后放一張架構(gòu)圖”。工具層一組預(yù)定義好的函數(shù)比如search_image表示搜索圖庫(kù)generate_image表示調(diào)用圖像生成模型。Agent通過(guò)函數(shù)調(diào)用機(jī)制選擇并執(zhí)行這些函數(shù)。反饋層工具執(zhí)行后會(huì)返回結(jié)果Agent讀取結(jié)果決定繼續(xù)或終止。例如搜圖失敗時(shí)Agent可以改用生成圖的方式兜底。在自動(dòng)配圖場(chǎng)景里Agent的輸入是一篇文章或一個(gè)標(biāo)題輸出是“配圖計(jì)劃 圖片文件 插入位置”。它不是一個(gè)單獨(dú)的大模型調(diào)用而是多次調(diào)用、多次工具執(zhí)行、多次校驗(yàn)的循環(huán)過(guò)程。關(guān)于Agent開(kāi)發(fā)經(jīng)常被混淆的一個(gè)點(diǎn)是“Agent框架和Skill到底怎么理解”。簡(jiǎn)單說(shuō)框架解決的是“Agent怎么規(guī)劃、怎么調(diào)用工具、怎么維護(hù)上下文”相當(dāng)于骨架Skill則是把一組專(zhuān)門(mén)能力打包比如“圖片版權(quán)審核”是一個(gè)Skill“圖片風(fēng)格統(tǒng)一”是另一個(gè)Skill。在你的項(xiàng)目早期不需要把Skill做得特別復(fù)雜先把工具調(diào)用跑通更重要。另一個(gè)常見(jiàn)誤區(qū)是“Agent就是提示詞模板”。提示詞模板只能按固定順序生成文本但真正的Agent需要能夠根據(jù)中間結(jié)果動(dòng)態(tài)調(diào)整下一步。比如初始方案是搜圖搜不到時(shí)改為生成這個(gè)分支能力才是Agent和腳本的分水嶺。自動(dòng)配圖Agent的典型執(zhí)行流程如下Agent讀取整篇Markdown文章。按段落拆分配圖點(diǎn)生成配圖計(jì)劃計(jì)劃中包含位置、主題、風(fēng)格、比例。對(duì)計(jì)劃中的每一項(xiàng)優(yōu)先調(diào)用搜索工具從圖庫(kù)中取候選圖。如果取圖失敗或者用戶(hù)配置為“全部生成”則調(diào)用圖像生成工具。下載圖片到本地或圖床統(tǒng)一重命名。在原文中插入圖片引用生成新的Markdown文件。匯總報(bào)告列出每張圖的來(lái)源和可能存在的版權(quán)提示。從這一流程能看出自動(dòng)配圖Agent不是“模型畫(huà)畫(huà)給你看”而是“模型做決策 工具做執(zhí)行 代碼做保障”。3. 方案選型自研腳本、LangChain Agent還是自建Agent實(shí)現(xiàn)自動(dòng)配圖眼前有三條路線(xiàn)需要先做一個(gè)明確選型。3.1 傳統(tǒng)規(guī)則腳本思路是人工定義關(guān)鍵詞詞庫(kù)例如出現(xiàn)“數(shù)據(jù)庫(kù)”就配數(shù)據(jù)庫(kù)圖片出現(xiàn)“云原生”就配云原生圖片。優(yōu)點(diǎn)是沒(méi)有大模型成本執(zhí)行速度快缺點(diǎn)是詞庫(kù)維護(hù)成本高遇到語(yǔ)義復(fù)雜的長(zhǎng)文時(shí)匹配質(zhì)量很差。比如文章寫(xiě)“我用三天把數(shù)據(jù)從A遷移到B”規(guī)則腳本可能抓不到“遷移”這個(gè)核心意圖更不用說(shuō)判斷配一張流程圖還是配一張插圖。3.2 LangChain / AutoGen 等Agent框架使用現(xiàn)成框架的好處是內(nèi)置了ReAct循環(huán)、工具注冊(cè)、調(diào)用鏈、記憶等能力寫(xiě)起來(lái)代碼精簡(jiǎn)。比如LangChain的initialize_agent配合Tool類(lèi)就能把search_image和generate_image掛到Agent上。但框架也存在學(xué)習(xí)成本和黑盒問(wèn)題。對(duì)自動(dòng)配圖這個(gè)任務(wù)來(lái)說(shuō)流程本身不算復(fù)雜框架沒(méi)有帶來(lái)決定性的優(yōu)勢(shì)。如果你已經(jīng)在項(xiàng)目里使用了某款A(yù)gent框架當(dāng)然可以基于它擴(kuò)展如果只是為了自動(dòng)配圖這一個(gè)功能引入整個(gè)框架有些重。3.3 自建輕量Agent第三條路線(xiàn)是自己寫(xiě)一個(gè)輕量Agent類(lèi)核心只有幾十行代碼。它的優(yōu)勢(shì)是完全可控你可以精確控制規(guī)劃內(nèi)容的JSON格式、工具函數(shù)返回的數(shù)據(jù)結(jié)構(gòu)、失敗重試邏輯。這條路線(xiàn)也最便于理解Agent開(kāi)發(fā)的核心原理后續(xù)遷移到框架時(shí)心里有底。我推薦第三種方案。原因有兩點(diǎn)配圖任務(wù)的工具數(shù)量較少一般兩個(gè)到五個(gè)足夠任務(wù)邊界清晰容錯(cuò)要求高自己寫(xiě)能夠做到逐級(jí)兜底。這篇文章的完整示例也基于自建輕量Agent展開(kāi)。3.4 取圖方式對(duì)比取圖又有兩種底層來(lái)源選型時(shí)需要考慮清楚維度圖庫(kù)搜索圖像生成版權(quán)風(fēng)險(xiǎn)需要篩選授權(quán)圖片風(fēng)險(xiǎn)由圖庫(kù)決定模型生成仍需注意內(nèi)容合規(guī)成本通常是搜索API配額或圖庫(kù)訂閱費(fèi)按張計(jì)費(fèi)成本較高風(fēng)格一致性不同圖片差異大需要后期處理通過(guò)提示詞條件統(tǒng)一風(fēng)格適圖場(chǎng)景技術(shù)配圖、實(shí)拍圖、新聞插圖插畫(huà)、概念圖、找不到合適素材時(shí)穩(wěn)定程度搜索結(jié)果受圖庫(kù)標(biāo)簽質(zhì)量影響受模型能力和提示詞影響實(shí)際項(xiàng)目里最穩(wěn)妥的是混合策略?xún)?yōu)先搜索搜索不到或語(yǔ)義不適配時(shí)再生成。代碼上也可以通過(guò)配置項(xiàng)切換策略。4. 環(huán)境準(zhǔn)備與前置條件這一節(jié)開(kāi)始進(jìn)入實(shí)操。以下環(huán)境是本文示例的推薦配置版本請(qǐng)以實(shí)際項(xiàng)目為準(zhǔn)我重點(diǎn)演示的是通用思路。4.1 基礎(chǔ)運(yùn)行環(huán)境操作系統(tǒng)Windows 10/11、macOS、Linux均可本文按macOS/Linux的bash命令演示W(wǎng)indows可在Git Bash中執(zhí)行。Python版本需要3.10及以上主要為了使用類(lèi)型注解和新版標(biāo)準(zhǔn)庫(kù)。包管理推薦使用venv或conda創(chuàng)建獨(dú)立虛擬環(huán)境。大模型API需要一個(gè)支持文本生成并返回結(jié)構(gòu)化JSON的模型接口本文示例使用OpenAI兼容接口的通用寫(xiě)法你可以替換為其他合規(guī)可用的模型服務(wù)。圖像生成或搜索API生成圖可以使用圖像生成模型接口搜索圖可以使用合規(guī)圖庫(kù)API。沒(méi)有API時(shí)也可以用本地圖片目錄模擬先跑通流程。4.2 創(chuàng)建項(xiàng)目目錄建議目錄結(jié)構(gòu)如下agent-autopicture/ ├── main.py # 程序入口 ├── agent.py # 輕量Agent核心邏輯 ├── tools.py # 工具函數(shù)搜圖、生成圖、下載 ├── config.py # 配置項(xiàng) ├── input/ │ └── article.md # 待配圖的文章 ├── output/ │ ├── images/ # 本地圖片 │ └── article_with_images.md # 配圖后的文章 └── requirements.txt # 依賴(lài)先在命令行執(zhí)行mkdir -p agent-autopicture/{input,output/images} cd agent-autopicture python3 -m venv venv source venv/bin/activate4.3 安裝依賴(lài)requirements.txt內(nèi)容如下openai1.30.0 requests2.31.0 markdown3.5.0然后安裝pip install -r requirements.txt需要說(shuō)明的是openai庫(kù)在這里只用于調(diào)用兼容OpenAI格式的模型服務(wù)如果你使用其他服務(wù)商請(qǐng)按對(duì)應(yīng)SDK文檔調(diào)整。關(guān)鍵設(shè)計(jì)是我們把模型調(diào)用封裝在同一個(gè)函數(shù)里后面替換模型服務(wù)時(shí)只需要改這一個(gè)地方。4.4 配置密鑰不建議把密鑰硬編碼在代碼里。在項(xiàng)目根目錄創(chuàng)建.env文件把API_KEY寫(xiě)入其中。示例中我們直接用環(huán)境變量讀取更穩(wěn)妥的做法是配合python-dotenv使用。這里先演示環(huán)境變量方式export AGENT_API_KEY你的模型服務(wù)密鑰 export AGENT_API_BASE模型服務(wù)地址 export AGENT_MODEL模型名稱(chēng)如果你在Windows PowerShell里運(yùn)行可以使用$env:AGENT_API_KEY你的模型服務(wù)密鑰 $env:AGENT_API_BASE模型服務(wù)地址 $env:AGENT_MODEL模型名稱(chēng)配置密鑰的核心原則是最小權(quán)限、不進(jìn)版本庫(kù)、區(qū)分環(huán)境。尤其是團(tuán)隊(duì)協(xié)作時(shí)不要為了省事把密鑰寫(xiě)進(jìn)代碼提交到Git倉(cāng)庫(kù)。5. Agent自動(dòng)配圖完整示例與代碼實(shí)現(xiàn)下面進(jìn)入正文最核心的部分。這一節(jié)會(huì)給出一個(gè)可以運(yùn)行的輕量Agent示例代碼量不大但把“規(guī)劃 - 工具調(diào)用 - 校驗(yàn) - 兜底”這一個(gè)完整鏈路跑通。5.1 配置文件 config.py配置文件負(fù)責(zé)集中管理模型參數(shù)、圖片策略、輸出目錄。它便于你在一處修改行為而不是在代碼中到處找。# 文件路徑agent-autopicture/config.py import os # 模型配置 MODEL_API_KEY os.getenv(AGENT_API_KEY, ) MODEL_API_BASE os.getenv(AGENT_API_BASE, ) MODEL_NAME os.getenv(AGENT_MODEL, gpt-4o-mini) # 配圖策略: search / generate / mixed IMAGE_STRATEGY os.getenv(IMAGE_STRATEGY, mixed) # 輸出結(jié)果 OUTPUT_IMAGE_DIR output/images OUTPUT_MARKDOWN_PATH output/article_with_images.md # 默認(rèn)每篇文章最多配圖數(shù)量 MAX_IMAGE_COUNT 6 # 圖片比例可取值 square / wide / tall IMAGE_RATIO square這段代碼把模型接口、策略和輸出位置都提出來(lái)了。IMAGE_STRATEGY建議先設(shè)為mixed這樣在搜圖失敗時(shí)還能走生成圖兜底。MAX_IMAGE_COUNT是安全邊界防止模型在長(zhǎng)文中生成過(guò)多配圖導(dǎo)致成本不可控。5.2 工具函數(shù) tools.py工具函數(shù)是Agent執(zhí)行層的關(guān)鍵。以搜索圖庫(kù)和生成圖片為例下面代碼演示通用接口寫(xiě)法不綁定具體廠商。你可以把它替換成自己的圖庫(kù)API或圖像生成服務(wù)。# 文件路徑agent-autopicture/tools.py import os import uuid import requests from pathlib import Path OUTPUT_IMAGE_DIR Path(output/images) def _download_image(url: str, save_dir: Path) - str: 下載圖片到本地并返回本地路徑 save_dir.mkdir(parentsTrue, exist_okTrue) suffix .jpg # 根據(jù)URL后綴判斷文件類(lèi)型無(wú)法判斷時(shí)默認(rèn)jpg if .png in url.lower(): suffix .png filename f{uuid.uuid4().hex}{suffix} local_path save_dir / filename resp requests.get(url, timeout20) resp.raise_for_status() local_path.write_bytes(resp.content) return str(local_path) def search_image(query: str, ratio: str square) - dict: 工具1在圖庫(kù)中搜索圖片返回候選圖片本地路徑或URL # 這里以合規(guī)圖庫(kù)API為例請(qǐng)?zhí)鎿Q為實(shí)際可用的圖庫(kù)服務(wù) # 如果未配置圖庫(kù)API則主動(dòng)拋出讓Agent走生成策略 api_key os.getenv(IMAGE_LIBRARY_KEY, ) if not api_key: return {success: False, reason: 未配置圖庫(kù)API密鑰請(qǐng)使用生成策略或補(bǔ)充密鑰} # 示例請(qǐng)求實(shí)際參數(shù)以圖庫(kù)文檔為準(zhǔn) search_url https://example-image-library.com/api/search params { query: query, orientation: landscape if ratio wide else square, per_page: 3, access_key: api_key, } resp requests.get(search_url, paramsparams, timeout20) if resp.status_code ! 200: return {success: False, reason: f圖庫(kù)請(qǐng)求失敗, code{resp.status_code}} items resp.json().get(results, []) if not items: return {success: False, reason: 沒(méi)有找到匹配圖片} first items[0] return {success: True, path: _download_image(first[url], OUTPUT_IMAGE_DIR)} def generate_image(prompt: str, ratio: str square) - dict: 工具2調(diào)用圖像生成模型生成圖片 # 這里使用OpenAI兼容接口的通用寫(xiě)法具體參數(shù)以服務(wù)商文檔為準(zhǔn) from openai import OpenAI client OpenAI( api_keyos.getenv(AGENT_API_KEY, ), base_urlos.getenv(AGENT_API_BASE, None), ) try: response client.images.generate( modelos.getenv(IMAGE_GEN_MODEL, dall-e-3), promptprompt, size1024x1024 if ratio square else 1792x1024, n1, ) image_url response.data[0].url return {success: True, path: _download_image(image_url, OUTPUT_IMAGE_DIR)} except Exception as e: return {success: False, reason: f圖像生成失敗: {e}}這段代碼有兩個(gè)關(guān)鍵點(diǎn)。第一search_image如果發(fā)現(xiàn)沒(méi)有配置圖庫(kù)密鑰會(huì)返回失敗原因而不是強(qiáng)行走錯(cuò)誤分支第二generate_image在生成失敗時(shí)會(huì)把異常信息打包返回給Agent。這種“失敗也要有結(jié)構(gòu)化信息”的習(xí)慣是Agent工具設(shè)計(jì)里很重要的一環(huán)。Agent只有拿到清晰的失敗原因才能決定是換關(guān)鍵詞搜索還是切換到生成策略。5.3 輕量Agent核心 agent.py接下來(lái)是Agent本體。它要做三件事調(diào)用模型生成配圖計(jì)劃、解析計(jì)劃、按計(jì)劃執(zhí)行工具。這里不依賴(lài)復(fù)雜框架核心是把模型輸出格式固定成JSON數(shù)組。# 文件路徑agent-autopicture/agent.py import json import re from openai import OpenAI from tools import search_image, generate_image from config import ( MODEL_API_KEY, MODEL_API_BASE, MODEL_NAME, IMAGE_STRATEGY, MAX_IMAGE_COUNT, IMAGE_RATIO, ) class AgentAutoPicture: 輕量自動(dòng)配圖Agent def __init__(self, api_key: str, api_base: str, model: str): self.client OpenAI(api_keyapi_key, base_urlapi_base or None) self.model model def _parse_plan(self, content: str) - list: 從模型輸出中解析JSON配圖計(jì)劃 # 有些模型會(huì)在代碼塊中返回JSON先嘗試提取 match re.search(r\[.*\], content, re.S) if not match: raise ValueError(模型輸出中沒(méi)有找到JSON配圖計(jì)劃) plan_text match.group(0) plan json.loads(plan_text) if not isinstance(plan, list): raise ValueError(配圖計(jì)劃必須是JSON數(shù)組) return plan def make_plan(self, article_text: str) - list: 第一步讓模型生成配圖計(jì)劃 prompt f 你是一個(gè)內(nèi)容配圖規(guī)劃師。請(qǐng)閱讀下面這篇文章規(guī)劃不超過(guò){MAX_IMAGE_COUNT}張配圖。 輸入文章 {article_text[:8000]} 輸出要求 1. 返回JSON數(shù)組每個(gè)元素包含四個(gè)字段position、topic、query、description。 2. position表示插在文章第幾段之后從1開(kāi)始。 3. topic表示這張圖的主題關(guān)鍵詞。 4. query表示用于搜索圖庫(kù)的英文檢索詞。 5. description表示如果搜索不到用于生成圖片的完整提示詞要寫(xiě)明畫(huà)面內(nèi)容、構(gòu)圖和風(fēng)格。 6. 只輸出JSON不要輸出解釋或其他內(nèi)容。 resp self.client.chat.completions.create( modelself.model, messages[ {role: system, content: 你是配圖計(jì)劃生成專(zhuān)家只返回JSON。}, {role: user, content: prompt}, ], temperature0.3, ) raw resp.choices[0].message.content return self._parse_plan(raw) def _execute_one(self, item: dict) - dict: 第二步執(zhí)行單條配圖任務(wù)支持mixed策略兜底 strategy IMAGE_STRATEGY if strategy in (search, mixed): result search_image(item[query], IMAGE_RATIO) if result[success]: return {**item, status: search_ok, image: result[path]} if strategy search: return {**item, status: search_failed, reason: result.get(reason)} if strategy in (generate, mixed): prompt item.get(description, item.get(topic, 配圖)) result generate_image(prompt, IMAGE_RATIO) if result[success]: return {**item, status: generate_ok, image: result[path]} return {**item, status: generate_failed, reason: result.get(reason)} return {**item, status: failed, reason: 未知策略} def run(self, article_text: str) - list: 完整執(zhí)行規(guī)劃 配圖 plan self.make_plan(article_text) results [] for item in plan: results.append(self._execute_one(item)) return results這個(gè)輕量Agent的巧妙之處在于它把模型規(guī)劃結(jié)果當(dāng)作“中間數(shù)據(jù)”而不是最終答案。make_plan只負(fù)責(zé)產(chǎn)出JSON計(jì)劃_execute_one則負(fù)責(zé)工具調(diào)度。即使模型輸出里的query搜索不到圖也還有description可以走生成鏈路這就是Agent相對(duì)普通腳本的核心優(yōu)勢(shì)它可以基于失敗結(jié)果調(diào)整行為。5.4 圖片插入與主程序 main.pyAgent返回的結(jié)果是一個(gè)包含圖片路徑和插入位置的列表。我們需要把它們寫(xiě)回Markdown文章。這里做的是最直接的插入方式在指定段落后插入![](圖片路徑)。# 文件路徑agent-autopicture/main.py import sys from pathlib import Path from agent import AgentAutoPicture from config import MODEL_API_KEY, MODEL_API_BASE, MODEL_NAME, OUTPUT_MARKDOWN_PATH INPUT_PATH Path(input/article.md) def read_article(path: Path) - str: return path.read_text(encodingutf-8) def split_markdown_paragraphs(text: str) - list: 按空行拆分成段落保持原有Markdown結(jié)構(gòu) return text.strip().split(\n\n) def insert_images(article_text: str, results: list) - str: 把圖片插入到對(duì)應(yīng)段落后面 paragraphs split_markdown_paragraphs(article_text) # 按position降序插入避免后面插入影響前面索引 for item in sorted(results, keylambda x: x.get(position, 1), reverseTrue): if item.get(status) not in (search_ok, generate_ok): continue pos int(item.get(position, 1)) if 0 pos len(paragraphs): image_line f\n\n![{item.get(topic, 配圖)}]({item[image]}) paragraphs.insert(pos 1, image_line) return \n\n.join(paragraphs) def main(): if not MODEL_API_KEY: print(請(qǐng)先設(shè)置 AGENT_API_KEY 環(huán)境變量) sys.exit(1) article_text read_article(INPUT_PATH) agent AgentAutoPicture(api_keyMODEL_API_KEY, api_baseMODEL_API_BASE, modelMODEL_NAME) results agent.run(article_text) new_article insert_images(article_text, results) out_path Path(OUTPUT_MARKDOWN_PATH) out_path.parent.mkdir(parentsTrue, exist_okTrue) out_path.write_text(new_article, encodingutf-8) print(配圖完成輸出文件, out_path) for item in results: print(item.get(position), item.get(status), item.get(image, item.get(reason))) if __name__ __main__: main()這里有一個(gè)容易踩的坑在列表中間不斷插入內(nèi)容時(shí)如果按原始段落索引從前向后插入后面的插入位置會(huì)因?yàn)榍懊嫘略鰞?nèi)容而錯(cuò)位。解決方法是先按position降序排序從后往前插入這樣前面插入的圖片不會(huì)影響后面已經(jīng)計(jì)算好的位置。這是處理Markdown或HTML內(nèi)容動(dòng)態(tài)插入時(shí)很實(shí)用的技巧。5.5 運(yùn)行命令與預(yù)期結(jié)果準(zhǔn)備一篇待配圖的文章。例如input/article.md內(nèi)容可以是一段技術(shù)分享包含“背景、方案、實(shí)現(xiàn)、總結(jié)”幾個(gè)Parts。然后運(yùn)行python main.py程序會(huì)依次執(zhí)行“生成配圖計(jì)劃”和“搜索/生成圖片”。預(yù)期輸出類(lèi)似配圖完成輸出文件 output/article_with_images.md 2 search_ok output/images/xxx.jpg 5 generate_ok output/images/xxx.png 7 search_failed 圖庫(kù)沒(méi)有找到匹配圖片看到配圖完成說(shuō)明主流程跑通了。打開(kāi)output/article_with_images.md應(yīng)該能看到在指定段落后出現(xiàn)圖片引用。注意某些圖片下載后可能是無(wú)效文件所以要靠下一步的校驗(yàn)來(lái)兜底。6. 運(yùn)行結(jié)果與效果驗(yàn)證跑通流程只是第一步驗(yàn)證輸出質(zhì)量才是真正體現(xiàn)工程能力的地方。這一節(jié)提供一套簡(jiǎn)單有效的驗(yàn)證方案分為文件級(jí)驗(yàn)證、圖片級(jí)驗(yàn)證和內(nèi)容級(jí)驗(yàn)證。6.1 文件級(jí)驗(yàn)證檢查圖片文件是否存在且非空l(shuí)s -lh output/images/如果看到多個(gè).jpg或.png文件且大小不為0說(shuō)明下載或生成成功。如果文件大小只有幾KB并且打不開(kāi)大概率是圖庫(kù)返回了錯(cuò)誤占位圖或圖片下載不完整。6.2 Markdown鏈接驗(yàn)證使用Python腳本檢查圖片引用是否與實(shí)際文件對(duì)應(yīng)# 文件路徑agent-autopicture/validate.py import re from pathlib import Path md_path Path(output/article_with_images.md) text md_path.read_text(encodingutf-8) image_refs re.findall(r!\[.*?\]\((.*?)\), text) for ref in image_refs: img_path Path(ref) if not img_path.exists(): print(f缺失圖片: {ref}) else: print(fOK: {ref} - {img_path.stat().st_size} bytes)這個(gè)腳本的好處是能在輸出團(tuán)隊(duì)交付前提前發(fā)現(xiàn)斷鏈問(wèn)題。特別是當(dāng)圖片來(lái)自臨時(shí)下載目錄、遠(yuǎn)程URL或圖床時(shí)斷鏈非常容易被忽略。6.3 內(nèi)容級(jí)驗(yàn)證檢查配圖位置是不是和段意思搭配合理。這一步無(wú)法完全自動(dòng)化但可以做一個(gè)低成本的“采樣檢查”隨機(jī)抽3張配圖先看圖片和段落主題的相關(guān)性再看整體風(fēng)格是否統(tǒng)一。如果走的是搜索策略圖片風(fēng)格不一致屬于正?,F(xiàn)象如果走的是生成策略模型輸出風(fēng)格受提示詞影響可以在description里統(tǒng)一加入“扁平插畫(huà)風(fēng)格簡(jiǎn)潔背景”這類(lèi)限定詞。運(yùn)行失敗的排錯(cuò)思路從下往上先看是否有API錯(cuò)誤再看規(guī)劃JSON是否被正確解析再看工具調(diào)用返回的失敗原因最后看圖片文件是否存在。在代碼里每一環(huán)都有結(jié)構(gòu)化狀態(tài)值使用search_ok、generate_ok、search_failed這樣的狀態(tài)碼能節(jié)省大量定位時(shí)間。7. 常見(jiàn)問(wèn)題與排查思路自動(dòng)配圖Agent在真實(shí)環(huán)境中會(huì)遇到各種問(wèn)題。下面表格列出最常見(jiàn)的幾類(lèi)以及對(duì)應(yīng)的排查方式。問(wèn)題現(xiàn)象可能原因排查方式解決方案啟動(dòng)后提示API密鑰無(wú)效密鑰未設(shè)置或設(shè)置錯(cuò)誤檢查環(huán)境變量是否生效打印密鑰前幾位和后幾位重新設(shè)置密鑰確認(rèn)密鑰所屬服務(wù)與base地址一致模型返回的不是JSON提示詞約束不足或模型版本較弱打印原始輸出看是文本解釋還是被截?cái)嘣鰪?qiáng)提示詞要求“只返回JSON”或使用JSON Mode配圖計(jì)劃數(shù)量超出預(yù)期提示詞沒(méi)嚴(yán)格限制條數(shù)檢查生成的計(jì)劃列表長(zhǎng)度在代碼里截?cái)酁镸AX_IMAGE_COUNT并優(yōu)化提示詞圖片下載為空文件圖庫(kù)返回了占位圖或下載超時(shí)檢查文件大小用瀏覽器打開(kāi)URL測(cè)試下載前校驗(yàn)Content-Type和Content-Length增加超時(shí)重試生成圖接口報(bào)余額不足圖像生成模型費(fèi)用高于預(yù)期查看服務(wù)商賬單和限額改用mixed策略能搜圖就不生成設(shè)置每日消耗上限插入位置錯(cuò)亂列表插入時(shí)索引變化檢查position字段和段落數(shù)量使用降序插入邏輯從后往前插入圖片風(fēng)格不統(tǒng)一搜索圖庫(kù)來(lái)自不同來(lái)源檢查候選圖縮略圖在query后追加風(fēng)格詞或全量切換為生成策略長(zhǎng)文截?cái)鄬?dǎo)致計(jì)劃不完整文章超過(guò)模型上下文長(zhǎng)度檢查文章長(zhǎng)度和日志截?cái)帱c(diǎn)分段摘要再規(guī)劃或只對(duì)前8000字符做規(guī)劃這里想重點(diǎn)提醒“圖片版權(quán)”問(wèn)題。圖庫(kù)搜索得到的結(jié)果不一定都允許商用生成模型合成圖片也存在內(nèi)容合規(guī)風(fēng)險(xiǎn)。在生產(chǎn)環(huán)境中工具層應(yīng)該加入一個(gè)check_license步驟從圖庫(kù)返回結(jié)果中讀取授權(quán)信息把未明示授權(quán)的候選圖過(guò)濾掉。不要為了流程自動(dòng)化把版權(quán)審核也自動(dòng)省略了。8. 最佳實(shí)踐與工程建議當(dāng)自動(dòng)配圖Agent從“能跑”到“好用”需要補(bǔ)上很多工程細(xì)節(jié)。我按實(shí)際項(xiàng)目中最重要的幾條來(lái)總結(jié)。8.1 提示詞與JSON結(jié)構(gòu)分離規(guī)劃階段使用的提示詞要盡可能描述清楚輸出JSON的結(jié)構(gòu)甚至在提示詞中附上一個(gè)小示例。更好的做法是在系統(tǒng)提示詞中聲明“只輸出合法JSON”同時(shí)在用戶(hù)提示詞中再給一個(gè)結(jié)構(gòu)示例。對(duì)于需要頻繁調(diào)整的業(yè)務(wù)可以把提示詞抽成單獨(dú)的文件避免為了改一行字重新部署代碼。8.2 圖片文件管理必須有規(guī)范和緩存每次運(yùn)行都重新下載圖片會(huì)造成大量重復(fù)文件。生產(chǎn)實(shí)踐是建立以“文章ID 內(nèi)容哈?!睘槟夸浀膱D片存儲(chǔ)結(jié)構(gòu)例如output/ └── article_1234/ ├── images/ │ ├── plan.json │ └── key_image_001.png └── article_with_images.md這樣同一篇文章重復(fù)配圖時(shí)如果內(nèi)容哈希沒(méi)變可以直接復(fù)用已有結(jié)果既節(jié)省API費(fèi)用也避免生成多份不一致的圖片。8.3 成本控制是自動(dòng)化的生命線(xiàn)自動(dòng)配圖的成本大頭來(lái)自大模型調(diào)用和圖像生成。設(shè)計(jì)上至少要加三個(gè)控制點(diǎn)單篇文章最大配圖數(shù)量、每日總調(diào)用次數(shù)、圖像生成失敗自動(dòng)降級(jí)為搜索。還應(yīng)該在config.py中設(shè)置每日預(yù)算當(dāng)超出時(shí)直接停止新任務(wù)。8.4 Agent記憶與Skills擴(kuò)展方向當(dāng)任務(wù)從一個(gè)Agent擴(kuò)展到多個(gè)Agent時(shí)可以引入Agent記憶。例如保存“某個(gè)領(lǐng)域文章的配圖風(fēng)格偏好”下次同類(lèi)任務(wù)直接讀取減少重復(fù)規(guī)劃。Skills則是把“版權(quán)審核”“圖片壓縮”“風(fēng)格遷移”拆成獨(dú)立能力模塊。這些擴(kuò)展不等于要在第一天全做但代碼設(shè)計(jì)上要給接口留擴(kuò)展位。比如讓_execute_one支持注冊(cè)新的工具函數(shù)而不是把所有邏輯都寫(xiě)在同一個(gè)if分支里。8.5 安全邊界與內(nèi)容合規(guī)自動(dòng)配圖涉及外部圖片下載和生成存在內(nèi)容安全風(fēng)險(xiǎn)。建議在工具鏈中增加圖片審核步驟尤其是涉及人物、品牌、地圖等敏感類(lèi)別時(shí)先用視覺(jué)模型打標(biāo)命中敏感類(lèi)別則丟棄候選圖。生成圖像提示詞也應(yīng)該有一個(gè)負(fù)面過(guò)濾列表防止出現(xiàn)不合規(guī)內(nèi)容。從工程角度說(shuō)自動(dòng)配圖腳本運(yùn)行的賬號(hào)權(quán)限應(yīng)按最小權(quán)限配置不隨便下載未知來(lái)源文件并執(zhí)行。8.6 日志與可觀測(cè)性給Agent運(yùn)行加上結(jié)構(gòu)化日志而不是只打印一行“配圖完成”。每次工具調(diào)用都應(yīng)該記錄調(diào)用時(shí)間、輸入?yún)?shù)、返回狀態(tài)、耗時(shí)、圖片大小。這些日志不只是為了排障更是為了后續(xù)復(fù)盤(pán)“哪一類(lèi)文章適合搜索策略哪一類(lèi)適合生成策略”。沒(méi)有日志Agent優(yōu)化就只能靠猜。9. 總結(jié)與后續(xù)學(xué)習(xí)方向這篇文章從“配圖如何自動(dòng)化”切入講清楚了Agent自動(dòng)配圖的原理、選型和落地鏈路。核心不是讓模型生成一張圖而是讓Agent能夠穩(wěn)定地完成從“讀文章”到“規(guī)劃配圖”再到“調(diào)用工具獲得圖片、插入文檔”的完整決策閉環(huán)。通過(guò)一個(gè)輕量Agent示例我們演示了JSON規(guī)劃、工具調(diào)用、降級(jí)策略、批量插入和結(jié)果校驗(yàn)這套代碼可以直接改造成你自己的內(nèi)容生產(chǎn)工具的一部分。如果你要繼續(xù)深入Agent開(kāi)發(fā)下面幾個(gè)方向值得依次探索。第一個(gè)方向是工具能力擴(kuò)展給Agent增加圖片壓縮、水印、風(fēng)格統(tǒng)一、色彩分析等工具讓它在取到圖之后還能繼續(xù)后處理。第二個(gè)方向是Agent記憶保存歷史配圖偏好并在新任務(wù)中自動(dòng)復(fù)用減少模型重復(fù)規(guī)劃帶來(lái)的不一致。第三個(gè)方向是Multi-Agent協(xié)作讓“內(nèi)容理解Agent”“配圖規(guī)劃Agent”“圖片審核Agent”各自負(fù)責(zé)單一職責(zé)通過(guò)共享任務(wù)隊(duì)列協(xié)作這更接近團(tuán)隊(duì)協(xié)作的模式。第四個(gè)方向是Skills沉淀把你常用的提示詞、工具函數(shù)、校驗(yàn)規(guī)則打包成可復(fù)用的Skill后續(xù)接入LangChain或其他Agent框架時(shí)可以直接平移過(guò)去。動(dòng)手時(shí)有個(gè)建議先用最小示例跑通“標(biāo)題配圖”的場(chǎng)景輸入只要一句話(huà)比如“幫我寫(xiě)一篇數(shù)據(jù)庫(kù)遷移的文章并配圖”確認(rèn)Agent能完成規(guī)劃、取圖、插入三個(gè)動(dòng)作后再逐步擴(kuò)大到長(zhǎng)文章和復(fù)雜文檔。每一步都補(bǔ)充日志和校驗(yàn)才能讓自動(dòng)配圖從“偶爾能用”變成“穩(wěn)定可用”。你自己的內(nèi)容創(chuàng)作流程也不用再被一張找不到的配圖卡住。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情欧美五月丁香| 久久久五月五丁香| 色综合中文色综合网| 超碰在线综合| 婷婷色五月色妇| 久久月天堂| 国产婷婷综合| 九九精品热| 亚洲网视屏| 97色色综合| 变态另类色图 | 激情丁香社区| 五月天丁香啪啪啪啪| 婷婷伊人综合中文字幕| 婷婷中文字暮| 天天色五月| 在线91日韩| 中文字幕在线观看视频www| 好吊操这里只有精品| 丁香婷婷激情四射五月| 性爱久久| 五月丁香成人视频| 操骚货在线| 日本成人噜噜| 天天操夜夜玩!| 亚洲久久日| 99热99色| 婷婷丁香五月综合| 79精品视频在线观看,| 人人舔人人| 中文字幕在线日亚州9| 六月丁丁香| 天天狠狠色综合| 7超碰自拍| 亚洲成人网址在线观看| 少妇人妻丰满做爰XXX| 夜夜骑天天操| 激情五月视频在线婷婷| 五月天精品综合| 九九热这里只有精品556| 色婷婷啪啪综合网| 久久男人网婷婷| 免费亚洲婷婷| 九九香蕉网| 天天综合网在线| 激情小说之五月| 996er在线观看| www.久久99热地址发布| 99精品97| 99热9999| sS丁香五月婷婷| www.五月天色色色| 亚洲成人一区| 人人草成人视频| 久9无码视频| 99热伊人综合| 国内一级精品| 激情综合网址| 99色综合网| 五月天丁香网站| www.无码com| 精品久9| 国色天香成人网| 久久激情五月| 无遮挡国产高潮视频免费观看| 99精品综合视频| 99热成人在线观看| 丁香五月天激情网| 五月丁香成人小说| 五月婷婷欧洲| 五月天停停日日| 玖玖爱导航| 97在线干| 久热这里只精品| 精热在线综合网| 激情99热| 99热激情| 欧美色色色色色| 亚洲六月婷婷| 国产精产国品一二三在观看| 人人综合色| 国产女18毛片多18精品| 日韩一级网站| 婷婷五月激情网站| 中文久久久人妻| 色五月婷婷激情综合网| 久久精品小视频| 亚洲综合网激情小说| 99超碰人人| 日韩人妻在线观看| 伍月激情天| 91精品国产综合久久密臀| 青青草蜜臀| 欧美婷婷色五月| 99热精品在线免费观看| 免费AV播放| 99免费超碰在线| 色婷婷影视99| 91精品电影18T| 伊人五月网| 97婷婷五月| 天天综合精品| 久久受www免费人成| 99精彩视频在线观看| 99精品无码视频| caobi四区| 99热这里只有精品1998| 色五月综合激情| www婷婷| 91色婷婷综合久久中文字幕二区| 精品一区二区三区三区| 五月激情丁香五月宗合| 久久婷婷久久| 成人性生活免费观看。| 伊人影音无码一区二区三区| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 久久久久久人妻久久久久久久久久人妻久久久| av九九| 婷婷五月激情欧美大胆视频| 高清视频一区| 丁香色五月AV在线| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 亲子乱av一区二区三区的| 久久久欧美精品sm网站| 996日日爱| 337p大胆噜噜噜噜噜91Av| 午夜69成人做爰视频| 人操人人| 婷婷五月天欧美| jiZZdr| 嫩模草| 亲子乱AV一区二区三区下载| 五月天狠狠色| 玖玖激情网| 七七九色| 五月天色综合| 91久久综合亚洲噜噜成人在线| 久久视频这里都是精品| 色五月在线观看| 黄页免费一级视频懂色| 夜夜做夜夜愛| 任你爽在线视频| 久久五月丁香伊人青草| 色啪网| 超色欲天天| 婷婷中文字幕版| 香蕉综合网| 91色欲综合| xx色综合| 99噜噜噜在线播放| 99这里只有免费的小视频在线观看| 亚洲啪啪网| 黄色aa观看aaguochan| 成人精品一区二区三区四区五区| 色丁香五月婷婷| 激情黄色小说色五月| 五月婷婷六月丁香综合| 狠狠综合久久综合| 五月天开心激情综合网| 色婷婷文字幕| 婷婷综合色| 丁香五月天AV| 婷婷丁香综合色AV| www.婷婷五月天| 婷婷在线日韩综合| 春色激情第四色| 性一交一乱一交A片久| 久99热| 亚洲无码色色| 夜夜AVV| 久久99成人性爱高清视频| 黄色热99| 亚洲六月婷婷| 色综合婷婷| 欧美天堂久久| 伍月婷丁香婷| seav天堂| 欧美日韩成人高清在线| 超碰人人在线| 欧美日本韩国亚洲| 亚洲va欧美va天堂v国产综合| 一区二区你懂的| 国语精品探花| 激情五月天综合网| 国内外色色色色色成人视频| 99热99热| 成人av免费观看| 九九热这里只有精品6| 丁香五月天欧洲在线| 久久久中文| 人妻内射麻豆视频| 色色色五月| 婷婷欧美| 激情婷婷亚洲五月| 色婷av| 丁香五月六月综合激情| 丁香六月亚洲| 大香蕉Av在线| 97亚洲视频在线| 成人九九视频| 婷婷五月天成人| 国产精品国产成人国产三级| 日本人人xxx| 99色综合网| 天天插天天插| 五月丁香网站| 开心婷婷五月| 丁香婷婷五月天在线视频| 色婷婷色丁香色欲av| 99爱精品视频| 久久 婷婷 五月天| 狠狠狠狠狠狠草| 蜘蛛女侠2003满天星免费观看| 黄色五月婷婷| 影音先锋美国A| 亚洲丁香五月在线观看| WWW,五月| 婷婷干| 婷婷伊人| 婷婷操婷婷干婷婷射| 亚洲成人综合在线| 六月婷婷最新网址| 一级操逼大片| 女人高潮内射99精品| 丁香五月五婷| 婷婷五月天激情亚洲小说| WWW色色色COM| 日本精品人妻无码77777| 大香蕉久久久久久久久| 婷婷五月激情在线| 六月丁香婷婷综合色播| 久久久欧美精品sm网站| 97夫妻超碰| 偷偷操99| 夜夜骑天天操| 婷婷五月天在线观看第二页| 深爱五月激情网| 99色综合久久| 99热这里只有精品8| 婷婷五月激情热播| 亚洲色激情| 五月婷婷丁香社区| 91操人视频| 人人射人人高潮| 久热这里只有精品3| 99青青草99| 99re这里| 99在线精品免费视频| 日日舔夜夜操| 777色色色| 五月丁香久久网| 另类伊人婷婷| 9|无码久久久久久| 97超碰人人操| 99热婷婷| 国产欧美婷婷| 五月天婷婷色色| 欧美综合五月天婷婷tin| 日韩欧美成人片| 99精吕视频在线观看了| 伊人久久丁香婷婷六月五月综合| cc精品国产性传播| 五月开心色| 999热成人在线综合网| 国产操碰| 亚洲婷婷视频| 亚洲综合婷婷五月| 五月丁香综合啪啪| 久久久久这里都是精品| 青草网在线观看| 成人网站免费在线播放| 偷拍91九色| 67194线路二在线观看| 极品少妇高潮啪啪AV无码| 丁香五月天啪啪| 五月丁香淫淫婷婷婷| 天天操夜夜爽天天操| 日韩无码系列| 日韩久久系列| 久99婷婷色综合| 亭亭玉月丁香| 97在线观看| 牛牛澡牛牛爽| 91在线日本| 超碰猛烈的性猛交| 色色激情五月天| 久久久com| 久婷婷婷| 综合婷婷| 婷婷五月激情综合网| 五月天sesese| 久久新地此| 亚洲成人网在线观看| 97视频久久| 日本色频| 婷婷六月五月天综合| 影音先锋 91工厂| 激情综合亚洲色婷婷五月| 久久性爱视频免费| 五月丁综合在线观看| 五月天精品综合在线| 国产裸舞表演WWWW| 五月婷婷啪啪网| 婷婷五月丁香香蕉| 五月婷婷综合天天操| 久久综合五月婷婷| 97色干| 亚洲人人96@| 久久婷婷六月综合资源| 婷婷国产成人| 国精产品一区一区三区免费视频 | 天天摸天天日天天舔| 热99AV网站| 97人人操| 五月激香蕉网| 丁香六月啪啪| 婷婷爱五月天| 99久久综合| 五月丁香日逼| 五月亭亭六月激情| 99热免费精品| 天天日日夜夜| 色老久久| www.色擼擼.com| 色婷婷69| 久99久视频精选| WWW久久久| 欧美激情五月天| 97色啪| 国自产拍偷拍精品啪啪一区二区| 另类激情五月| 五月天婷婷在线观看| 九九综合| 99综合自拍| 另类国产综合| 婷婷五月天在线观看| 久9热插入| 色婷婷五月天激情| 日本久久人| 亚洲精品又粗又大又爽A片| g00d人体西西| 这里只有精品视频99| 久操热| 亚洲激情六月| 天天操夜夜爽| 人妻丰满精品一区二区A片| 激情五月天婷婷色色色色色色色色色色色 | 永久的网站AAAA | 亚洲在线操| 五月天色婷婷伊人网| 天天狠天天叉| 天天看A片| 综合在线色婷婷| 狠狠精品干练久久久无码中文字幕 | 精品久久9| 噜噜吧天天爱| 色五月婷婷天堂| 美女婷婷六月色| 亚洲激情综合网| 色约约视频一区二区三区四区五区 | 国产看真人毛片爱做A片| 丁香五月婷婷激情尤物| 丁香激情五月| 午夜爱插插| 色XX综合网| 日本一级淫| 91干| 激情五月天黄色小说| 天天插天天插| 欧美精产国品一二三区| 久久一热| 99在线精品免费视频| 久99视频| 久久综合中文| 五月丁香A片| se99视频| 69婷婷丁香午夜| 九九成人视频| 激情婷婷五月天在线观看| 国产精品涩涩涩视频网站| 婷婷久久五月| 国模狼狼| 丁香五月情| 婷婷六月天天| 婷婷丁香五月综合| 人妻尝试久久久久久久久久久久| 日日操无码| 天天日夜夜帕| 欧美天堂久久| 99色色| 婷婷五月天激情综合| 天天综合精品| 五月丁香六月激情欧美综合| 五月丁香91| 天天插天天插天天插天天插| 五月天综合区| 9999热在线免费观看| 超碰成人av| 97狠狠碰| 五月天com| 日日夜夜青青草| 国产在线aaa片一区二区99| 婷婷爱综合| 最近免费中文字幕大全高清大全1| 亚洲久久婷婷丁香五月天| 色五月丁香A欧美com| 色小说五月天| 婷婷激情五月综合| 999热这里只有美国精品| 激情网婷婷婷| 99狠狠色| 国产无套精品一区二区| 综合色图区| 中文字幕AV在线播放| 人人爱国产| 免费国产VA国产免费| 99ri精品视频在线观看| 色 丁香婷婷| 9 1 A v久久久| 99久在线精品99re8| 青青夜夜狠狠夜夜狠狠| 六月婷婷青青青视频| 婷婷九月亚洲| 这里只有免费的精品| 五月丁香人妻| av中文网| 六月婷婷综合| 99热在线观看免费| 成人电影一区| 五月丁香婷色| 国产乱妇乱子在线播视频播放网站| WWW.婷婷| 思思re视频在线| 99欧州偷拍视频| 色网五月婷婷| 色婷网| 激情婷婷另类| 色爽九九| 国产精品国产成人国产三级| 91一起操| 丁香狠狠色婷婷| 丁香六月色情| 成人一级片| 色色999三级片| 超碰爱爱爱| 天天看片日日夜夜| 在线91日韩| 亚洲第一成人无码A片| 久色激情| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 51XX午夜影福利| 9999色色色色| 成人婷婷深爱综合网| 婷婷五月天奸女| 婷婷激情五月天桃花网| 六月丁香激情网| 久久99色色| 久久婷婷成人| 激情性爱婷婷| 精品一二三区久久AAA片| 欧美性爱五月天| 六月色播| 丁香五月天色婷婷| 九九热思思| 亚洲性爱日韩无码| 一个色的综合| 五月丁香婷婷激情在线| 99久久黄色顶级视频| 中文无码婷婷| 婷婷大香蕉| 91婷婷伊人牛牛| 一区二区aV电影免费看| 人人肏逼视频在线一区二区| 91人妻九色大屁股| 天天干天天干天天| 五月天婷婷激情在线色图| 国产.亚洲.欧洲视频在线| 婷婷干五月综合在线播放| 操嫩逼电影| 激情丰满熟妇五月| 色五月婷婷在线视频| 欧美久热| 五月丁香手机在线| 五月天色婷好好| 久碰视频| 精品色色网| 五月停停丁香| 色婷婷丁香五月天在线观看| 国产97色在线| 狠狠搞狠狠操| 久草热久草在线视频| 欧美大肥婆大肥BBBBB| 亚洲综合激情五月久久| 婷婷欠久少妇| 久久免费试看120秒| 亚洲另类久久| 婷婷五月花西瓜| 天天舔天天操| 伊人婷婷五月天| 丁香六月婷婷综合| 精品爱欲五| 日韩人人操| 婷婷刺激综合| 天天舔天天插天天爱| 五月丁香美女| 亚洲精品色色色| 色婷婷久久综合中文久久一本| 五月婷婷在线免费观看| 亚洲六月色| 五月天激情小说网| 91色综合久久| 九九99热| 六月婷婷狠狠做| 亭亭色天香| 五月丁香六月婷婷综合伊人| 99热这里都是精品| 丁香五月天社区| 中文字幕一色哟哟哟哟| 丁香婷婷91在线观看视频| 色色精品色| 五月天四色房丁香| 丁香五月在线观看| 99精品成人无码A片观看金桔| 色综合网页| xx久久| 久久视频在线视频| 91fuliwang| 99精品自拍| 伊人婷婷五月| 婷婷久久综合久| 国产精品扒开腿做爽爽爽A片唱戏| 自拍视频在线观看9| 色欲婷婷五月天| 天天操夜夜爽| 综合网天天| 日本在线观看99| 五月久熟女| 五月丁香婷婷人体| 五月天久久网站| 欧美成人AAA片一区国产精品| 色婷婷五月影院| 亚洲中文无码成人| 9九色首页| 色色五月天婷婷| 丁香婷婷成年| 男人天堂亚洲综合| 97五月久久丁香婷婷| AA片在线观看视频在线播放| 欧美性二区| 久久激情五月婷婷| 色婷婷六月| 亚洲艹网| 九九热99热| 福利视频在线播放| 五月婷婷六月丁香| 26uuu亚洲精品国产| 操逼巨乳91| 亚洲9久久精品| 色天天久婷婷| 色一情一乱一乱一区91Av| 99国产97在线,| 99秘 在线| 婷婷综合在线| 天天搞夜夜爽夜夜爽| 欧美成人精品A片免费一区99| 99色爱| 777久久综合视频| 丁香六月婷婷综合| 99久久玖玖| 天干夜夜操| 六月丁香啪啪啪| 五月婷婷狠狠久久| 亚洲色色爱| 久久久久丁香婷婷五月天| 99热这里有精品| 五月花婷婷在线精品视频| 中文字幕,综合,91| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 婷婷在线免费| 开心五月激情网| 国产av基地| 久久WW| 伊人玖玖网| 天天日天天爽| 丁香激情久久| 五月婷在线观看| 婷婷五月播| 激情综合亚洲| 六月99天天婷婷激情综合| 丁香五月电影| 丁香综合伊人| 国产肥白大熟妇BBBB视频| 六月色播| 黄久久久| 夜夜夜夜夜操| 色婷婷婷婷成人网| 日本美女97在线视频| 丁香网五月网| 五月婷天堂视频| 久久视频婷婷| 五月天色播网| 草草色情综合网| 九九在线这里只有精品视频| 天天干天天曰天天射| 女人被男人吃奶到高潮| 97人人操在线| 无码AV免费精品一区二区三区 | 激情五月www| 久久久久久18| www.日日夜夜.com| 日韩免费乱轮网站| 中文AV网| 婷婷五月天亚洲综合| 激情性爱五月天网页| 这里只有精彩视| 婷婷五月天中文字幕| 色婷婷五月综合在线| 97婷婷色| 五月婷婷影视| 狠狠色噜噜狠狠狠狠综合| 在线99热| 亚洲成人电影在线免费观看| 日韩av在线电影| 综合激情五月丁香| 一区二区传媒视频| 中文字幕 中文字幕明步| 色色色视频免费无码| 婷婷在线网| 99a级片| 婷婷五月天深爱| www色综合亚洲92| 色噜综| 日韩成人精品中文字幕| 色综合综合网| 欧美精品999| 久久XX| 五月丁香六月婷婷无码| 色婷婷丁香网| 免费人人操| 国产成人精品一区二区三区视频| 五月激情婷婷国产精品久久久久久| 成人色站,在线视频,看片-SS1AV| 偷拍九九五月丁香婷婷| 狠狠干综合| 丁香婷婷基地| 五月婷婷综合色啪首页| 超碰永久在线| 熟妇无码乱子成人精品| 狠狠干五月| 五月丁香六月婷婷免费视频| 丁香六月天婷婷色| 久9久9热久热| 综合视频五月| 六月婷婷天堂| 久久免费婷婷视频| 五月婷久久综合| 二色av| 日熟女| 丁香网五月天激情| 中文字幕婷婷五月天| 超碰在线网站| 97碰碰碰免费公开在线视频| 伊人啪啪网| 狠狠色综合网| 五月开心深爱激情网| 有码人妻久久| 大香蕉AV在线| 伊人九九综合| 五月激情网五月综合网| 亚洲综合在线视频| 91日精品| 久久九九九九| 精品国产a| 97操操网| 久久婷婷五月天大香蕉| 另类少妇人与禽zOZZ0性伦| 9l视频自拍九色9l视频自拍九色9l社区 | 丁香五月性| www.99成人视频| 5月婷婷六月丁香| 色婷婷4| 国产伊人五月天| 异能之下短剧免费观看全集| 色婷五月| 玖玖在线视频福利| 日本妈妈乱| 五月总合激情网| 99re热精品视频国| 久久婷婷人人| 伊人影院久久网| 少妇大叫太大太粗太爽了A片| 激情综合亚洲| 人人干女人| av性爱网站| 5月婷婷性视频| 婷婷性爱| 婷五月天在线草| 婷婷综合| 婷婷五月天成人网| 丁香婷婷五月综合欧美另类| 九九99九九精品免费| 九九精品热| 日本人妻伦在线中文字幕| 色色色综合网| 波多婷婷久久| 97人人看一| 欧美色色色色色色色| 丁香伊人网| 色婷婷丁香网| 操丝袜视频影院导航| 色色亚卅| 亚洲午夜一区二区| 99久久激情视频| 国产精品18久久久| 婷婷五月,综合伊人| 午夜一区| 桃色成人网| 丁香五月婷婷免费视频| 色碰97| www,久久久| 超碰猛烈的性猛交| 久久亭亭电影| 1024成人在线观看| 色五月激情综合| 99精品视频偷拍| 九九AV在线| 日本三级大片| 狠狠色狠狠色综合日日91| 五月天亭亭俺也| 偷拍五月丁香| 久久六月综合| 色噜噜伊人| sewuyuejiqingwang| 亚洲色精彩| 日本女va| 丁香五月天视频在线播放| 99九九视屏| 亚洲女婷婷五月基地综合久久久| 亚洲色婷婷五月天| 色综合九九| www:99热视频| 丁香亭亭久久| 思思久久99| 99久久婷婷国产综合精品草原| 婷婷丁香五月天色色| 亚洲啪啪啪啪| 99久久婷婷五月天| 色色色在线观看| 看片视频在线免费日产在线看| 久久综合55| 人人爱操| 丁香狠狠色婷婷| 日韩无码性爱| 婷婷综合网| 久久这里只有精品视频1| 丁香婷婷色情| 五月婷婷先锋| 99久久久免费| 可以免费观看的AV| 99九九精品视频推荐| 99,色| 99爱视频| 一区二区aV电影免费看| 婷婷六月插屄激情| 丁香五月婷婷影院| 免费黄色片子| 欧美槡BBBB槡BBB少妇| 成人av在线网| 久草天堂| 天天色天天爱天天爱天天爱y| 开心五月婷婷| 天天日天天爽| 岛国资源站| 亚洲国产成人在线| 九九久久这里只有精品XB| 26uuu亚洲欧美另类| 亚洲五月天天| 久久激情视频| 伊人婷婷大香蕉| 丁香五月天婷婷激情| 99综合一区| 日亚二欧美| 丁香五月天五码婷婷| 大香蕉五月天| 五月婷婷色影院| 五月激情网站| 成人电影AV在线观看| 激情五月婷婷视频一区二区三区| 久久久久久久久18久久| 狠狠狠激情网| 五月激情丁香啪啪| 婷婷丁香五月天小说| 婷婷丁香五月综合| 久久aaa| 年轻的妺妺伦理HD中文| 美女要搞搞天天搞搞搞网站| 强辱丰满人妻HD中文字幕| 色噜噜伊人| 日本久久99| 天干干夜夜操| 色五天综合| 六月婷婷网| 天天精品视频在线观看视频| 中字幕视频在线永久在线观看免费| 密臀av无码人妻精品| 人人人人人人人草| 亚洲网综合在线| 九九草热在线观看| ..真实国产乱子伦毛片 | 激情图片婷婷| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 激情九色| 伊人狠狠丁香婷婷综合尤物| 九九色色色| 色综合激情| 大香蕉人妻| 日韩成人精品中文字幕| 久久综合激情| 久久这里有精品| 婷婷五月丁香综合激情小说| 综合在线观看99| 亚洲视频99| 91一起艹| 任你躁XXXXX麻豆精品| 丁香综合网| 大地9中文在线观看免费高清| 五月天中文网| 久久五月天激情婷婷| www.色9| 二人电影免费版在线观看| 少妇搡BBBB搡BBB搡毛茸茸| 99爱免费视频| 久久婷婷啪啪视频| 免费无码毛片一区二区A片| 丁香五月婷婷成人网| 亚洲 欧洲 国产 伦综合| 激情内射人妻1区2区3区| 超喷97免费在线视频| 夜夜操天天干| 综合久久婷婷| 五月婷婷六月激情| 国产成人AV在线播放 | 99热99ai| 91av无码| 99热日本| www.色婷婷| caopeng超碰| 操比激情五月| 人人爱人人草| 丁香五月天激情免费在线观看AV777| 99热大香蕉| www免费在线视频| 九九精品综合| 九九婷婷五月天影视| 丁香五月开心亚洲| 丁香性爱在线视频| 久操人妻| 99热这里只有精品3| 亚洲艹网| 天天操天天曰天天射| 婷婷五月成人| 久草xx性爱视频| 欧美内射AA| www.91AV.com| 国产乱子轮XXX农村| 超碰97免费在线| 欧美英丁香开心快乐六月天网| 激情婷婷丁香五月天| 激情五月婷婷| 婷婷综合五月| 五月天综合视频网| 五月 丁香 欧美| 亚洲天堂制| 99色免费观看全部| 欧美综合激情五月丁香| 狠狠狠狠狠干| 玖玖九九99| 久久一品区| 日操熟女| BBWCUCKOLD精品熟妇| 色婷视频| 99九九精品视频| 九九这里都是精品| 久久这里只有精品网| 日韩啪啪视频| 婷婷欧美综合| 在线中文亚洲| 激情骚五月| 99情色五月天| 亚洲六月综合激情久久下卡| 午夜少妇在线观看视频| 99热在线观看免费精品| 五月丁香综合激情网| 人人噜天天上| 色五月婷婷五月丁香五月| 五月综合婷婷开心网| 婷婷九月色| 97人人看| 欧洲亚洲免费视频9 | 色色激情五月天| 婷婷五月情| 色婷婷基地| 色婷婷丁香五月综合| 五月婷婷激情69| 热99久久这里只有精品| 欧美噜噜免费观看| 97av在线视频| 四色五月婷婷| 久久密臀婷婷| 九九色video| wwww.色婷婷| 丁香六月成人网| 超碰97色| 久久激情五月网| 久久精品99久久久久久| 久久婷婷五月综合色奶水99啪| 色玖玖综合| 日本女人久久| 久久久www| 丁香午月AV中文字幕| 在线你懂的亚洲欧| 自拍偷窥99热| 天天爽成人综合网站| 久热久色| 六月丁香中文字幕| 五月婷婷激情综合| 久久婷婷六月综合综合| 婷婷六月久久| 噜噜色噜噜网| 婷婷少妇激情| 这里只有精品视频在线| 婷色五月| 婷婷五月丁香四射| 99re在线免费视频| 五月丁香自拍| wwW天天干| 色了色综合| 色欲一区二区三区精品A片| 婷婷五月天在线观看| 亚洲五月婷婷| 九九综合久久| 少妇水多A片太爽了| 色九月丁香婷婷蜜桃在线观看| 欧美婷婷精品激| 五月香婷婷| 千人斩操逼| 五月激情六月综合| 久九色| 桃色五月天| 色色色香蕉五月婷| 第四色网婷婷| 激情五月天婷婷免费观看| 婷婷大美在线| 色色色热热热| 99热99在线| 欧美成人AAA片一区国产精品 | 一区中文字幕电影| 亚洲色激情| 玖玖视频福利| 色色哒五月婷婷六月丁香| 久久99激情| 2017狠狠干| 成人无码髙潮喷水A片| 丁香婷婷九月在线| 4399精品一区二区| 97婷婷久久丁香| 久久九九玖玖| 91丨九色丨熟女|新版| 开心婷婷五月天电影院| 婷香五月激情视频| 激情婷婷丁香| 婷婷丁香www视频日本韩国| 综合97五月| 色深爱五月| 丁香婷婷啪啪| 精品一二三区久久AAA片| 5月丁香综合图区| 婷婷五月天AV在线| 激情五月天噢美| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 色五月涩涩婷婷蜜桃| 久er7久热| 99在线视频播放| 91日在线视频| 精a品a视a频| 五月天婷婷乱论小说| 99ri精品视频在线观看| 99视频这里有精品| 婷婷色五月丁香六月欧美啪| 激情五月开心五月丁香五月| 久99| 五月天丁香综合在线| 五月丁香婷婷无码A∨| 蜜乳中文字| 久婷婷婷| 婷婷五月天另类网站| 天天干天天干天天操| 成人AV网站在线| 日韩欧美骚货| 精品一区二区三区四区五区六区| txt五月激情四射网综合俺也来了| 伊人99热| 成人色五婷婷| 精品夜夜澡人妻无码AV| 五月婷婷|欧美| 99热99热| 色综合激情图区| 色小说婷婷五月天天天| 影音先锋噜一噜| 吾爱AV导航| 色亚洲中文| 天天草天天爽| 大香蕉啪啪啪| 五月天婷婷久久| www.丁香黄色五月天人与| 伊人久久大香线蕉综合网站| 色五月久久成人婷婷| 99久久9| 丁香成人五月天| 五月丁香婷婷色色| 五月刺激丁香月综合| 婷婷婷五月天最新综合你懂的| 婷婷五月天AV| 精品婷婷五月视| 97五月天| 99人碰碰碰| 99久久极情精品一区| 99精品国产乱码久久久人妻| 九九热这里有精品23| 九九热视频在线观看| 激情五月图| 99ri精品视频在线观看| www.久99| 99精品小视频| 国产小网站| 五月天色婷婷基地| www.cao.com久久| 99热这里只有精品中文字幕| 美国不卡视频| 91肏| 六月99天天婷婷激情综合| 五月婷婷色播| 色婷婷在线视频久| 99国产在线精品视频| 激情久久综合网| AⅤ在线播放网| 婷婷深爱网| 国产欧美日韩综合精品一区二区| 热久久91| 五月丁香六月激情欧美综合| 天天在线久久综合 | 丁香午月AV中文字幕| 丁香九月激情| 成人网丁香五月| 蜜桃人妻无码AV天堂三区| 丁香激情六月天婷婷| 665566 无码| 99性爱视频| 色色色综合网| 做爰丰满少妇1313| 伊人春天av| 九九无码| 五月天激情国产综合婷婷婷就去爱| 丁香五月激情综合| 丁香五月欧美色综合| 操碰99在线视频观看| 思思热久久婷婷五月天| 991自拍视频| 五月激情网络| 欧美婷婷综合| 日韩啪啪网| 久久 这里只有精品1| 丁香婷婷久| 啪啪黄页网| 五月婷婷大香蕉| 黄网在线免费| 久久激情天堂| 欧美激情 日韩无码 婷婷 五月天| 激情玖玖综合网| 天天日天天插| 在线中文av| 五月四色激情| 婷婷久热| 丁香九月婷| 五月天精品| 久久色这里只有精品| 丁香五月中文字幕| 国外亚洲成AV人片在线观看| 婷婷五月天综合久久| 精品99这里有| 大香蕉丁香婷婷| 五月婷av| 亚洲视频色婷婷| 日本www五月婷婷| 天天综合在线网| 婷婷五月天天天日日夜夜| 天啪天啪天啪天啪| 丁香婷婷六月| www.夜夜操| 狠狠操狠狠狠| 这里只有精品视频222| 婷婷丁香91综合| 天天干天天操天天爽| 很很操很很操| 日操熟女| VA色婷婷| 天天色天天爱天天爽| 亚洲AV免费在线| 伊人激情网| 99性爱视频| 久久综合影院 | www婷婷色| 婷婷成人视频| 97热在线精品| 人草人人| 天天干,天天舔| 丁香六月激情综合网| 日本99热| 五月婷婷激情久久| 色色哒五月婷婷六月丁香| 久久婷婷六月天| 国产激情在线| 九九aV| 婷婷五月天香蕉| 婷婷五月天色网久| 中文字幕AV网址| 激情碰碰碰| 亚洲欧美在线观看| 成人丁香五月| 夜夜骑天天操| 婷婷久久亚洲| 五月开心婷婷| ...婷婷国产成人亚洲日韩| 久草A片| www.色9| 五月成人丁香av91| 亚洲综合五月天| 五月婷婷色色| 99这里只有精品|v| 国产精品五月天婷婷| 99热这只有| 色欲九区| 97视频.干com| PORNY九色9l自拍视频成人| 天堂五月婷婷| 香蕉大综综综合久久| 婷婷五月天天激情| 超级碰 久久9| 婷婷成人av| 激情网五月天| 欧美在线97| 狠狠干五月天| 亚洲另类日本| 婷婷综合一二三| AV成人在线播放| 五月丁香亭亭操逼| 丁香五月23111| 另类激情五月天| 五月丁香淫淫婷婷婷| 人人干人人操人人摸| 丁香五月天在线| 五月天婷婷综合免费| 六月丁AV| 丁香六月婷| 可以免费观看的AV| 亚洲视色| 婷婷五月色丁香在线看| 都市激情小说婷婷| WWW.开心五月天.COM| 色色色地址| 欧美三日本三级少妇三99| 这里只有精品视频| 日本综合色色| 4399成人黄A片| 99riav 亚洲| 婷婷狠狠爱| 9久久AV| 丁香六月婷婷开心婷婷网| 日本在线观看99| 99精品网址| 色婷婷综合亚洲| 婷婷丁香人妻天久久| 丁香六月激情综合网| 激情五月六月婷婷综合啪啪| 婷婷十月丁香| 丁香六月激情综合| 婷婷中文在线| 婷婷成人基地| 七七久久婷婷| 日韩AV在线免费| 成人丁香五月婷| 第四色激情网| 国产在线中文字幕| 五月激情视频网| 五月伊人婷婷| 色婷婷电影网| 久大香蕉| 99在线精品免费视频| 九九色逼| 99热精品99| 色五月涩涩婷婷| 五月婷在线| 久久婷婷视频| 天天肏天天舔AV| 国产成人av在线播放| 翔田千里aV中文字幕| 婷婷开心久久| 国产免费一区二区三区三州老师F1F1.CC| 亚洲色优| 色五月综合网| 久婷自拍视频| AA丁香综合激情| 激情婷婷五月天。| 天天干天天爽天天操| 影音先锋一区二区三区| 国产成人精品亚洲线观看| 九九色网| 久久色天堂| 久久综合天天综合| 超碰在线人人| 人妻免费网站| 99欧美| 99色网站| 九九Av| 日逼影音先锋AV男人资源站| 26uuu视频欧美| 99热精地址| 丁香六月综合激情| 亚洲黄色影视| 怕怕av| 色色99色色| 天天日天天插| 久久久精品婷婷五月天| 性爱人人网| 丁香五月婷婷动漫视频| AV在线免费播放| 激情综合在线播放| 六月亭亭久久综合激情| 99热爱爱干干日| 九九激情| 99在线观看免费精品视频| 婷婷五月天激情综合| 伊人九九九久| 人妻久久久久久久久妻久久久久| 91久久综合亚洲鲁鲁五月天| 色亭亭九月| 丁香5月啪啪| www.天天干| 69人人操人人爽| 思思热精品免费视频| 97色色网| 丁香五月天堂网AV| www.五月瑟| 丁香五月激情久久麻豆| 亚洲亚洲激情| 天天干,夜夜爽| 久久作爱| 九九综合色综合| 一本久久婷婷| 色黑鬼导航| 久久婷婷热| 九九99精品| 五月香婷婷| 狠狠干综合| 国产成人99久久亚洲综合精品| 99色中文|