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

使用知識圖譜,大幅提升RAG準確性

人工智能
通過引入LLMGraphTransformer,知識圖譜的生成過程將變得更加流暢和易于訪問,這使得任何希望使用知識圖譜提供的深度和上下文來增強他們RAG應用程序的人都能更加輕松地使用它。

圖形檢索—增強生成(GraphRAG)的發(fā)展勢頭日益強勁,已成為傳統(tǒng)向量搜索檢索方法的有力補充。這種方法利用圖數(shù)據(jù)庫的結構化特性,將數(shù)據(jù)組織為節(jié)點和關系,從而增強了檢索信息的深度和上下文關聯(lián)性。

知識圖譜示例知識圖譜示例

圖形擅長以結構化方式表示和存儲異構和互連的信息,能夠輕松捕獲不同數(shù)據(jù)類型之間的復雜關系和屬性。相比之下,向量數(shù)據(jù)庫通常難以處理此類結構化信息,因為它們的優(yōu)勢在于通過高維向量處理非結構化數(shù)據(jù)。在RAG應用程序中,可以將結構化的圖數(shù)據(jù)與非結構文本的向量搜索相結合,以獲得雙方的優(yōu)勢。這就是將在這篇文章中展示的內(nèi)容。

一、知識圖譜很好,但如何創(chuàng)建?

構建知識圖譜通常是最富挑戰(zhàn)性的一步。它涉及數(shù)據(jù)的收集和結構化,這需要對領域和圖建模有深入的理解。

為了簡化這一過程,可以嘗試使用大語言模型(LLM)。憑借對語言和上下文的深刻理解,LLM可以自動完成知識圖譜創(chuàng)建過程的大部分工作。通過分析文本數(shù)據(jù),這些模型可以識別實體、理解它們之間的關系,并建議如何在圖結構中最好地表示它們。

作為這些實驗的結果,我們已經(jīng)在LangChain中添加了第一版的圖構建模塊,將在這篇文章中進行演示。

代碼可在GitHub上獲取。

【GitHub】:https://github.com/tomasonjo/blogs/blob/master/llm/enhancing_rag_with_graph.ipynb

Neo4j環(huán)境設置

需要設置一個Neo4j實例,請按照本文章中的示例操作。最簡單的方法是在Neo4j Aura(https://neo4j.com/cloud/platform/aura-graph-database/)上啟動一個免費實例,它提供Neo4j數(shù)據(jù)庫的云實例?;蛘?,也可以通過下載Neo4j Desktop應用程序(https://neo4j.com/download/),并創(chuàng)建一個本地數(shù)據(jù)庫實例,從而設置Neo4j數(shù)據(jù)庫的本地實例。

os.environ["OPENAI_API_KEY"] = "sk-"
os.environ["NEO4J_URI"] = "bolt://localhost:7687"
os.environ["NEO4J_USERNAME"] = "neo4j"
os.environ["NEO4J_PASSWORD"] = "password"

graph = Neo4jGraph()

此外,還必須提供一個OpenAI密鑰,因為我們將在這篇文章中使用他們的模型。

二、數(shù)據(jù)導入

在本演示中,我們將使用伊麗莎白一世的維基百科頁面。我們可以使用LangChain加載器無縫地獲取和拆分來自維基百科的文檔。

【伊麗莎白一世維基百科】:https://en.wikipedia.org/wiki/Elizabeth_I

【LangChain加載器】:https://python.langchain.com/v0.1/docs/modules/data_connection/document_loaders/

# 讀取維基百科文章
raw_documents = WikipediaLoader(query="Elizabeth I").load()
# 定義分塊策略
text_splitter = TokenTextSplitter(chunk_size=512, chunk_overlap=24)
documents = text_splitter.split_documents(raw_documents[:3])

現(xiàn)在是時候根據(jù)檢索到的文檔構建一個圖了。為此,我們實現(xiàn)了一個LLMGraphTransformer模塊,它大大簡化了在圖數(shù)據(jù)庫中構建和存儲知識圖譜的過程。

llm=ChatOpenAI(temperature=0, model_name="gpt-4-0125-preview")
llm_transformer = LLMGraphTransformer(llm=llm)

# 提取圖數(shù)據(jù)
graph_documents = llm_transformer.convert_to_graph_documents(documents)
# 存儲到neo4j
graph.add_graph_documents(
  graph_documents, 
  baseEntityLabel=True, 
  include_source=True
)

可以定義希望知識圖譜生成鏈使用的LLM。目前,我們只支持來自OpenAI和Mistral的函數(shù)調(diào)用模型。但是,我們計劃在未來擴展LLM的選擇范圍。在這個例子中,我們使用的是最新的GPT-4。請注意,生成的圖的質量很大程度上取決于使用的模型。理論上,總是希望使用最強大的模型。LLM圖轉換器返回圖文檔,這些文檔可以通過add_graph_documents方法導入到Neo4j中。baseEntityLabel參數(shù)為每個節(jié)點分配一個額外的__Entity__標簽,以增強索引和查詢性能。include_source參數(shù)將節(jié)點鏈接到它們的源文檔,以便于數(shù)據(jù)追溯和上下文理解。

可以在Neo4j瀏覽器中查看生成的圖。

圖片圖片

生成圖的一部分。

請注意,該圖像只代表生成的圖的一部分。

三、用于RAG的混合檢索

在圖生成之后,我們將使用混合檢索方法,將向量和關鍵字索引與圖檢索相結合,用于RAG應用程序。

圖片圖片

混合(向量+關鍵字)和圖檢索方法的結合。

該圖展示了一個檢索過程,首先是用戶提出問題,然后將問題導向RAG檢索器。該檢索器使用關鍵字和向量搜索來搜索非結構化文本數(shù)據(jù),并將其與從知識圖譜收集的信息相結合。由于Neo4j同時支持關鍵字和向量索引,因此可以使用單一的數(shù)據(jù)庫系統(tǒng)實現(xiàn)所有三種檢索選項。從這些來源收集的數(shù)據(jù)被輸入到LLM中,以生成并提供最終答案。

3.1 非結構化數(shù)據(jù)檢索器

可以使用Neo4jVector.from_existing_graph方法為文檔添加關鍵字和向量檢索。該方法為混合搜索方法配置關鍵字和向量搜索索引,目標是標有Document的節(jié)點。此外,如果缺少文本嵌入值,它還會計算這些值。

vector_index = Neo4jVector.from_existing_graph(
    OpenAIEmbeddings(),
    search_type="hybrid",
    node_label="Document",
    text_node_properties=["text"],
    embedding_node_property="embedding"
)

然后就可以使用similarity_search方法調(diào)用向量索引。

3.2 圖檢索器

另一方面,配置圖檢索器更為復雜,但提供了更多自由度。這個例子將使用全文索引來識別相關節(jié)點,并返回它們的直接鄰域。

圖片圖片

圖檢索器。

圖檢索器首先識別輸入信息中的相關實體。為簡單起見,我們指示LLM識別人物、組織和位置。為此,我們將使用LCEL和新添加的with_structured_output方法來實現(xiàn)這一目標。

# 從文本中提取實體
class Entities(BaseModel):
    """Identifying information about entities."""

    names: List[str] = Field(
        ...,
        descriptinotallow="All the person, organization, or business entities that "
        "appear in the text",
    )

prompt = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            "You are extracting organization and person entities from the text.",
        ),
        (
            "human",
            "Use the given format to extract information from the following "
            "input: {question}",
        ),
    ]
)

entity_chain = prompt | llm.with_structured_output(Entities)

讓我們來測試一下。

entity_chain.invoke({"question": "Where was Amelia Earhart born?"}).names
# ['Amelia Earhart']

太好了,現(xiàn)在我們可以檢測問題中的實體了,讓我們使用全文索引將它們映射到知識圖譜中。首先,我們需要定義一個全文索引和一個可以生成全文查詢的函數(shù),其中允許有一些拼寫錯誤,這里就不詳細介紹了。

graph.query(
    "CREATE FULLTEXT INDEX entity IF NOT EXISTS FOR (e:__Entity__) ON EACH [e.id]")

def generate_full_text_query(input: str) -> str:
    """
    Generate a full-text search query for a given input string.

    This function constructs a query string suitable for a full-text search.
    It processes the input string by splitting it into words and appending a
    similarity threshold (~2 changed characters) to each word, then combines 
    them using the AND operator. Useful for mapping entities from user questions
    to database values, and allows for some misspelings.
    """
    full_text_query = ""
    words = [el for el in remove_lucene_chars(input).split() if el]
    for word in words[:-1]:
        full_text_query += f" {word}~2 AND"
    full_text_query += f" {words[-1]}~2"
    return full_text_query.strip()

現(xiàn)在,讓我們把它們?nèi)拷M合起來。

# 全文索引查詢
def structured_retriever(question: str) -> str:
    """
    Collects the neighborhood of entities mentioned
    in the question
    """
    result = ""
    entities = entity_chain.invoke({"question": question})
    for entity in entities.names:
        response = graph.query(
            """CALL db.index.fulltext.queryNodes('entity', $query, {limit:2})
            YIELD node,score
            CALL {
              MATCH (node)-[r:!MENTIONS]->(neighbor)
              RETURN node.id + ' - ' + type(r) + ' -> ' + neighbor.id AS output
              UNION
              MATCH (node)<-[r:!MENTIONS]-(neighbor)
              RETURN neighbor.id + ' - ' + type(r) + ' -> ' +  node.id AS output
            }
            RETURN output LIMIT 50
            """,
            {"query": generate_full_text_query(entity)},
        )
        result += "\n".join([el['output'] for el in response])
    return result

structured_retriever函數(shù)首先檢測用戶問題中的實體。接下來,它會遍歷檢測到的實體,并使用Cypher模板檢索相關節(jié)點的鄰域。讓我們來測試一下!

print(structured_retriever("Who is Elizabeth I?"))
# Elizabeth I - BORN_ON -> 7 September 1533
# Elizabeth I - DIED_ON -> 24 March 1603
# Elizabeth I - TITLE_HELD_FROM -> Queen Of England And Ireland
# Elizabeth I - TITLE_HELD_UNTIL -> 17 November 1558
# Elizabeth I - MEMBER_OF -> House Of Tudor
# Elizabeth I - CHILD_OF -> Henry Viii
# and more...

3.3 最終檢索器

正如開頭提到的,我們將結合非結構化檢索器和圖形檢索器,創(chuàng)建傳遞給LLM的最終上下文。

def retriever(question: str):
    print(f"Search query: {question}")
    structured_data = structured_retriever(question)
    unstructured_data = [el.page_content for el in vector_index.similarity_search(question)]
    final_data = f"""Structured data:
{structured_data}
Unstructured data:
{"#Document ". join(unstructured_data)}
    """
    return final_data

由于我們使用的是Python,因此只需使用f-string將輸出連接起來即可。

四、定義RAG鏈

我們已經(jīng)成功實現(xiàn)了RAG的檢索組件。接下來,我們將引入一個提示,利用集成混合檢索器提供的上下文來生成響應,從而完成RAG鏈的實現(xiàn)。

template = """Answer the question based only on the following context:
{context}

Question: {question}
"""
prompt = ChatPromptTemplate.from_template(template)

chain = (
    RunnableParallel(
        {
            "context": _search_query | retriever,
            "question": RunnablePassthrough(),
        }
    )
    | prompt
    | llm
    | StrOutputParser()
)

最后,我們可以繼續(xù)測試我們的混合RAG實現(xiàn)。

chain.invoke({"question": "Which house did Elizabeth I belong to?"})
# 搜索查詢:Which house did Elizabeth I belong to?(伊麗莎白一世屬于哪個王朝?)
# 'Elizabeth I belonged to the House of Tudor.'('伊麗莎白一世屬于都鐸王朝。')

此示例還加入了一個查詢重寫功能,使RAG鏈能夠適應并支持追問的對話環(huán)境。鑒于我們使用的是向量和關鍵字搜索方法,我們必須重寫后續(xù)問題以優(yōu)化我們的搜索過程。

chain.invoke(
    {
        "question": "When was she born?",
        "chat_history": [("Which house did Elizabeth I belong to?", "House Of Tudor")],
    }
)
# 搜索查詢:When was Elizabeth I born?(她出生于何時)
# 'Elizabeth I was born on 7 September 1533.'('伊麗莎白一世于1533年9月7日出生。')

可以觀察到,When was she born?首先被重寫為When was Elizabeth I born? 。然后使用重寫后的查詢來檢索相關上下文并回答問題。

五、輕松增強RAG應用程序

通過引入LLMGraphTransformer,知識圖譜的生成過程將變得更加流暢和易于訪問,這使得任何希望使用知識圖譜提供的深度和上下文來增強他們RAG應用程序的人都能更加輕松地使用它。

【GitHub】:https://github.com/tomasonjo/blogs/blob/master/llm/enhancing_rag_with_graph.ipynb

責任編輯:武曉燕 來源: Python學研大本營
相關推薦

2024-10-07 08:49:25

2025-03-06 10:41:32

2025-04-01 04:25:00

RAG數(shù)據(jù)檢索

2024-01-09 14:05:15

大型語言模型RAG向量數(shù)據(jù)庫

2024-02-26 00:00:00

RAG系統(tǒng)圖譜

2017-03-06 16:48:56

知識圖譜構建存儲

2025-04-27 00:10:00

AI人工智能知識圖譜

2021-01-19 10:52:15

知識圖譜

2024-03-26 00:00:07

2009-08-12 09:27:31

Google搜索

2021-01-25 10:36:32

知識圖譜人工智能

2025-10-28 04:00:00

GraphRAG節(jié)點

2021-05-10 17:40:14

AI 數(shù)據(jù)人工智能

2020-09-24 18:07:04

華為云食道癌方案

2023-08-22 15:34:01

Python開發(fā)

2025-05-15 09:43:15

知識圖譜向量數(shù)據(jù)庫RAG

2025-06-06 01:00:00

AI人工智能知識圖譜

2024-06-03 07:28:43

2024-10-12 08:03:25

2025-06-30 13:57:59

開源模型AI
點贊
收藏

51CTO技術棧公眾號

青青草偷拍视频| 国产又粗又猛大又黄又爽| 日韩在线视频免费| 亚洲主播在线| 亚洲天堂av电影| 天天摸天天舔天天操| 美女航空一级毛片在线播放| 久久免费国产精品| 亚洲已满18点击进入在线看片| 久草网视频在线观看| 小说区图片区色综合区| 欧美日韩成人激情| 国产3p露脸普通话对白| 在线观看免费黄视频| 成人app下载| 国产精品一区二区三区在线播放| 久久久精品视频在线| 国产精品视频一区二区三区四蜜臂| 欧美日韩日日夜夜| 日韩精品xxxx| 国产三区在线观看| 久久九九全国免费| 国产视频一区二区不卡| 在线不卡免费视频| 午夜在线一区| 欧美精品videossex性护士| 三年中国中文观看免费播放| 国产成人精品亚洲线观看| 欧美日韩黄视频| 女人和拘做爰正片视频| 在线免费观看污| 国产精品视频麻豆| 女女同性女同一区二区三区91| 国产高清精品软件丝瓜软件| 欧美aaaaaa午夜精品| 欧美亚洲另类制服自拍| 蜜臀久久精品久久久用户群体| 伊人久久大香线蕉综合网蜜芽 | 久久精品视频播放| 短视频在线观看| 国产精品成人自拍| 日韩欧美一区二区视频| 美女网站色免费| 日韩成人亚洲| 一本大道综合伊人精品热热 | 91精品国产欧美一区二区| www日韩视频| 男人av在线播放| 亚洲一二三四在线| 欧美黑人在线观看| 91在线中字| 亚洲精品成a人| 中文字幕第一页亚洲| 午夜在线观看视频| 国产精品初高中害羞小美女文| 日韩精品伦理第一区| 精品电影在线| 国产欧美一二三区| 日韩激情久久| 老司机精品影院| 成人欧美一区二区三区小说| 欧美日韩视频免费在线观看| 含羞草www国产在线视频| 成人欧美一区二区三区白人 | 久久www成人_看片免费不卡| 欧洲精品久久久| 无码人妻丰满熟妇精品| 老司机久久99久久精品播放免费| 欧美最近摘花xxxx摘花| 无码人妻精品一区二区三区9厂| 性一交一乱一区二区洋洋av| 国产成人免费91av在线| 一区二区视频免费| 国产裸体歌舞团一区二区| 成人在线中文字幕| 亚洲成a人片77777精品| 9i在线看片成人免费| 久久综合色一本| 日本在线视频网| 亚洲精品乱码久久久久久黑人 | 久久99精品网久久| 亚洲永久在线观看| 六月丁香色婷婷| 久久久亚洲精品一区二区三区| 天堂一区二区三区| av片哪里在线观看| 狠狠色噜噜狠狠狠狠97| 一区二区三区免费播放| 国产视频网站一区二区三区| 亚洲高清久久网| 久久久久久亚洲中文字幕无码| 日韩成人影院| 欧美激情视频网| 国产又大又黄又粗| 国产在线精品一区二区夜色| 国产欧美欧洲| 在线视频1区2区| 亚洲午夜三级在线| 免费看污黄网站| 成人香蕉社区| 这里只有精品丝袜| 国产精品99无码一区二区| 老司机免费视频久久| 国产高清精品一区| 亚洲天天影视| 欧美日韩国产一区中文午夜| 亚洲精品一二三四五区| 国产精品极品国产中出| 中文字幕精品在线视频| 日本熟妇乱子伦xxxx| 久久精品国内一区二区三区 | 成人写真视频| 9.1国产丝袜在线观看| 国产免费一区二区三区免费视频| 久久亚洲一级片| 欧美国产综合在线| 亚洲精品自拍| 亚洲偷欧美偷国内偷| 九九视频在线免费观看| 蜜桃视频一区二区三区| 蜜桃视频在线观看91| 影音先锋男人资源在线| 欧美三级在线看| 亚洲人人夜夜澡人人爽| 欧美日韩p片| 91在线观看免费网站| 精品美女视频在线观看免费软件| 亚洲国产视频直播| 国产乱叫456| 久久国产成人午夜av影院宅| 欧美影院在线播放| 三级在线观看网站| 一区二区三区四区国产精品| 亚洲a级黄色片| 日韩精品四区| 国产精品久久久久一区二区| 丝袜+亚洲+另类+欧美+变态| 亚洲高清不卡在线| 性高潮免费视频| 欧美日韩国产高清| 51国偷自产一区二区三区| 男人和女人做事情在线视频网站免费观看| 色中色一区二区| 在线免费观看成年人视频| 国产日韩亚洲| 久久久www免费人成黑人精品| 伦理在线一区| 亚洲国产日韩欧美在线99| 久久免费精彩视频| fc2成人免费人成在线观看播放 | 久久精品国语| 日本免费一区二区三区| 欧美三区四区| 在线电影av不卡网址| 久久影视中文字幕| 欧美国产97人人爽人人喊| 免费看国产黄色片| 999久久久亚洲| 亚洲精品女av网站| 精品精品导航| 亚洲国产一区二区三区在线观看| 日韩av片在线播放| 久久蜜桃av一区二区天堂| 黄色一级免费大片| 久久婷婷蜜乳一本欲蜜臀| 成人欧美在线视频| 国产视频在线播放| 精品欧美久久久| 国产无人区码熟妇毛片多| 91社区在线播放| 九九九在线观看视频| 久久影院100000精品| 91精品一区二区| 黄页网站大全在线免费观看| 亚洲精品视频在线播放| 中国老头性行为xxxx| **欧美大码日韩| 久久久久亚洲av片无码v| 亚洲大胆av| 三区精品视频| 99re8这里有精品热视频8在线 | 色狠狠久久aa北条麻妃| 国产丝袜在线视频| 午夜激情久久久| 51妺嘿嘿午夜福利| 韩国欧美一区二区| 免费国产a级片| 欧美色婷婷久久99精品红桃| 91色精品视频在线| 小h片在线观看| 久久精品国产91精品亚洲 | 成人av网站在线| 好男人www社区| 欧美啪啪一区| 青娱乐一区二区| 一区二区三区四区高清视频| 日本高清不卡的在线| h片在线观看网站| 亚洲欧美三级在线| 国产欧美一级片| 色一区在线观看| 欧美日韩人妻精品一区二区三区| 91麻豆精品秘密| 免费高清视频在线观看| 麻豆精品91| 免费cad大片在线观看| 欧美日韩在线观看视频小说| 成人动漫在线视频| 亚洲久草在线| 国产精品18久久久久久麻辣| 牛牛电影国产一区二区| 日韩一级黄色av| 日本高清中文字幕二区在线| 欧美一卡二卡三卡| 中文字幕欧美在线观看| 五月天亚洲婷婷| 欧美高清视频一区二区三区| 中文字幕在线观看不卡视频| 中文在线一区二区三区| 国产一区二区三区香蕉| 中文字幕在线观看第三页| 日韩一级精品| 亚洲理论电影在线观看| 亚洲最大av| 亚洲一区3d动漫同人无遮挡 | 久久色中文字幕| 农村末发育av片一区二区| 精品中文字幕一区二区小辣椒 | 国内精品视频666| 青青在线视频免费| 亚欧成人精品| 日韩网址在线观看| 亚洲伦伦在线| 欧美精品久久久久久久久久久| 亚洲精品a级片| 在线看无码的免费网站| 日韩免费久久| 亚洲一卡二卡| 日韩亚洲一区在线| 亚洲欧美日韩精品综合在线观看| 精品日韩在线| 欧美国产二区| 深爱激情综合网| 美媛馆国产精品一区二区| 日韩高清在线免费观看| 国产精品免费视频一区二区| 7777精品| 国产欧美亚洲日本| 超碰97久久国产精品牛牛| 成人久久18免费网站漫画| 亚洲1区在线| 成人看片在线| 清纯唯美亚洲经典中文字幕| 久久国产精品99久久久久久丝袜| 精品福利一区| 久久综合给合久久狠狠色| 天堂av一区二区三区在线播放| 久久99精品久久久久久青青日本 | 国产乱色国产精品免费视频| 日本网站在线看| 国产成人自拍高清视频在线免费播放| 午夜激情影院在线观看| 国产精品亚洲午夜一区二区三区 | 久久久久99精品一区| 久久午夜福利电影| 中文字幕一区二区三区精华液 | 米奇777四色精品人人爽| 久久久www成人免费精品张筱雨| a视频在线观看免费| 久久久在线视频| 桃色av一区二区| 国产精品观看在线亚洲人成网| 精品69视频一区二区三区| 147欧美人体大胆444| 成人知道污网站| 欧美三级电影在线播放| 久久在线免费| 成年人看的毛片| 日韩精品欧美成人高清一区二区| 91国产精品视频在线观看| 国产成人在线看| 欧美精品欧美极品欧美激情| 中文字幕乱码亚洲精品一区| 国产高潮国产高潮久久久91| 五月婷婷色综合| 做爰视频毛片视频| 日韩欧美国产系列| 国内精品一区视频| 欧美成人激情视频| 最新欧美色图| 91超碰在线电影| 九九精品久久| 中国老女人av| 久久久久国产精品一区二区| 伊人五月天婷婷| 久久综合色婷婷| 糖心vlog免费在线观看| 欧美日韩国产在线播放| 国产成人精品电影久久久| 欧美videos另类精品| 国产91九色视频| 日韩成人精品| 色噜噜狠狠色综合网| 99精品免费网| 日韩 国产 一区| 国产欧美日韩激情| 国产在线视频二区| 欧美日韩一区二区三区在线 | 欧美三级午夜理伦三级老人| 亚洲高清自拍| 国产高清999| 国产欧美日韩在线| 看片网址国产福利av中文字幕| 欧美一区二区三区不卡| 国产福利在线视频| 97国产suv精品一区二区62| 999色成人| 亚洲不卡1区| 亚洲欧美卡通另类91av| 国产吃瓜黑料一区二区| 亚洲天堂2016| 伊人久久一区二区| 亚洲欧洲日产国码av系列天堂| 五月花成人网| 91日本视频在线| 99国产精品免费视频观看| 日韩福利视频在线| 久久婷婷色综合| 日本特级黄色片| 亚洲第一天堂av| 黄色污污视频在线观看| 亚洲一区中文字幕| 中文精品久久| 九九九九九国产| 国产精品久久久久久久久免费丝袜| 黄色片网站在线免费观看| 亚洲国产欧美自拍| segui88久久综合9999| 俄罗斯精品一区二区三区| 亚洲欧美一区在线| 污视频在线观看免费网站| 一区在线中文字幕| 一级黄色片免费看| 日韩一区av在线| 成人在线视频www| 日本道在线视频| 国产精品一区二区久激情瑜伽| 小早川怜子一区二区的演员表| 欧美日韩电影在线| 国产盗摄在线观看| 7777奇米亚洲综合久久| 国产一区激情| 成年人的黄色片| 日韩欧美在线网址| 久久av少妇| 国产精品美女www| 视频在线不卡免费观看| 三级黄色片免费观看| 亚洲资源中文字幕| 人妻91麻豆一区二区三区| 亚州欧美日韩中文视频| 色婷婷久久久| wwwwxxxx日韩| 亚洲美女免费视频| 蜜桃在线一区二区| 欧美怡春院一区二区三区| 欧美日韩中文一区二区| 亚洲在线观看网站| 亚洲国产精品久久久男人的天堂| 少妇av在线播放| 国产精品www色诱视频| 日韩欧美网址| 337p日本欧洲亚洲大胆张筱雨| 午夜精品久久久久久久99樱桃| 久久电影视频| 亚洲va电影大全| av成人毛片| gv天堂gv无码男同在线观看| 日韩一区二区在线观看| 桃色av一区二区| 一区二区不卡视频| 成人免费视频免费观看| 99久久久无码国产精品免费蜜柚 | 欧美电影网站| 伊人天天久久大香线蕉av色| 成人精品一区二区三区中文字幕 | 免费在线中文字幕| 欧美日韩国产三区| 国产在线精品视频| 久久久免费高清视频| 久久久极品av| 亚洲小说图片| 麻豆av免费看| 欧美亚洲一区三区| 美女网站视频在线| 亚洲一二三区在线| 久久综合九色综合欧美98| 国产视频手机在线观看| 欧美在线亚洲一区| 欧美不卡高清|