精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

微軟開源Markdown工具爆了:支持Office文檔,可接多模態(tài)LLM直出報告

人工智能 新聞
以后開發(fā)者們上傳訓練數(shù)據(jù)、微調(diào)LLM應(yīng)用都更方便了。

微軟官方開源了一款文件格式轉(zhuǎn)換工具——MarkItDown

圖片

它不僅可以將常見的Office文檔(Word、PowerPoint、Excel)、PDF、圖像、音頻等轉(zhuǎn)換為對大模型更友好的Markdown格式。

而且還支持集成像GPT-4o這樣的多模態(tài)LLM,可以直接對圖片、音頻文件進行更高級的處理,比如快速輸出商業(yè)報告。

以后開發(fā)者們上傳訓練數(shù)據(jù)、微調(diào)LLM應(yīng)用都更方便了。

發(fā)布僅兩個月,它的GitHub收藏數(shù)就超過了3萬

圖片

具體來說,它支持的文件格式包括:

  • PDF
  • PowerPoint
  • Word
  • Excel
  • 圖像(含OCR和EXIF元數(shù)據(jù))
  • 音頻(含EXIF元數(shù)據(jù)和轉(zhuǎn)錄)
  • HTML
  • 其他基于文本的格式(CSV, JSON, XML)
  • 壓縮包

使用方式上,MarkItDown提供了命令行、Python API以及Docker三種形式。

圖片

熱心網(wǎng)友Aark Kodur還制作了在線版的網(wǎng)頁應(yīng)用,點開網(wǎng)址就能直接試用。

圖片

可接多模態(tài)LLM直接生成報告

哥倫比亞大學講師Tharsis用一個證券報告分析任務(wù)測試了MarkItDown的性能,同時也將它與IBM的熱門Markdown轉(zhuǎn)換庫Docling進行了對比,一起來看看吧。

首先看看兩個庫的基本信息。

MarkItDown是由微軟AutoGen團隊開發(fā)的Python包和CLI,用于將各種文件格式轉(zhuǎn)換為Markdown。

它支持包括PDF、PowerPoint、Word、Excel、圖像(含 OCR 和 EXIF 元數(shù)據(jù))、音頻(含轉(zhuǎn)錄)、HTML以及其他基于文本的格式,是文檔索引和構(gòu)建基于LLM應(yīng)用程序的有用工具。

主要特點:

  • 簡單命令行和Python API接口
  • 支持多種文件格式
  • 集成LLM增強圖像描述
  • 支持批處理能力
  • 支持Docker容器化使用

使用示例:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("test.xlsx")
print(result.text_content)

Docling是由IBM研究院開發(fā)的Python包,用于解析和將文檔轉(zhuǎn)換為各種格式。

它提供高級文檔理解能力,重點在于保持文檔結(jié)構(gòu)和格式

主要特點:

  • 支持多種文檔格式(PDF、DOCX、PPTX、XLSX、圖片、HTML 等)
  • 高級PDF解析,包括布局分析和表格提取
  • 統(tǒng)一的文檔表示格式
  • 集成LlamaIndex和LangChain
  • 支持OCR分析掃描文檔
  • 簡單命令行界面

使用示例:

from docling.document_converter import DocumentConverter

converter = DocumentConverter()
result = converter.convert("document.pdf")
print(result.document.export_to_markdown())

本案例研究將主要從美林證券(Merrill Lynch)于2024年12月16日發(fā)布的首席信息官資本市場展望中提取經(jīng)濟預(yù)測

我們將主要關(guān)注該文檔的第7頁,其中包含多個經(jīng)濟變量,這些變量以表格、文本和圖像的混合形式組織。

圖片

FORECAST_FILE_PATH = "../data/input/forecast.pdf"

首先,我們將使用MarkItDown從文檔中提取文本內(nèi)容。

from markitdown import MarkItDown

md = MarkItDown()
result_md = md.convert(FORECAST_FILE_PATH).text_content

接下來,我們使用Docling進行同樣的操作。

from docling.document_converter import DocumentConverter

converter = DocumentConverter()
forecast_result_docling = converter.convert(source).document.export_to_markdown()

這兩個結(jié)果有多相似?

我們可以使用Levenshtein距離來衡量兩個結(jié)果之間的相似度。

還可以使用difflib包中的SequenceMatcher來計算一個簡單的分數(shù),這是基于最長公共子序列中匹配數(shù)來衡量兩個字符串相似度的一個簡單度量。

import Levenshtein
def levenshtein_similarity(text1: str, text2: str) -> float:
    """
    Calculate normalized Levenshtein distance
    Returns value between 0 (completely different) and 1 (identical)
    """
    distance = Levenshtein.distance(text1, text2)
    max_len = max(len(text1), len(text2))
    return 1 - (distance / max_len)

from difflib import SequenceMatcher
def simple_similarity(text1: str, text2: str) -> float:
    """
    Calculate similarity ratio using SequenceMatcher
    Returns value between 0 (completely different) and 1 (identical)
    """
    return SequenceMatcher(None, text1, text2).ratio()

   下面是Levenshtein和SequenceMatcher的具體分數(shù):

levenshtein_similarity(forecast_result_md, forecast_result_docling)
0.13985705461925346
simple_similarity(forecast_result_md, forecast_result_docling)
0.17779960707269155

結(jié)果顯示,這兩個結(jié)果非常不同,Levenshtein和SequenceMatcher的相似度得分分別為約13.98%和17.77%。

Docling的結(jié)果是一份相當易讀的Markdown,展示了關(guān)鍵經(jīng)濟變量及其預(yù)測。

相反,MarkItDown的結(jié)果有些雜亂,難以閱讀,但信息確實存在,只是沒有以結(jié)構(gòu)化的格式呈現(xiàn)。

但是,這重要嗎?

先來看看Docling的結(jié)果:

display(Markdown(forecast_result_docling))

圖片

MarkItDown的結(jié)果:

from IPython.display import display, Markdown
display(Markdown(forecast_result_md[:500]))

圖片

現(xiàn)在,讓我們看一下經(jīng)濟預(yù)測的結(jié)果,主要關(guān)注提取CIO的2025E預(yù)測。

圖片

我們將定義一個Forecast pydantic模型來表示由financial_variable和financial_forecast組成的經(jīng)濟預(yù)測。

定義另外一個EconForecast pydantic模型來表示我們想要從文檔中提取的經(jīng)濟預(yù)測列表。

from pydantic import BaseModel
class Forecast(BaseModel):
    financial_variable: str
    financial_forecast: float
class EconForecast(BaseModel):
    forecasts: list[Forecast]

以下為提示模板,其中extract_prompt是用戶希望提取的數(shù)據(jù), doc是待分析的輸入文檔。

BASE_PROMPT = f"""
    ROLE: You are an expert at structured data extraction. 
    TASK: Extract the following data {extract_prompt} from input DOCUMENT
    FORMAT: The output should be a JSON object with 'financial_variable' as key and 'financial_forecast' as value.
    """
prompt = f"{BASE_PROMPT} \n\n DOCUMENT: {doc}"

我們編寫了一個簡單的函數(shù),使用LLM模型(具有結(jié)構(gòu)化輸出)從文檔中提取經(jīng)濟預(yù)測

def extract_from_doc(extract_prompt: str,  doc: str, client) -> EconForecast:
    """
    Extract data of a financial document using an LLM model.
    
    Args:
        doc: The financial document text to analyze
        client: The LLM model to use for analysis
        extract_prompt: The prompt to use for extraction
        
    Returns:
        EconForecasts object containing sentiment analysis results
    """

    BASE_PROMPT = f"""
    ROLE: You are an expert at structured data extraction. 
    TASK: Extract the following data {extract_prompt} from input DOCUMENT
    FORMAT: The output should be a JSON object with 'financial_variable' as key and 'financial_forecast' as value.
    """
    prompt = f"{BASE_PROMPT} \n\n DOCUMENT: {doc}"
    completion = client.beta.chat.completions.parse(
        model="gpt-4o-mini",
        messages=[
            {
                "role": "system",
                "content": prompt
            },
            {"role": "user", "content": doc}
        ],
        response_format=EconForecast
    )
    return completion.choices[0].message.parsed
from dotenv import load_dotenv
import os

# Load environment variables from .env file
load_dotenv(override=True)
from openai import OpenAI
client = OpenAI()

然后,用戶調(diào)用extract_from_doc函數(shù),簡單地定義“2025E 經(jīng)濟預(yù)測”是他們想要從文檔中提取的數(shù)據(jù)。

我們執(zhí)行提取兩次,一次使用MarkItDown,一次使用Docling。

extract_prompt = "Economic Forecasts for 2025E"
md_financials = extract_from_doc(extract_prompt, forecast_result_md, client)
docling_financials = extract_from_doc(extract_prompt, forecast_result_docling, client)

響應(yīng)是一個包含F(xiàn)orecast對象列表的EconForecast對象,如pydantic模型中定義的那樣。

md_financials
EconForecast(forecasts=[Forecast(financial_variable='Real global GDP (% y/y annualized)', financial_forecast=3.2), Forecast(financial_variable='Real U.S. GDP (% q/q annualized)', financial_forecast=2.4), Forecast(financial_variable='CPI inflation (% y/y)', financial_forecast=2.5), Forecast(financial_variable='Core CPI inflation (% y/y)', financial_forecast=3.0), Forecast(financial_variable='Unemployment rate (%)', financial_forecast=4.3), Forecast(financial_variable='Fed funds rate, end period (%)', financial_forecast=3.88)])

然后我們可以將響應(yīng)轉(zhuǎn)換為pandas DataFrame格式,以便于比較。

df_md_forecasts = pd.DataFrame([(f.financial_variable, f.financial_forecast) for f in md_financials.forecasts], 
                      columns=['Variable', 'Forecast'])
df_docling_forecasts = pd.DataFrame([(f.financial_variable, f.financial_forecast) for f in docling_financials.forecasts], 
                      columns=['Variable', 'Forecast'])
df_md_forecasts

圖片

df_docling_forecasts

圖片

MarkItDown和Docling的結(jié)果完全相同,與文檔中的真實值準確匹配。

這表明,盡管從人類閱讀的角度來看,MarkItDown的輸出看起來不太易讀,但在此特定情況下,兩種方法都使LLM以相同的準確性成功提取經(jīng)濟預(yù)測數(shù)據(jù)

現(xiàn)在,讓我們關(guān)注資產(chǎn)類別權(quán)重

我們將從文檔中提取資產(chǎn)類別權(quán)重,并比較MarkItDown和Docling的結(jié)果。

目前信息呈現(xiàn)的結(jié)構(gòu)相當不同。CIO的觀點信息以“underweight”開始,經(jīng)過“neutral”,達到“overweight”。

實際信息在圖表中以一些彩色點標出。讓我們看看我們是否可以從文檔中提取這些信息。

圖片

用戶只需定義以下數(shù)據(jù)以提取:“截至2024年12月3日的資產(chǎn)類別權(quán)重(-2至2的刻度)”。

這樣,我們預(yù)計“underweight”將映射為-2,“neutral”映射為0,“overweight”映射為2,之間還有一些數(shù)值。

extract_prompt = "Asset Class Weightings (as of 12/3/2024) in a scale from -2 to 2"
asset_class_docling = extract_from_doc(extract_prompt, forecast_result_docling, client)
asset_class_md = extract_from_doc(extract_prompt, forecast_result_md, client)
df_md = pd.DataFrame([(f.financial_variable, f.financial_forecast) for f in asset_class_md.forecasts], 
                 columns=['Variable', 'Forecast'])
df_docling = pd.DataFrame([(f.financial_variable, f.financial_forecast) for f in asset_class_docling.forecasts], 
                 columns=['Variable', 'Forecast'])

現(xiàn)在我們構(gòu)建一個DataFrame來比較MarkItDown和Docling的結(jié)果,并添加一個包含從文檔中手動提取的真實值的“true_value”列。

# Create DataFrame with specified columns
df_comparison = pd.DataFrame({
    'variable': df_docling['Variable'].iloc[:-1],
    'markitdown': df_md['Forecast'],
    'docling': df_docling['Forecast'].iloc[:-1],  # Drop last row
    'true_value': [1.0, 0.0, 1.0, 1.0, 1.0, -1.0, 0.0, -1.0, 1.0, 1.0, -1.0, 0.0, -1.0, 0.0, -1.0]
})


display(df_comparison)

圖片

然后我們計算出Docling和MarkItDown的準確率:

# Calculate accuracy for markitdown and docling
markitdown_accuracy = (df_comparison['markitdown'] == df_comparison['true_value']).mean()
docling_accuracy = (df_comparison['docling'] == df_comparison['true_value']).mean()

print(f"Markitdown accuracy: {markitdown_accuracy:.2%}")
print(f"Docling accuracy: {docling_accuracy:.2%}")
Markitdown accuracy: 53.33%
Docling accuracy: 93.33%

Docling的準確率達到了93.33%,僅缺失一個值。MarkItDown的準確率為53.33%,在細微的資產(chǎn)類別權(quán)重表現(xiàn)較差。

在這種情況下,LLM從Docling的結(jié)構(gòu)化解析的輸出確實比從MarkItDown的無結(jié)構(gòu)化輸出中提取了更精確的信息。

更穩(wěn)健的分析將需要在大量樣本數(shù)據(jù)上運行多次數(shù)據(jù)提取以估計錯誤率。

如果我們想系統(tǒng)地從文檔中提取所有表格呢?

我們可以通過簡單地訪問DocumentConverter對象的tables屬性來使用 Docling 實現(xiàn)這一點。

import time
from pathlib import Path
import pandas as pd
from docling.document_converter import DocumentConverter
def convert_and_export_tables(file_path: Path) -> list[pd.DataFrame]:
    """
    Convert document and export tables to DataFrames.
    
    Args:
        file_path: Path to input document
        
    Returns:
        List of pandas DataFrames containing the tables
    """
    doc_converter = DocumentConverter()
    start_time = time.time()
    
    conv_res = doc_converter.convert(file_path)
    
    tables = []
    # Export tables
    for table in conv_res.document.tables:
        table_df: pd.DataFrame = table.export_to_dataframe()
        tables.append(table_df)


    end_time = time.time() - start_time
    print(f"Document converted in {end_time:.2f} seconds.")
    
    return tables
# Convert and export tables
tables = convert_and_export_tables(Path(FORECAST_FILE_PATH))

我們觀察到Docling從文檔中提取了7個表格。按照文檔中出現(xiàn)的順序,從上到下、從左到右導出表格。

len(tables)

下面,我們可以看到成功提取的第一個表格是關(guān)于股票預(yù)測的,第二個是關(guān)于固定收益預(yù)測的,以及最后一個包含首席投資官股票行業(yè)觀點的表格。

display(tables[0])

圖片

display(tables[1])

圖片

display(tables[6])

圖片

回到MarkItDown,它的一個重要特性是可以集成一個多模態(tài)LLM,從圖像中提取信息并進行分析與描述。

md_llm = MarkItDown(llm_client=client, llm_model="gpt-4o-mini")
result = md_llm.convert("../data/input/forecast.png")

以下是我們從輸入文檔的圖像中獲取的描述。

display(Markdown(result.text_content))

圖片

總體而言,該描述在某種程度上是準確的,但包含了一些不準確之處,包括:

  • 關(guān)于板塊權(quán)重,描述中提到“在美國小盤成長股方面存在低配頭寸”,但從資產(chǎn)類別權(quán)重圖表來看,美國小盤成長股實際上顯示為超配頭寸(綠色圓圈)。
  • 描述中提到“在公用事業(yè)和金融等某些板塊存在超配頭寸”,但從首席投資官股票板塊觀點來看,這兩個板塊都顯示為中立頭寸,而非超配頭寸。
  • 對于固定收益,描述中提到“10年期(4.03%)”收益率,但圖片顯示的是30年期收益率為4.03%,而實際上10年期收益率為4.40%。

可以說,描述中的這些不準確之處可能是底層大型語言模型無法處理圖像的結(jié)果。需要進一步研究來確定是否確實如此。

更多好用的轉(zhuǎn)換庫

網(wǎng)友們還分享了其他好用的格式轉(zhuǎn)換庫,比如MinerUPandoc等。

MinerU收藏數(shù)超過2.4萬,還增加了對json格式的支持。

圖片

而Pandoc收藏數(shù)超過3.5萬,支持的文件類型更廣泛,甚至還包括輸出epub、ipynb等等。

下次需要將文件轉(zhuǎn)換成LLM容易處理的數(shù)據(jù)格式的時候,都可以試試哦!

圖片

在線版:https://www.getmarkdown.com/MarkltDown

庫地址:github.com/microsoft/markitdown

責任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2024-12-18 10:22:49

2025-01-08 08:21:16

2025-05-06 08:40:00

2023-03-10 13:03:09

人工智能模型

2021-03-08 05:52:16

微軟Office新版 Office

2023-08-04 13:22:46

AI開源

2024-12-18 18:57:58

2024-12-17 12:08:21

IAA多模態(tài)LLM

2024-01-11 16:24:12

人工智能RAG

2021-02-20 21:06:19

微軟Edge瀏覽器

2023-12-25 13:24:00

模型OCR頁面

2024-02-29 12:56:00

AI訓練

2024-11-21 08:46:52

2014-03-28 10:43:32

iPad

2023-11-07 18:08:03

GPT-4模型

2023-07-11 09:37:24

CoDiAI 模型

2025-03-19 09:30:00

2023-03-10 13:30:01

微軟人工智能

2024-12-16 07:00:00

2021-06-15 10:58:17

微軟officeMSGraph安全漏洞
點贊
收藏

51CTO技術(shù)棧公眾號

这里只有精品国产| 欧美特级黄色录像| 无遮挡爽大片在线观看视频| 久久久一区二区三区捆绑**| 91精品美女在线| 久久精品性爱视频| 精品久久不卡| 欧美变态凌虐bdsm| 污污的网站18| 91av久久| 亚洲女爱视频在线| 日韩av大全| 丰满人妻一区二区| 蜜臀av一区二区在线免费观看 | 日韩午夜电影在线观看| 99色精品视频| 肉肉视频在线观看| 欧美激情一二三区| 国产精品日韩高清| 国产精品久久免费| 日韩激情av在线| 午夜精品一区二区三区在线视 | 一区二区三区美女| 欧洲高清一区二区| 国产刺激高潮av| 精品在线视频一区| 日韩av免费一区| 久久黄色免费视频| 欧美成人自拍| 亚洲精品一区二区在线| 任你躁av一区二区三区| 亚洲香蕉久久| 欧美吻胸吃奶大尺度电影| 免费无码毛片一区二三区| 天堂资源在线亚洲视频| 黄色av免费播放| 美国一区二区| 日韩午夜在线观看| 亚洲精品视频三区| 激情小说亚洲| 欧美影院一区二区| 国产福利一区视频| 一二三四视频在线中文| 同产精品九九九| 日韩黄色片在线| caoporm免费视频在线| 国产精品久久99| 亚洲一区二区在线免费观看| www日韩tube| 国产日韩欧美a| 日韩福利在线| 成年人在线视频| 国产女主播在线一区二区| 日韩一区二区三区资源| 国产中文字幕在线| 久久精品一区二区| 日韩亚洲一区在线播放| av电影在线网| 最好看的中文字幕久久| 成年人免费观看的视频| 麻豆传媒免费在线观看| 中文字幕字幕中文在线中不卡视频| 伊人色综合影院| av网址在线| 亚洲一区二区三区四区在线观看 | 亚洲激情黄色| 91高清视频免费| 在线视频一区二区三区四区| 久久久久国产精品午夜一区| 国产精品aaaa| 一级黄色短视频| 国产成人亚洲综合a∨猫咪| 国产精品高清一区二区三区| 天天综合天天综合| 国产亚洲一二三区| av不卡在线免费观看| av黄色在线| 亚洲第一精品在线| 黑鬼大战白妞高潮喷白浆| 成人在线免费| 日韩美一区二区三区| 欧美熟妇精品一区二区| 精品亚洲免a| 国产亚洲精品美女久久久| 99久久久免费精品| 亚洲日本免费| 国产精品流白浆视频| 国产视频第二页| 成人av资源在线观看| 日韩精品成人一区二区在线观看| 搞黄网站在线观看| 日韩欧美大尺度| 午夜xxxxx| 久操精品在线| 久久99久久亚洲国产| 91在线视频免费播放| 精品在线免费观看| 极品校花啪啪激情久久| 日本亚洲精品| 亚洲成人777| 免费看污污网站| 国产伦精品一区二区三区免费优势 | 182午夜在线观看| 成人精品毛片| www.日韩.com| 黄色片中文字幕| 国产福利视频一区二区三区| 日本在线观看一区二区三区| 欧美1—12sexvideos| 欧美午夜片在线看| 久久人人妻人人人人妻性色av| 久久中文字幕二区| 97超碰蝌蚪网人人做人人爽| 国产免费视频一区二区三区| 日本大片在线观看| 狠狠色丁香久久婷婷综| 久久精品日产第一区二区三区乱码| 中文字幕在线免费| 日韩欧美一区二区在线| 日本性生活一级片| 天天综合一区| 国产精品麻豆va在线播放| 天天干,夜夜操| 樱桃国产成人精品视频| 天天色天天综合网| 日本一二区不卡| 热久久99这里有精品| 欧美 日韩 国产 在线| 亚洲精品乱码久久久久久黑人| 在线观看的毛片| 四虎5151久久欧美毛片| 久久久综合av| www.激情五月.com| 亚洲丝袜自拍清纯另类| 日韩大片一区二区| 精品一区二区三区在线| 国产成人精品国内自产拍免费看| 视频二区在线| 天天综合色天天| 国产香蕉精品视频| 狠狠综合久久| 国产精品区一区| av电影免费在线看| 欧美精品一区二区三区在线 | 91沈先生作品| 免费大片黄在线观看视频网站| 欧美日韩亚洲综合一区| 亚洲色图27p| 九色综合国产一区二区三区| 一区二区三区四区久久| 久久伊人精品| 色综合老司机第九色激情| 国产av一区二区三区| 亚洲精品中文在线| 无套白嫩进入乌克兰美女| 欧美影院一区| 国产美女精品在线观看| 草草在线视频| 亚洲天堂2020| 伊人网视频在线| 亚洲欧洲性图库| 亚洲欧美激情一区二区三区| 亚洲一级一区| 久久久久久国产精品免费免费| 国产伦子伦对白在线播放观看| 亚洲乱亚洲乱妇无码| 国产无遮挡又黄又爽又色视频| 日本一区二区免费在线观看视频 | 99久久er热在这里只有精品66| 各处沟厕大尺度偷拍女厕嘘嘘| 亚洲毛片免费看| 国产精品黄视频| 天堂а√在线官网| 日韩视频一区二区三区| 国产成人亚洲欧洲在线| 久久久高清一区二区三区| mm131国产精品| 综合日韩在线| 看高清中日韩色视频| 精品欧美日韩精品| 久久久999精品视频| 国精品人妻无码一区二区三区喝尿 | 国产午夜麻豆影院在线观看| 国产精品久久久久久久裸模| 黄色片免费网址| 亚洲免费成人| 亚洲国产精品一区二区第四页av| 嫩呦国产一区二区三区av| 欧美专区第一页| 日本网站在线免费观看视频| 亚洲变态欧美另类捆绑| 国产精品无码粉嫩小泬| 一区二区三区欧美激情| 亚洲av无码成人精品国产| 九九久久精品视频| 久色视频在线播放| 五月天久久网站| 国内精品**久久毛片app| 欧美电影在线观看网站| 久久久久久久国产| 无遮挡的视频在线观看| 亚洲精品成人久久| 亚洲在线观看av| 欧美视频裸体精品| 精品欧美一区二区久久久久| 久久久久久久久99精品| 男人女人拔萝卜视频| 日本不卡视频在线观看| 亚洲熟妇av日韩熟妇在线| 久久精品影视| 性刺激综合网| 日韩系列在线| www.久久爱.cn| 日韩欧国产精品一区综合无码| 欧美亚洲另类激情另类| 黄色在线观看视频网站| 久久精品视频网站| 三级视频在线播放| 精品国产一区二区三区忘忧草 | 日韩视频免费观看高清| 亚洲免费在线看| 91麻豆制片厂| 国产亚洲人成网站| 国产xxxx视频| 国产不卡在线视频| 999久久久精品视频| 丝袜美腿高跟呻吟高潮一区| 亚洲熟妇国产熟妇肥婆| 女人香蕉久久**毛片精品| 中文字幕99| 日韩精品免费一区二区三区| 日本视频一区在线观看| 天堂资源在线亚洲| 成人片在线免费看| 日韩中文在线| 97se亚洲综合| 国产精品一区二区精品| 91精品国产综合久久香蕉的用户体验| 成人午夜精品| 国产成人综合一区二区三区| 在线观看网站免费入口在线观看国内 | 欧美一级一级性生活免费录像| 中文字幕精品无码亚| 在线观看视频91| 波多野结衣不卡| 在线观看日韩一区| 伊人精品一区二区三区| 欧美午夜理伦三级在线观看| 最近国语视频在线观看免费播放| 在线观看视频91| 亚洲最大成人av| 7777精品久久久大香线蕉| 国产精品无码天天爽视频| 欧美一区二区三区性视频| 亚洲少妇久久久| 成人av福利| 日韩中文字幕久久| 免费在线午夜视频| 日韩小视频网址| 成人在线播放| 久久69精品久久久久久久电影好| www久久日com| 欧美第一黄色网| 精品捆绑调教一区二区三区| 欧美一级大片视频| 成人免费av电影| 国产一区二区丝袜| 亚洲精品一区国产| 蜜桃av久久久亚洲精品| 久久中文字幕av| 8x8ⅹ国产精品一区二区二区| 91久久在线| 免费日韩中文字幕| 麻豆传媒一区二区三区| 色欲欲www成人网站| 99精品久久只有精品| 黄色三级生活片| 玉米视频成人免费看| 91精品国产乱码久久久张津瑜| 色美美综合视频| 亚洲一区二区影视| 亚洲成人xxx| av网页在线| 久久久久久亚洲精品不卡| 日韩大片欧美大片| 亚洲一区二区三区在线免费观看 | 国产最新精品精品你懂的| 337p日本欧洲亚洲大胆张筱雨| 91蜜桃免费观看视频| 成人做爰视频网站| 亚洲3atv精品一区二区三区| 波多野结衣家庭主妇| 日韩欧美你懂的| 国产精品视频一区二区久久| 久久国产精品久久精品| 超碰aⅴ人人做人人爽欧美| 成人免费看黄网站| 亚洲桃色综合影院| 91免费版看片| 日韩二区三区在线观看| 一二三区视频在线观看| 国产人成亚洲第一网站在线播放 | 高清免费电影在线观看| 青青草99啪国产免费| 色播一区二区| 亚洲二区三区四区| 亚洲人成人一区二区三区| 国产美女视频免费看| 久久久777精品电影网影网| 精品处破女学生| 欧美日韩第一区日日骚| 亚洲三区在线播放| 欧美日韩成人在线播放| 亚洲精品.com| 精品无人区一区二区三区| 自拍偷拍欧美| 天天操狠狠操夜夜操| 久久久久久久久99精品| 日韩三级视频在线| 日韩免费在线观看| 麻豆视频在线| 国产精品天天狠天天看| 亚洲三级性片| 成人免费播放器| 国产福利91精品| 国产又粗又硬又长又爽| 欧美三电影在线| 青青免费在线视频| 韩国v欧美v日本v亚洲| 日韩欧美激情电影| 国产一二三四区在线观看| 经典三级在线一区| 一本在线免费视频| 在线观看三级视频欧美| 国产视频网站在线| 欧美在线性爱视频| 女人抽搐喷水高潮国产精品| 久久久久久久久久久久av| 视频91a欧美| 亚洲最新在线| 日本中文字幕不卡| 亚洲精品成人av久久| 在线观看精品一区| 蜜芽tv福利在线视频| 欧美自拍大量在线观看| 香蕉久久夜色精品国产使用方法| 精品欧美一区免费观看α√| aaa亚洲精品| 久久国产精品系列| 日韩大片免费观看视频播放| 日韩欧美一中文字暮专区| 鲁鲁视频www一区二区| 久久久精品午夜少妇| 日本黄色小视频在线观看| 精品视频在线免费观看| 毛片在线看网站| 亚洲一区二区三区毛片| 狠狠色丁香久久综合频道| 手机在线看片日韩| 精品久久久久久久大神国产| 国产在线自天天| 国产欧美精品日韩精品| 亚洲欧美综合久久久| 精品国产aⅴ一区二区三区东京热| 亚洲一卡二卡三卡四卡无卡久久| 熟妇人妻系列aⅴ无码专区友真希| 欧美一区二区三区免费观看| 精品视频黄色| 日本高清免费在线视频| 亚洲国产成人va在线观看天堂| 深夜福利视频在线观看| 国产精品精品视频| 91tv官网精品成人亚洲| 韩国三级视频在线观看| 色欧美88888久久久久久影院| 免费av网站在线观看| 国产 高清 精品 在线 a| 久久xxxx| 波多野结衣家庭教师| 日韩国产精品视频| 久久久免费人体| 国产成人在线小视频| 久久精品人人做| 一级黄色a毛片| 午夜精品久久17c| 久久福利综合| 国产国语老龄妇女a片| 日本韩国欧美国产| 超碰个人在线| 蜜桃视频日韩| 国产精品99久久久久| 久久久久久无码午夜精品直播| 不卡av在线网站| 欧洲专线二区三区| 中国老熟女重囗味hdxx| 在线视频一区二区三| 欧美videosex性欧美黑吊| 亚洲不卡一卡2卡三卡4卡5卡精品| 国产呦萝稀缺另类资源| 国产一级淫片a视频免费观看|