精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品高精视频免费| 亚洲精品suv精品一区二区| 午夜视频久久久| 99视频免费看| 在线视频精品| 色诱女教师一区二区三区| 欧美熟妇另类久久久久久多毛| 黄页网站大全在线免费观看| 久久一二三国产| 亚洲综合第一页| 手机在线看片1024| 欧美久久一级| 在线观看国产精品91| 色悠悠在线视频| 粉嫩av一区二区三区四区五区 | 欧美变态tickling挠脚心| 亚洲中文字幕无码av永久| av在线播放网站| 不卡的av电影在线观看| 国产精品主播视频| 日本三级小视频| 亚洲国产精品91| 有码中文亚洲精品| 国产精品揄拍100视频| 亚洲3区在线| 欧美精品在线一区二区| 北条麻妃在线观看| av影院在线| 亚洲免费在线看| 亚洲春色在线视频| 邻居大乳一区二区三区| 成人国产电影网| 亚洲a∨日韩av高清在线观看| 亚洲精品国产无码| 99亚洲伊人久久精品影院红桃| 色偷偷88888欧美精品久久久| 一区二区三区免费在线观看视频| 一区二区三区视频播放| 欧美日韩国产成人在线免费| 免费在线观看日韩视频| 小草在线视频免费播放| 亚洲国产欧美在线| 日本黄网站色大片免费观看| 98在线视频| 国产欧美日韩精品a在线观看| 九九九九九精品| 色噜噜在线播放| 成人ar影院免费观看视频| 欧美日韩高清| 欧美r级在线观看| 国产三级生活片| 成人精品一区二区三区电影| 欧美午夜精品一区| 在线免费观看视频黄| 亚洲成a人片| 91国偷自产一区二区使用方法| ww国产内射精品后入国产| 国产黄色大片在线观看| 亚洲自拍与偷拍| 国产美女永久无遮挡| 婷婷在线播放| 亚洲成人免费视频| 黄页免费在线观看视频| 五月天国产在线| 欧美午夜美女看片| 中文字幕一区二区三区四区在线视频| 亚洲第一会所001| 精品视频在线看| 亚洲综合色在线观看| 亚洲欧美综合久久久久久v动漫| 欧美日韩三级在线| 91欧美一区二区三区| 久久三级中文| 亚洲国产精品推荐| 久久只有这里有精品| 日韩欧美一区免费| 久久人人爽亚洲精品天堂| 天天综合天天做| 亚洲免费成人| 国产精品日韩av| av网站在线免费看| av电影在线观看一区| 欧美亚洲国产免费| 黄色免费在线网站| 亚洲成在人线免费| 日韩欧美xxxx| 国产亚洲高清在线观看| 亚洲高清一二三区| 亚洲av毛片基地| 韩日成人av| 国产精品www| 亚洲男人天堂久久| 久久久av毛片精品| 中文字幕在线乱| 91超碰国产在线| 欧美日韩国产成人在线91| 国产性猛交96| 欧美在线免费看视频| 欧美巨大黑人极品精男| 亚洲大片免费观看| 国产69精品久久久久777| 高清不卡在线观看| 久久国产精品99久久久久久丝袜| avav免费在线观看| 亚洲国产精品麻豆| 色综合色综合色综合色综合| 国产成人精品亚洲线观看| 亚洲性69xxxbbb| 日韩av电影网址| 国内成人精品2018免费看| 久久精品国产美女| www.久久ai| 欧美日韩色婷婷| 亚洲高清av一区二区三区| 国产剧情在线观看一区| 欧美高清激情视频| 国产精品久久久久久久一区二区| 91麻豆精东视频| 大陆极品少妇内射aaaaaa| 亚洲承认视频| 日韩电影中文字幕一区| 日韩女优一区二区| 蜜芽一区二区三区| 欧美精品人人做人人爱视频| 成人女同在线观看| 7777精品伊人久久久大香线蕉超级流畅| 丰满少妇在线观看资源站| 日本美女一区| 美女任你摸久久| 精品亚洲欧美日韩| 后进极品白嫩翘臀在线播放| 欧美久久一区二区| 男人的天堂av网| 欧美亚洲专区| 久久精品国产精品青草色艺 | 中文字幕在线不卡| 爆乳熟妇一区二区三区霸乳| 欧美午夜寂寞| 91精品国产网站| 午夜激情小视频| 性欧美大战久久久久久久久| 黄色av电影网站| 国产精品第十页| 999热视频| 狂野欧美性猛交xxxxx视频| 日韩欧美一区二区三区在线| 国产十六处破外女视频| 国产精品性做久久久久久| 久久久久久久免费视频| 国产日本亚洲| 欧美伦理91i| 开心激情综合网| 午夜日韩在线电影| 无码精品一区二区三区在线播放| 蜜臀久久久久久999| 久久国产福利国产秒拍| 影音欧美亚洲| 成人黄色91| 欧美成人中文字幕| 欧美亚洲精品在线观看| 精品久久久久久亚洲国产300 | 久久精品一区二区三区av| 国产一级特黄a大片免费| 俺要去色综合狠狠| 国产日韩欧美夫妻视频在线观看| 日本不卡不卡| 日韩午夜在线观看| 日韩免费观看一区二区| 久久免费看少妇高潮| 一区二区三区 欧美| 亚洲91视频| 国产精品三区www17con| 在线手机中文字幕| 色偷偷av亚洲男人的天堂| 国产福利视频导航| 激情懂色av一区av二区av| 蜜桃av免费看| 国产一区二区电影| 大伊香蕉精品视频在线| 希岛爱理av免费一区二区| 国产精品久久精品| h片在线免费| 精品夜色国产国偷在线| 亚洲天堂999| 亚洲综合图片区| 国产一区二区三区四区五区六区| 美女视频网站黄色亚洲| 欧美这里只有精品| 欧洲三级视频| 国产区一区二区| 国模私拍国内精品国内av| 久久久久久久久久国产精品| 高清美女视频一区| 精品国产一区二区三区四区四| 久久久久99精品成人片我成大片| 精品成av人一区二区三区| 亚洲缚视频在线观看| 免费看av在线| 亚洲国产视频直播| 日本污视频网站| caoporen国产精品视频| 手机av在线免费| 久久精品免费| 人人妻人人做人人爽| 日韩欧美中字| 久久婷婷开心| 中文字幕日韩在线| 成人免费在线网址| 日日av拍夜夜添久久免费| 久久久久久久久久久久久久久久久久av | 国产成人99久久亚洲综合精品| 久久久久久香蕉| 在线播放精品| 91xxx视频| 狠狠色丁香婷婷综合影院| 国产偷久久久精品专区| 国产欧美视频在线| 国产日韩精品综合网站| www成人在线视频| 欧美尤物巨大精品爽| 日本不卡影院| 久久艹在线视频| 99中文字幕一区| 亚洲一级免费视频| 欧洲伦理片一区 二区 三区| 亚洲国产精品国自产拍av秋霞| 国产视频在线观看免费| 制服丝袜在线91| 91影院在线播放| 欧美在线观看一二区| 精品国产免费观看| 亚洲动漫第一页| 免费在线黄色片| 亚洲欧美福利一区二区| 蜜臀久久99精品久久久久久| 久久久三级国产网站| 亚洲男人在线天堂| 99麻豆久久久国产精品免费 | 久久精品无码一区二区三区| a视频免费观看| 91欧美激情一区二区三区成人| 怡红院一区二区| 99久久精品情趣| 亚洲一区二区三区美女| 男女黄床上色视频| 久久综合999| 在线免费看黄视频| 久久精品一区二区三区不卡牛牛 | 国产白浆在线观看| 91麻豆精品国产自产在线观看一区| 亚洲系列第一页| 欧美情侣在线播放| 一区二区国产欧美| 在线电影欧美成精品| 国产日韩精品suv| 日韩午夜电影在线观看| 亚洲精品97久久中文字幕| 精品久久久久一区二区国产| 欧性猛交ⅹxxx乱大交| 亚洲第一区第一页| 水莓100国产免费av在线播放| 亚洲欧美日韩国产中文| 国产在线一在线二| 日韩视频在线免费| 日本h片在线| 538国产精品视频一区二区| 久久精品女人天堂av免费观看 | 18国产精品| 精品伦理一区二区三区| 精品国产乱码久久久久久蜜坠欲下 | 国产在线精品一区二区三区》| 香蕉视频一区二区三区| 日韩av一级大片| 久久久久久久久久久久久久久久久久 | 日本成人网址| 久久久久久久999精品视频| 国产盗摄——sm在线视频| 国产成人精品视频在线| 国产午夜久久av| 就去色蜜桃综合| 久久久久亚洲| 欧美 日韩精品| 狠狠色丁香久久婷婷综| 喷水视频在线观看| 国产精品毛片高清在线完整版 | 韩日成人av| 欧美www视频| 日韩欧美三级视频| 欧美亚洲高清一区二区三区不卡| 国产在成人精品线拍偷自揄拍| 精品久久国产97色综合| 成人av一区| 欧美激情一区二区三区成人| 亚洲成人av观看| 成人欧美一区二区| 日本精品三区| 国产美女主播在线| 日日夜夜精品视频天天综合网| 久久久久国产一区| av亚洲精华国产精华精| 久久久99999| 日韩欧美在线看| 亚洲国产精品一| 日韩天堂在线视频| 高清电影一区| 国产一区二区免费在线观看| 999国产精品999久久久久久| 欧美日韩亚洲第一| 不卡影院免费观看| 欧美性生给视频| 日本精品一级二级| 无码精品一区二区三区在线| 欧美久久久精品| 欧美视频第一| 日韩美女一区| 亚洲综合精品四区| 国产 xxxx| 亚洲午夜视频在线| 国产视频www| 日韩一中文字幕| 69堂精品视频在线播放| 久久久久久九九九九| 欧美日韩国产综合网| 91成人精品视频| 精品人妻一区二区三区四区在线| 国产一区二区在线免费观看| 久久丫精品忘忧草西安产品| 五月婷婷激情综合网| 精品国精品国产自在久不卡| 中文字幕在线精品| 欧美成人性网| 欧美日韩电影一区二区三区| 99av国产精品欲麻豆| www.四虎精品| 一区二区在线观看免费视频播放| 国产一区二区在线视频聊天 | 国产精品免费观看在线| 国产欧美日韩免费观看| 精品中文字幕av| 91麻豆精品在线观看| 五月婷婷中文字幕| 日韩精品在线免费播放| 黄色aa久久| 免费久久一级欧美特大黄| 国产精品日韩| 中国美女乱淫免费看视频| 欧美14一18处毛片| 国产做受高潮69| 777久久精品| 日本熟妇人妻xxxx| av在线不卡免费看| 久久久久久久久久影院| 亚洲美女久久久| 欧洲亚洲两性| 亚洲精品免费在线看| 精品一区二区日韩| 中文字幕在线观看成人| 日韩视频在线永久播放| 久操av在线| 久久久神马电影| 日韩在线一区二区| 日本免费网站视频| 欧美一级国产精品| 国产免费拔擦拔擦8x高清在线人| 精品久久sese| 日韩影院免费视频| 精品在线观看一区| 欧美v亚洲v综合ⅴ国产v| 日本а中文在线天堂| 日韩资源av在线| 国产曰批免费观看久久久| 久久在线视频精品| 日韩成人中文字幕在线观看| 波多视频一区| 中文字幕一区二区三区乱码| 国产成人精品亚洲日本在线桃色| 国产尤物在线视频| 最近2019免费中文字幕视频三| 麻豆一区在线| 777久久久精品一区二区三区| 国产精品视频免费看| www.欧美国产| 情事1991在线| 亚洲综合色网| 精品少妇一区二区三区免费观| 3d成人动漫网站| 永久免费毛片在线播放| 自拍偷拍一区二区三区| 99精品欧美一区二区蜜桃免费| 糖心vlog精品一区二区| 久久久亚洲福利精品午夜| 日韩在线中文| 久久久久久亚洲精品不卡4k岛国| 男人天堂亚洲| 国产精品免费一区二区三区观看 | 91禁外国网站| 999久久久91| 亚洲成人日韩在线| 日韩三级电影网址| 国产超碰精品|