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

選擇最適合數(shù)據(jù)的嵌入模型:OpenAI 和開源多語言嵌入的對比測試

人工智能
OpenAI最近發(fā)布了他們的新一代嵌入模型embedding v3,他們將其描述為性能最好的嵌入模型,具有更高的多語言性能。這些模型分為兩類:較小的稱為text- embeddings -3-small,較大且功能更強大的稱為text- embeddings -3-large。

OpenAI最近發(fā)布了他們的新一代嵌入模型embedding v3,他們將其描述為性能最好的嵌入模型,具有更高的多語言性能。這些模型分為兩類:較小的稱為text- embeddings -3-small,較大且功能更強大的稱為text- embeddings -3-large。

這些模型的設計和訓練方式的信息披露得很少,模型只能通過付費API訪問。所以就出現(xiàn)了很多開源的嵌入模型但是這些開源的模型與OpenAI閉源模型相比如何呢?

本文將這些新模型與開源模型的性能進行實證比較。我們將創(chuàng)建一個數(shù)據(jù)檢索工作流,在這個工作流中,必須根據(jù)用戶查詢找到語料庫中最相關的文檔。

我們的語料庫是歐洲人工智能法案,該法案目前處于驗證的最后階段。這個語料庫除了是世界上第一個關于人工智能的法律框架外,還有一個重要的特點就是它有24種語言版本。這樣我們可以比較不同語系的數(shù)據(jù)檢索的準確性。

我們將從多語言文本語料庫生成自定義合成問題/答案數(shù)據(jù)集,在此自定義數(shù)據(jù)集上比較OpenAI和最先進的開源嵌入模型的準確性。最后會提供完整的代碼,因為本文所采用的方法可以適用于其他數(shù)據(jù)語料庫。

生成自定義Q/ A數(shù)據(jù)集

讓我們首先從生成自定義數(shù)據(jù)的問答(Q/ A)數(shù)據(jù)集開始,生成自定義數(shù)據(jù)集的好處可以通過確保數(shù)據(jù)集不是嵌入模型訓練的一部分來避免偏差,這可能發(fā)生在MTEB等參考基準上。并且我們可以將評估調整為特定的數(shù)據(jù)語料庫,這可能與檢索增強應用程序(RAG)等情況相關。

我們將使用Llama Index在其文檔中建議的簡單流程。語料庫首先被分成塊。然后對于每個分塊,通過大型語言模型(large language model, LLM)生成一組合成問題,使答案位于相應的分塊中:

使用Llama Index之類的LLM數(shù)據(jù)框架實現(xiàn)此策略非常簡單,如下面的代碼所示。

from llama_index.readers.web import SimpleWebPageReader
 from llama_index.core.node_parser import SentenceSplitter
 
 language = "EN"
 url_doc = "https://eur-lex.europa.eu/legal-content/"+language+"/TXT/HTML/?uri=CELEX:52021PC0206"
 
 documents = SimpleWebPageReader(html_to_text=True).load_data([url_doc])
 
 parser = SentenceSplitter(chunk_size=1000)
 nodes = parser.get_nodes_from_documents(documents, show_progress=True)

語料庫是歐盟人工智能法案的英文版本,使用這個官方URL直接從Web上獲取。本文使用2021年4月的草案版本,因為最終版本尚未適用于所有歐洲語言。所以我們選擇的這一版可以用其他23種歐盟官方語言中的任何一種語言替換URL中的language,檢索不同語言的文本(BG表示保加利亞語,ES表示西班牙語,CS表示捷克語,等等)。

使用SentenceSplitter對象將文檔分成每1000個令牌的塊。對于英語來說,這會生成大約100個塊。然后將每個塊作為上下文提供給以下提示(Llama Index庫中建議的默認提示):

prompts={}
 prompts["EN"] = """\
 Context information is below.
 
 ---------------------
 {context_str}
 ---------------------
 
 Given the context information and not prior knowledge, generate only questions based on the below query.
 
 You are a Teacher/ Professor. Your task is to setup {num_questions_per_chunk} questions for an upcoming quiz/examination.
 The questions should be diverse in nature across the document. Restrict the questions to the context information provided."
 """

這個提示可以生成關于文檔塊的問題,要為每個數(shù)據(jù)塊生成的問題數(shù)量作為參數(shù)“num_questions_per_chunk”傳遞,我們將其設置為2。然后可以通過調用Llama Index庫中的generate_qa_embedding_pairs來生成問題:

from llama_index.llms import OpenAI
 from llama_index.legacy.finetuning import generate_qa_embedding_pairs
 
 qa_dataset = generate_qa_embedding_pairs(
    llm=OpenAI(model="gpt-3.5-turbo-0125",additional_kwargs={'seed':42}),
    nodes=nodes,
    qa_generate_prompt_tmpl = prompts[language],
    num_questions_per_chunk=2
 )

我們依靠OpenAI的GPT-3.5-turbo-0125來完成這項任務,結果對象' qa_dataset '包含問題和答案(塊)對。作為生成問題的示例,以下是前兩個問題的結果(其中“答案”是文本的第一部分):

  1. What are the main objectives of the proposal for a Regulation laying down harmonised rules on artificial intelligence (Artificial Intelligence Act) according to the explanatory memorandum?
  2. How does the proposal for a Regulation on artificial intelligence aim to address the risks associated with the use of AI while promoting the uptake of AI in the European Union, as outlined in the context information?

OpenAI嵌入模型

評估函數(shù)也是遵循Llama Index文檔:首先所有答案(文檔塊)的嵌入都存儲在VectorStoreIndex中,以便有效檢索。然后評估函數(shù)循環(huán)遍歷所有查詢,檢索前k個最相似的文檔,并根據(jù)MRR (Mean Reciprocal Rank)評估檢索的準確性,代碼如下:

def evaluate(dataset, embed_model, insert_batch_size=1000, top_k=5):
    # Get corpus, queries, and relevant documents from the qa_dataset object
    corpus = dataset.corpus
    queries = dataset.queries
    relevant_docs = dataset.relevant_docs
 
    # Create TextNode objects for each document in the corpus and create a VectorStoreIndex to efficiently store and retrieve embeddings
    nodes = [TextNode(id_=id_, text=text) for id_, text in corpus.items()]
    index = VectorStoreIndex(
        nodes, embed_model=embed_model, insert_batch_size=insert_batch_size
    )
    retriever = index.as_retriever(similarity_top_k=top_k)
 
    # Prepare to collect evaluation results
    eval_results = []
 
    # Iterate over each query in the dataset to evaluate retrieval performance
    for query_id, query in tqdm(queries.items()):
        # Retrieve the top_k most similar documents for the current query and extract the IDs of the retrieved documents
        retrieved_nodes = retriever.retrieve(query)
        retrieved_ids = [node.node.node_id for node in retrieved_nodes]
 
        # Check if the expected document was among the retrieved documents
        expected_id = relevant_docs[query_id][0]
        is_hit = expected_id in retrieved_ids # assume 1 relevant doc per query
 
        # Calculate the Mean Reciprocal Rank (MRR) and append to results
        if is_hit:
            rank = retrieved_ids.index(expected_id) + 1
            mrr = 1 / rank
        else:
            mrr = 0
        eval_results.append(mrr)
 
    # Return the average MRR across all queries as the final evaluation metric
    return np.average(eval_results)

嵌入模型通過' embed_model '參數(shù)傳遞給評估函數(shù),對于OpenAI模型,該參數(shù)是一個用模型名稱和模型維度初始化的OpenAIEmbedding對象。

from llama_index.embeddings.openai import OpenAIEmbedding
 
 embed_model = OpenAIEmbedding(model=model_spec['model_name'],
                              dimensinotallow=model_spec['dimensions'])

dimensions參數(shù)可以縮短嵌入(即從序列的末尾刪除一些數(shù)字),而不會失去嵌入的概念表示屬性。OpenAI在他們的公告中建議,在MTEB基準測試中,嵌入可以縮短到256大小,同時仍然優(yōu)于未縮短的text-embedding-ada-002嵌入(大小為1536)。

我們在四種不同的嵌入模型上運行評估函數(shù):

兩個版本的text-embedding-3-large:一個具有最低可能維度(256),另一個具有最高可能維度(3072)。它們被稱為“OAI-large-256”和“OAI-large-3072”。

OAI-small:text-embedding-3-small,維數(shù)為1536。

OAI-ada-002:傳統(tǒng)的文本嵌入text-embedding-ada-002,維度為1536。

每個模型在四種不同的語言上進行評估:英語(EN),法語(FR),捷克語(CS)和匈牙利語(HU),分別涵蓋日耳曼語,羅曼語,斯拉夫語和烏拉爾語的例子。

embeddings_model_spec = {
 }
 
 embeddings_model_spec['OAI-Large-256']={'model_name':'text-embedding-3-large','dimensions':256}
 embeddings_model_spec['OAI-Large-3072']={'model_name':'text-embedding-3-large','dimensions':3072}
 embeddings_model_spec['OAI-Small']={'model_name':'text-embedding-3-small','dimensions':1536}
 embeddings_model_spec['OAI-ada-002']={'model_name':'text-embedding-ada-002','dimensions':None}
 
 results = []
 
 languages = ["EN", "FR", "CS", "HU"]
 
 # Loop through all languages
 for language in languages:
 
    # Load dataset
    file_name=language+"_dataset.json"
    qa_dataset = EmbeddingQAFinetuneDataset.from_json(file_name)
 
    # Loop through all models
    for model_name, model_spec in embeddings_model_spec.items():
 
        # Get model
        embed_model = OpenAIEmbedding(model=model_spec['model_name'],
                                      dimensinotallow=model_spec['dimensions'])
 
        # Assess embedding score (in terms of MRR)
        score = evaluate(qa_dataset, embed_model)
 
        results.append([language, model_name, score])
 
 df_results = pd.DataFrame(results, columns = ["Language" ,"Embedding model", "MRR"])

MRR精度如下:

嵌入尺寸越大,性能越好。

開源嵌入模型

圍繞嵌入的開源研究也是非?;钴S的,Hugging Face 的 MTEB leaderboard會經(jīng)常發(fā)布最新的嵌入模型。

為了在本文中進行比較,我們選擇了一組最近發(fā)表的四個嵌入模型(2024)。選擇的標準是他們在MTEB排行榜上的平均得分和他們處理多語言數(shù)據(jù)的能力。所選模型的主要特性摘要如下。

e5-mistral-7b-instruct:微軟的這個E5嵌入模型是從Mistral-7B-v0.1初始化的,并在多語言混合數(shù)據(jù)集上進行微調。模型在MTEB排行榜上表現(xiàn)最好,但也是迄今為止最大的(14GB)。

multilingual-e5-large-instruct(ML-E5-large):微軟的另一個E5模型,可以更好地處理多語言數(shù)據(jù)。它從xlm-roberta-large初始化,并在多語言數(shù)據(jù)集的混合上進行訓練。它比E5-Mistral小得多(10倍),上下文大小也小得多(514)。

BGE-M3:該模型由北京人工智能研究院設計,是他們最先進的多語言數(shù)據(jù)嵌入模型,支持100多種工作語言。截至2024年2月22日,它還沒有進入MTEB排行榜。

nomic-embed-text-v1 (Nomic- embed):該模型由Nomic設計,其性能優(yōu)于OpenAI Ada-002和text-embedding-3-small,而且大小僅為0.55GB。該模型是第一個完全可復制和可審計的(開放數(shù)據(jù)和開源訓練代碼)的模型。

用于評估這些開源模型的代碼類似于用于OpenAI模型的代碼。主要的變化在于模型參數(shù):

embeddings_model_spec = {
 }
 
 embeddings_model_spec['E5-mistral-7b']={'model_name':'intfloat/e5-mistral-7b-instruct','max_length':32768, 'pooling_type':'last_token', 
                                        'normalize': True, 'batch_size':1, 'kwargs': {'load_in_4bit':True, 'bnb_4bit_compute_dtype':torch.float16}}
 embeddings_model_spec['ML-E5-large']={'model_name':'intfloat/multilingual-e5-large','max_length':512, 'pooling_type':'mean', 
                                      'normalize': True, 'batch_size':1, 'kwargs': {'device_map': 'cuda', 'torch_dtype':torch.float16}}
 embeddings_model_spec['BGE-M3']={'model_name':'BAAI/bge-m3','max_length':8192, 'pooling_type':'cls', 
                                  'normalize': True, 'batch_size':1, 'kwargs': {'device_map': 'cuda', 'torch_dtype':torch.float16}}
 embeddings_model_spec['Nomic-Embed']={'model_name':'nomic-ai/nomic-embed-text-v1','max_length':8192, 'pooling_type':'mean', 
                                      'normalize': True, 'batch_size':1, 'kwargs': {'device_map': 'cuda', 'trust_remote_code' : True}}
 
 results = []
 
 languages = ["EN", "FR", "CS", "HU"]
 
 # Loop through all models
 for model_name, model_spec in embeddings_model_spec.items():
 
    print("Processing model : "+str(model_spec))
 
    # Get model
    tokenizer = AutoTokenizer.from_pretrained(model_spec['model_name'])
    embed_model = AutoModel.from_pretrained(model_spec['model_name'], **model_spec['kwargs'])
         
    if model_name=="Nomic-Embed":
        embed_model.to('cuda')
 
    # Loop through all languages
    for language in languages:
 
        # Load dataset
        file_name=language+"_dataset.json"
        qa_dataset = EmbeddingQAFinetuneDataset.from_json(file_name)
 
        start_time_assessment=time.time()
 
        # Assess embedding score (in terms of hit rate at k=5)
        score = evaluate(qa_dataset, tokenizer, embed_model, model_spec['normalize'], model_spec['max_length'], model_spec['pooling_type'])
 
        # Get duration of score assessment
        duration_assessment = time.time()-start_time_assessment
 
        results.append([language, model_name, score, duration_assessment])
 
 df_results = pd.DataFrame(results, columns = ["Language" ,"Embedding model", "MRR", "Duration"])

結果如下:

BGE-M3的表現(xiàn)最好,其次是ML-E5-Large、E5-mistral-7b和Nomic-Embed。BGE-M3模型尚未在MTEB排行榜上進行基準測試,我們的結果表明它可能比其他模型排名更高。雖然BGE-M3針對多語言數(shù)據(jù)進行了優(yōu)化,但它在英語方面的表現(xiàn)也比其他模型更好。

因為式開源模型所以一般都需要本地運行,所以我們還特意記錄了每個嵌入模型的處理時間。

E5-mistral-7b比其他模型大10倍以上,所以最慢是很正常的

總結

我們把所有的結果做一個匯總

采用開源模型獲得了最好的性能,BGE-M3模型表現(xiàn)最佳。該模型具有與OpenAI模型相同的上下文長度(8K),大小為2.2GB。

OpenAI的large(3072)、small 和ada模型的性能非常相似。減小large的嵌入尺寸(256)會導致性能下降,并且沒有像OpenAI說的那樣比ada更好。

幾乎所有型號(ML-E5-large除外)在英語上都表現(xiàn)最好。在捷克語和匈牙利語等語言中,表現(xiàn)存在顯著差異,這可能是因為訓練的數(shù)據(jù)比較少。

我們應該付費訂閱OpenAI,還是托管一個開源嵌入模型?

OpenAI最近的價格調整使得他們的API變得更加實惠,現(xiàn)在每百萬令牌的成本為0.13美元。如果每月處理一百萬個查詢(假設每個查詢涉及大約1K令牌),沒那么成本約為130美元。所以可以根據(jù)實際需要計算來選擇是否托管開源嵌入模型。

當然成本效益并不是唯一的考慮因素??赡苓€需要考慮延遲、隱私和對數(shù)據(jù)處理工作流的控制等其他因素。開源模型提供了完全數(shù)據(jù)控制的優(yōu)勢,增強了隱私性和定制性。

說到延遲,OpenAI的API也存在延遲問題,有時會導致響應時間延長,所有有時候OpenAI的API不一定是最快的選擇。

總之,在開源模型和像OpenAI這樣的專有解決方案之間做出選擇并不是一個簡單的答案。開源嵌入提供了一個非常好的可選項,它將性能與對數(shù)據(jù)的更好控制結合在一起。而OpenAI的產(chǎn)品可能仍然會吸引那些優(yōu)先考慮便利性的人,特別是如果隱私問題是次要的。

本文代碼:https://github.com/Yannael/multilingual-embeddings

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2024-03-04 14:15:16

OpenAI語言嵌入模型

2019-03-10 22:21:47

框架AI開發(fā)

2021-02-14 10:09:04

數(shù)據(jù)目錄數(shù)據(jù)元數(shù)據(jù)

2018-09-07 06:30:50

物聯(lián)網(wǎng)平臺物聯(lián)網(wǎng)IOT

2015-03-17 16:02:16

大數(shù)據(jù)混合云云模型

2015-09-23 13:28:01

大數(shù)據(jù)分析軟件

2012-12-13 21:50:43

2016-07-14 16:27:54

linux

2020-03-17 15:55:12

Redis數(shù)據(jù)庫命令

2011-08-01 09:57:14

Linux發(fā)行版

2018-07-16 08:50:31

固態(tài)硬盤內存

2015-03-17 10:25:42

IoT物聯(lián)網(wǎng)鏈接傳感器

2021-01-12 10:06:57

編程語言開發(fā)

2017-06-07 11:10:20

數(shù)據(jù)庫開源開發(fā)工具

2023-10-30 18:40:55

LVS負載均衡

2015-06-15 13:26:21

DCIM數(shù)據(jù)中心

2009-01-19 16:54:50

數(shù)據(jù)挖掘CRM孤立點

2011-09-29 13:32:45

iPhone閱讀

2011-02-21 14:35:13

瀏覽器Chrome火狐

2016-12-12 14:15:37

Java大數(shù)據(jù)工具
點贊
收藏

51CTO技術棧公眾號

国产精品普通话对白| 不卡在线视频| 国产成人福利在线| 国产视频久久久久久久| 国产97免费视| 美女100%无挡| 四虎国产精品永久在线国在线| 亚洲欧洲99久久| 国产精华一区二区三区| 久久久久久久久久久久久久av| 无码日韩精品一区二区免费| 精品视频免费在线| 97超碰人人澡| 97视频在线观看网站| 国产精品影音先锋| 欧洲亚洲妇女av| 欧美第一页在线观看| 噜噜噜天天躁狠狠躁夜夜精品| 91国产免费看| r级无码视频在线观看| 黄色在线免费观看大全| 国产成人一级电影| 国产精品成人播放| 国产一卡二卡在线| 亚洲美腿欧美偷拍| 久久综合给合久久狠狠色| 在线免费观看一区二区| 在线观看日韩av电影| 中文日韩电影网站| 欧美bbbbb性bbbbb视频| 日本99精品| 欧美片网站yy| 日日摸天天爽天天爽视频| 欧美性视频在线播放| 顶臀精品视频www| 中文字幕精品影院| 精品国产不卡一区二区三区| 中日韩av在线播放| 国产精品专区免费| 午夜日韩在线电影| 成人在线视频一区二区三区| 国产日韩欧美黄色| 欧美体内she精高潮| 性感美女一区二区在线观看| 免费在线中文字幕| 中文字幕欧美日韩一区| 久久精品成人一区二区三区蜜臀| 国产欧美一级片| 色综合久久网女同蕾丝边| 视频精品一区二区| 91精品国产高清久久久久久| 久久久久久久福利| 伊人情人综合网| 久久精品影视伊人网| 国产又粗又猛又爽又黄的视频小说| 天海翼亚洲一区二区三区| 亚洲成av人影院在线观看| 欧美国产日韩中文字幕在线| 少妇精品一区二区三区| 福利片一区二区| 好看的av在线不卡观看| 亚洲天堂av综合网| 色噜噜在线观看| 久久成人福利| 亚洲精品久久久久久久久久久| 中文字幕在线国产| 国产欧美啪啪| 亚洲国产精品成人av| 久久久久久久一| 日本一二三区在线观看| 忘忧草精品久久久久久久高清| 日韩专区中文字幕| 污软件在线观看| 一区二区三区中文| 欧美精品videofree1080p| 久久精品国产亚洲AV无码男同 | 亚洲va在线va天堂| 日本视频精品一区| 91se在线| 亚洲品质自拍视频网站| 国产精品一二三在线观看| 婷婷色在线播放| 午夜视频在线观看一区二区| 男人日女人逼逼| 偷拍精品精品一区二区三区| 欧美午夜在线观看| 自拍一级黄色片| 加勒比久久高清| 亚洲一级黄色av| 日本二区三区视频| 在线成人av| 国产精品成人国产乱一区| 一区二区三区免费观看视频| 国产成人免费xxxxxxxx| 国产综合av一区二区三区| 国产美女视频一区二区三区 | 三级一区在线视频先锋| 91九色单男在线观看| 人妻中文字幕一区| 国产欧美日韩另类一区| www国产免费| 久久青青视频| 日韩午夜激情av| 国产交换配乱淫视频免费| 日韩少妇一区二区| 不卡日本视频| 欧美日本中文字幕| 看黄色一级大片| 国产成人av影院| 日韩精品久久久| 丁香花在线观看完整版电影| 成视频免费观看在线看| 亚洲欧美影音先锋| 丝袜视频国产在线播放| 久久精品国产精品亚洲精品| 91嫩草国产在线观看| 日本v片在线免费观看| 最新高清无码专区| 四虎永久在线精品无码视频| 日本一区精品视频| 中文字幕精品一区二区精品| 国产亚洲精品久久777777| 成人免费高清在线| 久久久久久久久久影院| 精品一区二区三区中文字幕在线 | 91视频最新网址| 99精品视频免费全部在线| 国产欧美一区二区三区久久人妖| 色网站免费观看| 日韩一区欧美一区| 国产v亚洲v天堂无码久久久| 国产成人夜色高潮福利影视| 久久久国产精品亚洲一区| 国产字幕在线观看| 91亚洲精品久久久蜜桃网站| 日本国产中文字幕| www.久久久久爱免| 在线播放亚洲激情| 国内自拍视频在线播放| av一二三不卡影片| 久久手机在线视频| 久久九九精品视频| 成年人精品视频| 一级黄色大片免费观看| 久久精品欧美日韩精品| 无码aⅴ精品一区二区三区浪潮 | 欧美 日韩 国产 一区| 国产精品看片资源| 美女毛片在线看| 欧美日韩国产影院| 亚洲一区二区三区四区五区六区| 国产精品激情| 国产高清精品一区二区三区| 羞羞的视频在线看| 日韩精品一区二区三区在线观看| 中文字幕手机在线观看| 国产精品亚洲成人| av一区二区三区免费观看| 亚洲天堂中文字幕在线观看| 欧美成人网在线| 精品久久在线观看| 夜夜嗨av一区二区三区中文字幕 | 亚洲国产天堂| 久久精品亚洲94久久精品| 亚洲自拍第二页| 亚洲日本一区二区| 久久久久久久久久影视| 亚洲欧洲日本一区二区三区| 九9re精品视频在线观看re6| 都市激情亚洲一区| 在线观看精品自拍私拍| 亚洲专区第一页| 亚洲综合av网| 短视频在线观看| 日本亚洲欧美天堂免费| 中文字幕在线亚洲三区| 日本伦理一区二区三区| 韩国精品在线观看| 青草全福视在线| 国产精品亚洲无码| 男女精品网站| 亚洲精品一区二区三区樱花| 日韩伦理一区二区| 久久影院资源网| 色综合久久久久久| 欧美三级日本三级少妇99| 一区二区三区在线播放视频| 国产福利电影一区二区三区| 国产黄页在线观看| 精品国产91乱码一区二区三区四区 | 久久久久在线观看| 免费人成黄页在线观看忧物| 欧美日韩免费在线视频| 成人中文字幕在线观看| jizz中文字幕| 国产精品小仙女| 18岁网站在线观看| 欧美黄色录像片| 久久国产精品 国产精品| julia一区二区三区中文字幕| 精品中文字幕乱| 欧洲天堂在线观看| 91精品国产综合久久香蕉的特点| 色网站在线播放| 综合av第一页| 毛茸茸多毛bbb毛多视频| 国产一区二区视频在线播放| 黄色片视频在线免费观看| 98精品久久久久久久| 久久久久久久久久久久久久一区| 亚洲国产天堂| 欧洲精品毛片网站| 女囚岛在线观看| 精品国产依人香蕉在线精品| 男人天堂网在线观看| 精品伦理精品一区| 91国偷自产中文字幕久久| 日韩欧美成人区| 精品无码久久久久| ...av二区三区久久精品| 黄色a一级视频| 国产999精品久久久久久绿帽| av污在线观看| 99热在线精品观看| 欧美少妇在线观看| 99久久久国产精品美女| 久久久久网址| 国产精品chinese在线观看| 国产欧美一区二区三区在线| 三级成人黄色影院| 91国内产香蕉| 2019日韩中文字幕mv| 高清不卡一区| 国产精品视频999| 性国裸体高清亚洲| 久久久久久久91| 日日夜夜天天综合入口| www.精品av.com| 国产高清免费av在线| 日韩精品视频在线免费观看| 日韩在线观看视频一区| 欧美videossexotv100| 国产美女精品视频国产| 欧美日韩日本视频| 亚洲视屏在线观看| 欧美亚洲动漫另类| 亚洲 欧美 日韩 在线| 色综合久久综合中文综合网| 久久午夜免费视频| 午夜精品久久久久久久蜜桃app| 欧美成人精品欧美一| 亚洲激情男女视频| 激情综合网五月天| 一区二区三区欧美久久| 欧美日韩在线观看免费| 亚洲欧美一区二区三区孕妇| 91n在线视频| 亚洲蜜臀av乱码久久精品| 黄色片在线观看网站| 一区二区三区在线观看动漫| 久久精品免费av| 亚洲v日本v欧美v久久精品| 精品成人av一区二区在线播放| 婷婷成人综合网| 日本视频网站在线观看| 欧美性受xxxx| 国产美女自慰在线观看| 亚洲第一激情av| 91麻豆免费视频网站| 最新高清无码专区| 麻豆国产尤物av尤物在线观看| 一卡二卡三卡日韩欧美| 日韩成人一区二区三区| 亚洲国产精品久久久男人的天堂| 国产精品美女毛片真酒店| 婷婷久久综合九色综合绿巨人| 亚洲欧美综合自拍| 欧美日韩国产精品成人| 午夜精品久久久久久久91蜜桃| 精品国产制服丝袜高跟| 午夜视频在线播放| 在线播放日韩欧美| 亚洲精品白浆| 日本91av在线播放| 国产福利亚洲| 国产精品久久久久av福利动漫| 亚洲第一福利社区| 亚洲一区二区高清视频| 亚洲欧美一级二级三级| 北条麻妃在线观看| 蜜桃传媒麻豆第一区在线观看| 亚洲网中文字幕| 男人天堂视频在线| 欧美性色aⅴ视频一区日韩精品| 一级片在线观看视频| 亚洲福利视频在线| 日韩欧美亚洲一区二区三区| 久久亚洲综合| 最新国产黄色网址| 岛国av在线一区| www.狠狠爱| 清纯唯美亚洲经典中文字幕| 国产自产精品| 波多野结衣一区| 黄色三级中文字幕| 国产精品日韩久久久| 涩涩网站在线看| 91女厕偷拍女厕偷拍高清| 萌白酱视频在线| 亚洲一区二区三区四区精品| 久久精品卡一| 999热精品视频| 久久久蜜桃精品| 麻豆国产尤物av尤物在线观看| 在线看不卡av| 日韩一级片免费在线观看| 日韩在线小视频| 国产网站在线| 国产欧美一区二区三区四区| 色先锋久久影院av| 妺妺窝人体色www看人体| 久热成人在线视频| 免费一级做a爰片久久毛片潮| 午夜视频一区在线观看| www.热久久| 精品国模在线视频| 久久精品 人人爱| 欧洲精品久久| 一本一本久久| 波多野结衣三级视频| 亚洲人吸女人奶水| 91av久久久| 少妇激情综合网| 日韩在线免费| 欧美午夜免费| 国产亚洲福利| 少妇户外露出[11p]| 亚洲最大色网站| 精品欧美在线观看| 美女久久久久久久久久久| 96视频在线观看欧美| 伊人久久婷婷色综合98网| 日本不卡123| 男人的天堂av网| 欧美中文字幕一区二区三区亚洲| 韩国美女主播一区| 97蜜桃久久| 国产日韩欧美二区| 亚洲三级观看| 你懂的在线观看网站| 亚洲主播在线播放| 蜜桃91麻豆精品一二三区| 九九热精品视频| 永久免费精品视频| 日韩一级免费看| 成人亚洲一区二区一| 亚洲国产精品午夜在线观看| 欧美精品一区二区高清在线观看| 成人在线高清免费| 国产精品久久久久久久久久久久午夜片 | 国产三级漂亮女教师| 久久亚洲国产精品| 亚洲开心激情| 国产精品无码一区二区在线| 99热精品国产| 一级片免费在线播放| 在线视频中文亚洲| 深夜日韩欧美| 91精品一区二区三区四区| 成人高清在线视频| 国产一级片毛片| 国产一区二区三区免费视频| 婷婷精品久久久久久久久久不卡| 喜爱夜蒲2在线| 91在线看国产| 国产999精品久久久| 日韩激情精品| 国产 欧美 日本| 不卡一卡二卡三乱码免费网站| 日本一级一片免费视频| 国产精品系列视频| 成人激情免费网站| 国产无遮挡又黄又爽又色| 亚洲激情小视频| 欧美亚洲大片| 亚洲黄色www| 91精品影视| 亚洲黄色网址在线观看| 国产成人av电影免费在线观看| 国产成人免费观看视频| 一本色道久久88综合亚洲精品ⅰ | 色在人av网站天堂精品| 91国内外精品自在线播放| 日本一区二区三区免费看| 久久99热99| 超薄肉色丝袜一二三| 欧美绝品在线观看成人午夜影视| 色yeye免费人成网站在线观看| 国产精品国产馆在线真实露脸| 国产成人精品a视频|