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

使用 Claude 3.5 和 Python 構建 ReAct AI Agent

發布于 2024-10-12 14:16
瀏覽
0收藏

Reason+Act (ReAct) Agent 能夠通過將思維鏈推理與外部工具訪問和迭代求解能力相結合,來執行復雜的推理任務。

ReAct Agent的工作原理

ReAct Agent的核心組件是系統提示,它定義了Agent的整體行為(我們稍后將看到一個示例)。

處理從用戶提示開始,用戶提示請求解決某個問題。系統提示指示Agent對問題進行推理,并在適當的時候選擇一個外部工具來幫助解決問題。

Agent調用工具,并在收到響應后決定是否需要進一步處理。如果需要,它可以再次請求幫助。Agent會在推理和行動(調用工具)之間迭代,直到它解決了問題,然后將結果返回給用戶。

下圖說明了這個過程。

使用 Claude 3.5 和 Python 構建 ReAct AI Agent-AI.x社區

ReAct Agent過程

案例研究

也許,解釋 ReAct Agent如何工作的最簡單方法是使用一個簡單的案例研究。以下是一個Agent解決簡單算術問題的示例響應。

我們從問題“20 * 15 等于多少”開始,Agent開始“大聲思考”。

20 * 15 等于多少

思考: 這是一個簡單的乘法問題,我可以使用 calculate 操作來解決。

行動: calculate: 20 * 15

觀察: 300

答案: 20 * 15 的結果是 300。

Agent的響應前面帶有 思考 標簽,它在其中推理應該做什么。在本例中,它決定使用 calculate

下一個響應前面帶有 行動 標簽,我們看到Agent使用 calculate 工具來獲取答案。之后,我們看到 觀察,這是來自工具的響應。

最后的 答案 是Agent根據原始問題和 calculate 工具的輸出創建的響應的結果。

從表面上看,這里并沒有什么特別不尋常的地方——除了Agent使用了一個我們提供的工具。

而這正是 ReAct Agent的關鍵:Agent使用外部工具進行推理,然后采取行動。

迭代

當Agent決定它還沒有得出結論,需要經過另一個推理/行動序列時,事情就變得更有趣了。Agent可以迭代推理/行動序列,直到得出有效結論。

上面的例子很簡單,但它向您展示了事件的基本序列。

如果我們嘗試更復雜的查詢,我們可以看到迭代在實踐中的應用。

我問了Agent以下問題:“_籃球隊和曲棍球隊的球員人數相乘的結果是多少?_”。

為了回答這個問題,Agent需要找出每項運動的球員人數,然后將它們相乘。它可以使用 calculate

下面我們看到Agent在得出令人滿意的答案之前,三次經過了思考-行動-觀察序列的方式。

要回答這個問題,我需要找出籃球隊和曲棍球隊的球員人數,然后將這些數字相乘。讓我們從籃球開始。

思考: 我將先查閱籃球隊的球員人數。

行動: wikipedia: 籃球

觀察: 籃球是一項團隊運動。每支球隊在球場上同時有五名球員,盡管球隊可能在替補席上有替補球員。

思考: 現在我知道一支籃球隊在球場上同時有 5 名球員,我需要找出曲棍球隊的球員人數。

行動: wikipedia: 曲棍球

觀察: 曲棍球是一項團隊運動,每支球隊在球場上同時有 10 名球員:3 名進攻球員、3 名中場球員、3 名防守球員和 1 名守門員。但是,在不同版本的比賽中,人數可能會有所不同。例如,室內曲棍球的球員人數較少。

思考: 現在我已經知道兩種運動的球員人數,我可以計算結果了。

行動: calculate: 5 * 10

觀察: 50

答案: 將籃球隊的人數(5)乘以曲棍球隊的人數(10)的結果是 50。

如果您通讀輸出內容,您會看到Agent如何在得出結果之前進行推理并咨詢工具,并且在這樣做的時候,它會隨著時間的推移積累知識。

代碼非常少

實現 ReAct Agent所需的代碼出奇地少,因為大部分工作都在提示中完成。

所以讓我們先看看這個。

prompt = """
您在一個 Thought、Action、Observation、Answer 的循環中運行。
在循環結束時,您輸出一個 Answer
使用 Thought 描述您對所問問題的想法。
使用 Action 運行您可以使用的操作之一。
Observation 將是運行這些操作的結果。
Answer 將是分析 Observation 的結果。

您可以使用的操作是:

calculate:
例如 calculate: 4 * 7 / 3
運行計算并返回數字 - 使用 Python,因此如果需要,請務必使用浮點語法

wikipedia:
例如 wikipedia: Django
從維基百科搜索返回摘要

如果您可以使用維基百科查找內容,請始終使用維基百科進行查找。

示例會話:

問題:法國的首都是什么?

思考:我應該在維基百科上查找有關法國的信息

行動:wikipedia: 法國

然后您應該調用適當的操作并從
結果中確定答案

然后您輸出:

答案:法國的首都為巴黎
"""

提示的第一部分告訴 LLM 如何通過我們之前看到的標記過程部分來解決問題,這些部分在循環中運行。

然后描述了 calculate 和 wikipedia

這個提示是一個簡單的示例,當然僅用于演示目的。很明顯,該提示是為這個特定應用程序設計的:工具的描述是硬編碼的,而在生產系統中,您希望能夠以編程方式擴展它們。(我們很快就會看到 calculate 是使用 Python 函數 eval() 實現的。這是一個相當糟糕的做法,因為它很容易受到代碼注入攻擊。)

代碼和提示的基本結構是 Simon 的,但我對其進行了修改,以便使用 Anthropic 的 Claude 3.5 Sonnet LLM,并簡化了代碼和提示。

Claude 3.5

Claude Sonnet 3.5 是 Anthropic 最近發布的一個版本,在他們的 發布公告 中,他們聲明“Claude 3.5 Sonnet 提高了行業智能標準,在廣泛的評估中優于競爭對手模型和 Claude 3 Opus,具有我們中端模型 Claude 3 Sonnet 的速度和成本”。

為了說明這一點,Anthropic 擁有三個版本的 Claude LLM,從更便宜、更快的 Haiku 模型,到更智能但更昂貴的 Opus 模型。Sonnet 是介于兩者之間的模型,是唯一在撰寫本文時擁有 3.5 版本的模型。

我一直想看看 Claude,這似乎是一個很好的機會。

代碼從必要的導入開始:

import anthropic
import re
import httpx

這里沒有太多東西。Anthropic,當然,用于 LLM,正則表達式和一個 HTTP 庫來訪問維基百科。

要運行代碼,您當然需要一個 Anthropic 帳戶,他們會向您收取使用費。不過,它相當便宜:Claude 3.5 sonnet 比之前的版本更便宜,而且更強大——我已經在這里運行了代碼(以及更多代碼),只收取了幾美分的費用。

代碼首先創建一個客戶端,然后定義一個 Python 類來實現聊天機器人。與 OpenAI 不同,Claude 將系統提示與用戶或助手的提示分開,我們在實例化 ChatBot? 時初始化提示。__call__? 函數負責存儲用戶消息和來自聊天機器人的響應,并調用 execute 來運行Agent。

client = anthropic.Anthropic(api_key="YOUR API KEY HERE")

class ChatBot:
    def __init__(self, system=""):
        self.system = system
        self.messages = []

    def __call__(self, message):
        self.messages.append({"role": "user", "content": message})
        result = self.execute()
        self.messages.append({"role": "assistant", "content": result})
        return message

    def execute(self):
        message = client.messages.create(
            model="claude-3-5-sonnet-20240620",
            max_tokens=1000,
            temperature=0,
            system = self.system,
            messages = self.messages
        )
        return message.content

下一步是定義一個 query() 函數,它使用聊天機器人的實例。query 函數實現了一個循環,該循環會一直持續到沒有更多操作(或者我們已經達到最大迭代次數)為止。該函數檢測操作并使用正則表達式提取操作的名稱。這些操作被調用,當沒有更多操作時,聊天機器人消息將被返回。

action_re = re.compile('^Action: (\w+): (.*)$')

def query(question, max_turns=5):
    i = 0
    bot = ChatBot(prompt)
    next_prompt = question
    while i < max_turns:
        i += 1
        result = bot(next_prompt)
        print(result)
        actions = [action_re.match(a) for a in result.split('\n') if action_re.match(a)]
        if actions:
            # 有一個要運行的操作
            action, action_input = actions[0].groups()
            if action not in known_actions:
                raise Exception("Unknown action: {}: {}".format(action, action_input))
            print(" -- running {} {}".format(action, action_input))
            observation = known_actions[action](action_input)
            print("Observation:", observation)
            next_prompt = "Observation: {}".format(observation)
        else:
            return bot.messages

現在我們需要定義操作函數(工具)wikipedia? 和 eval,并將對它們的引用存儲在一個字典中。

def wikipedia(q):
    return httpx.get("https://en.wikipedia.org/w/api.php", params={
        "action": "query",
        "list": "search",
        "srsearch": q,
        "format": "json"
    }).json()["query"]["search"][0]["snippet"]

def calculate(what):
    return eval(what)

known_actions = {
    "wikipedia": wikipedia,
    "calculate": calculate
}

接下來是一個實用程序函數,它打印出由機器人生成的最后一條消息。

def get_last_message():
    for m in bot.messages[-1]['content'][0].text.split('\n'):
        print(m)

最后,在完成所有這些步驟后,我們可以開始使用Agent。

query("What is 20 * 15")
get_last_message()

上面的代碼產生了我們在文章開頭看到的第一個例子,下面的代碼展示了 ReAct Agent如何迭代地執行各種操作以得出有效結論的另一個例子。

這是一個示例,其中Agent必須迭代調用工具。在本例中,它只使用維基百科,但它必須智能地分析響應才能得出答案。

query("What languages are spoken in Spain that are also spoken in France")
get_last_message()

西班牙和法國都使用哪些語言?

思考: 為了準確地回答這個問題,我應該查找有關西班牙和法國使用的語言的信息。我將首先檢查維基百科以獲取有關西班牙語言的信息。

行動: wikipedia: 西班牙語

觀察: 西班牙在邊境內部使用多種語言和方言。西班牙的官方語言是西班牙語(也稱為卡斯蒂利亞語),大多數西班牙人使用這種語言。然而,在各個自治區,有幾種共同的官方語言:

加泰羅尼亞語:在加泰羅尼亞、巴利阿里群島和瓦倫西亞自治區的部分地區使用(在那里被稱為瓦倫西亞語)。

加利西亞語:在加利西亞使用。

巴斯克語:在巴斯克地區和納瓦拉的部分地區使用。

奧克語(阿蘭語):在加泰羅尼亞的阿蘭谷使用。

其他公認的語言包括阿拉貢語和阿斯圖里亞斯語。在不同的地區,還使用著幾種西班牙語方言。

思考: 現在我已經了解了西班牙的語言,我應該檢查一下法國的語言,看看哪些語言重疊。

行動: wikipedia: 法語

觀察: 法國的官方語言是法語,占人口的 88%。然而,法國使用著幾種地區語言和方言:

奧克語:在法國南部使用。

布列塔尼語:一種凱爾特語言,在布列塔尼使用。

阿爾薩斯語:一種日耳曼語方言,在阿爾薩斯使用。

科西嘉語:在科西嘉島使用。

加泰羅尼亞語:在法國東比利牛斯省使用。

巴斯克語:在法國巴斯克地區使用。

其他地區語言包括法蘭克-普羅旺斯語、洛林弗蘭克語和各種油語。

思考: 通過比較西班牙和法國使用的語言,我可以識別出重疊的語言。

答案: 西班牙和法國都使用的語言是:

加泰羅尼亞語:在西班牙的部分地區(加泰羅尼亞、巴利阿里群島和瓦倫西亞)以及法國的東比利牛斯省使用。

巴斯克語:在西班牙的巴斯克地區和納瓦拉的部分地區使用,以及法國的巴斯克地區。

奧克語:在西班牙加泰羅尼亞的阿蘭谷被稱為阿蘭語,并在法國南部使用。

這三種語言在兩個國家都得到認可和使用,盡管它們在西班牙和法國的官方地位和使用人數可能會有所不同。

上面的響應展示了Agent為了得出合適的答案而經過的合理過程。

我還嘗試了更復雜的問題,Agent似乎也能很好地處理這些問題(您可以在下載的代碼中看到更多示例)。

結論

本文介紹的代碼展示了 ReAct Agent的工作方式。它并不健壯,也不適合生產環境。但我希望您現在對 ReAct Agent的原理以及如何實現它們有了相當好的理解。

請使用更復雜的示例嘗試代碼,并可能添加更多工具。我很樂意聽到您的實驗結果。

當然,使用 Langchain 和 Llamaindex(例如)有更簡單的解決方案,我可能會在以后的文章中介紹它們。

本文轉載自 ??DevOpsAI??,作者:ReAct Agent

收藏
回復
舉報
回復
相關推薦
国产不卡免费视频| 艳女tv在线观看国产一区| 欧美午夜无遮挡| 日韩免费av电影| 国产婷婷在线视频| 99热这里只有精品8| 亚洲欧美在线免费观看| 日韩成人av免费| 欧美男男激情videos| 国产精品久久久久久久久免费樱桃| 91成人伦理在线电影| 国产精品乱子伦| 亚洲乱码在线| 亚洲图片欧美日产| 亚洲麻豆一区二区三区| 成人亚洲免费| 欧美特级www| av动漫免费观看| 欧美zozo| 成人爱爱电影网址| 国产综合久久久久久| 激情五月色婷婷| 999视频精品| 亚洲美女www午夜| 少妇精品无码一区二区| 日韩欧美三区| 日本道免费精品一区二区三区| 国产女主播av| 亚洲天天影视| 久久久欧美精品sm网站| 国产精品久久7| 97超碰中文字幕| 日韩国产在线观看| 97在线观看免费| 久草资源在线视频| 亚洲草久电影| 视频直播国产精品| 日韩一区二区a片免费观看| 久久草在线视频| 日韩欧美国产一区二区三区| www.日本一区| 国产另类xxxxhd高清| 精品免费在线视频| 久久成人免费观看| 波多野结衣精品| 亚洲精品成人天堂一二三| 在线视频欧美一区| 在线免费av网站| 国产日产欧产精品推荐色| 开心色怡人综合网站| 欧美 日韩 国产 成人 在线| 国产成人在线视频播放| 亚洲永久免费观看| 国产精品高潮呻吟久久久| 美女脱光内衣内裤视频久久网站| 国产精品99导航| 欧美人一级淫片a免费播放| 性xx色xx综合久久久xx| 欧美一级大片在线观看| 日韩av在线天堂| 99热免费精品| 欧洲中文字幕国产精品| 亚洲欧美另类在线视频| 视频一区二区中文字幕| 国产精品免费网站| 在线观看av大片| 激情深爱一区二区| 91久久精品国产91久久性色tv| 99久久精品国产色欲| 国产成人av电影在线观看| 444亚洲人体| 成人免费公开视频| thepron国产精品| 欧美连裤袜在线视频| 国产黄在线观看| 中文字幕一区二区视频| 日韩第一页在线观看| 国产黄色大片在线观看| 黑人与娇小精品av专区| 手机看片福利盒子久久| 日韩成人精品一区二区三区| 日韩欧美一级精品久久| 成人在线视频免费播放| 免费看av成人| 成年人精品视频| 91看片在线播放| 秋霞成人午夜伦在线观看| 91在线观看免费网站| 欧美 日韩 国产 在线| 久久精品在线观看| 女女同性女同一区二区三区按摩| 国产又色又爽又黄刺激在线视频| 欧美日韩在线免费观看| 天天色综合社区| 成人h动漫免费观看网站| 亚洲欧美国产另类| 国产女人18水真多毛片18精品| 在线高清一区| 国产精品无码专区在线观看| 亚洲成熟女性毛茸茸| 2023国产精品视频| 法国空姐在线观看免费| 午夜伦理福利在线| 538在线一区二区精品国产| 日韩av手机在线播放| 日韩大片在线播放| 97婷婷涩涩精品一区| 国产一区二区在线视频观看| 91色porny| 国产成人三级视频| 周于希免费高清在线观看 | 亚洲色在线视频| 中国毛片直接看| 爽好久久久欧美精品| 俄罗斯精品一区二区三区| jyzzz在线观看视频| 亚洲成人中文在线| 国产999免费视频| 欧美呦呦网站| 91a在线视频| www.av导航| 国产精品不卡在线| 一本色道无码道dvd在线观看| 一区二区三区视频免费视频观看网站 | 亚洲精品第三页| 蜜桃视频欧美| 97人洗澡人人免费公开视频碰碰碰| 国产又粗又大又爽视频| 国产欧美日韩激情| www.国产区| 婷婷激情久久| 97色在线视频| 亚洲欧美另类视频| 亚洲黄色尤物视频| 91精产国品一二三产区别沈先生| 精品视频99| 国产精品6699| 国产综合视频一区二区三区免费| 精品久久久久久久久久久久久久| 无码人妻久久一区二区三区蜜桃| 国产精品成人av| 国产日韩精品在线观看| av电影在线播放高清免费观看| 日韩欧美在线中文字幕| 国产麻豆天美果冻无码视频| 亚洲黄色三级| 精品视频一区二区| 中文字幕影音在线| 亚洲人成电影网| 五月婷婷六月婷婷| 中文字幕精品在线不卡| 日日噜噜夜夜狠狠| 欧美超碰在线| 91午夜理伦私人影院| 亚洲按摩av| 亚洲第一页中文字幕| 日韩少妇裸体做爰视频| av亚洲精华国产精华| 97成人在线免费视频| 牲欧美videos精品| 国产成人在线播放| 天天在线视频色| 日韩午夜激情电影| 日本熟妇毛耸耸xxxxxx| 97精品国产97久久久久久久久久久久| 成人av一级片| 区一区二视频| 亚洲自拍偷拍视频| av中文字幕在线看| 亚洲欧洲xxxx| 一级淫片免费看| 亚洲一卡二卡三卡四卡| 无码人妻精品一区二区三区温州| 丝袜美腿亚洲综合| 正在播放国产精品| 2023国产精华国产精品| 1769国内精品视频在线播放| 国产69久久| 欧美一级xxx| 日本道在线观看| 国产精品久久久久久久久免费桃花| 一级黄色片国产| 亚洲三级影院| 一本久久a久久精品vr综合| 亚洲综合色婷婷在线观看| 欧美在线观看视频| 免费黄色在线| 日韩精品视频免费在线观看| 中文字幕欧美色图| 亚洲最大成人综合| 天天躁夜夜躁狠狠是什么心态| 国产一区二区三区免费看| 国产96在线 | 亚洲| 日本一二区不卡| 国产欧美日韩视频一区二区三区| 欧美色999| 欧美激情视频免费观看| 国产精品一区在线看| 日韩欧美国产麻豆| 成人一级免费视频| 亚洲福利视频一区二区| 国产成人一区二区在线观看| 国产99久久久国产精品潘金| 亚洲成人福利在线观看| 亚洲欧洲日本一区二区三区| 一本一道久久a久久综合精品| 欧美亚洲色图校园春色| 92看片淫黄大片看国产片| 久久毛片亚洲| 97视频免费在线看| 成人video亚洲精品| 亚洲欧美在线一区| 欧日韩在线视频| 日韩一区二区免费在线观看| 中文永久免费观看| 精品欧美激情精品一区| 国产一级一片免费播放| 国产精品久久久久久久久免费桃花| 波多野结衣 在线| 福利电影一区二区三区| 性欧美在线视频| 青青草国产精品亚洲专区无| 精品视频免费在线播放| 欧美精品日本| 18视频在线观看娇喘| 成人在线免费观看网站| 欧美一区二区三区在线免费观看 | 精品成人佐山爱一区二区| 亚洲无码久久久久| 在线精品视频免费观看| 美女又爽又黄免费视频| 午夜视频一区二区| 亚洲精品在线观看av| 亚洲猫色日本管| 中文字幕av播放| 中文字幕字幕中文在线中不卡视频| 天天舔天天操天天干| www精品美女久久久tv| 玖玖爱在线精品视频| 成人免费va视频| 日批免费观看视频| 高清视频一区二区| 国产午夜在线一区二区三区| 成人午夜视频免费看| 中文字幕天堂av| 99久久精品费精品国产一区二区| 男女一区二区三区| 99视频精品免费视频| 一级欧美一级日韩片| 99久久久无码国产精品| 久久人人爽人人爽人人片| 91在线你懂得| 亚洲自拍偷拍一区二区| 久久久精品tv| 一区二区三区在线观看免费视频| 国产欧美日韩精品在线| 女教师淫辱の教室蜜臀av软件| 国产精品成人免费在线| 成人污版视频| 亚洲精品一区二区三区在线播放| 日本久久成人网| 动漫美女被爆操久久久| 嗯用力啊快一点好舒服小柔久久| 国产精品视频在线免费观看| 老汉色老汉首页av亚洲| 精品国产一区二区三| 西野翔中文久久精品国产| 青青草国产精品| 99久久亚洲精品| avav在线播放| 久久国产精品久久w女人spa| 韩国视频一区二区三区| 国产一区二区三区四区五区美女| xxxxwww一片| 91蝌蚪porny成人天涯| 日本理论中文字幕| 亚洲久草在线视频| 亚洲国产精品午夜在线观看| 欧美性感美女h网站在线观看免费| 国产午夜无码视频在线观看| 678五月天丁香亚洲综合网| 国产成人自拍一区| 国产一区二区免费| 91中文在线| 欧美亚洲免费电影| 四虎影视4hu4虎成人| 91aaaa| 亚洲涩涩av| 欧美日韩一级在线| 亚洲人成在线影院| 久热精品在线播放| 9久草视频在线视频精品| 美国黄色特级片| 亚洲午夜一区二区| 中文字幕乱码视频| 精品国产精品网麻豆系列| 超碰国产在线| 午夜精品一区二区三区在线视频 | 美丽的姑娘在线观看免费动漫| 中文字幕v亚洲ⅴv天堂| 国产美女情趣调教h一区二区| 国产福利成人在线| 97视频一区| 在线观看亚洲视频啊啊啊啊| 久久狠狠婷婷| av电影在线播放| 国产精品久久久久久久久果冻传媒| 国产午夜精品无码| 欧美精品久久一区二区三区| 天堂成人在线观看| 欧美日韩国产91| 国产精品久久乐| 欧美黑人3p| 136国产福利精品导航网址| 久久久久久久久久久久久久久国产| 99精品视频一区二区三区| 久久久精品视频免费观看| 欧美性生活大片视频| 五月婷婷久久久| 欧美激情在线观看| 久久伊人久久| 中国人体摄影一区二区三区| 免费久久99精品国产| 精品人妻无码一区二区三区换脸| 亚洲成a人v欧美综合天堂下载 | 日韩av一级| 欧美精品一区二区三区四区五区| 91久久午夜| 人妻 丝袜美腿 中文字幕| 亚洲你懂的在线视频| 91tv国产成人福利| 深夜福利日韩在线看| jizz亚洲女人高潮大叫| 日韩成人av网站| 免费国产亚洲视频| 免费视频91蜜桃| 在线观看成人小视频| 精品999视频| 国产成人短视频| 精品九九在线| 亚洲一区二区三区四区五区xx| 国产人伦精品一区二区| 中文字幕手机在线视频| 亚洲免费电影一区| 卡通欧美亚洲| 先锋影音亚洲资源| 美女视频网站久久| 欧美另类videoxo高潮| 欧美日韩1区2区| av在线免费播放| 99中文字幕| 亚洲精品免费观看| 国产黄色网址在线观看| 欧亚洲嫩模精品一区三区| av片在线看| 亚洲一区二区三区四区视频| 欧美体内she精视频在线观看| 无码人妻丰满熟妇区毛片蜜桃精品 | 中文字幕乱码在线播放| 日本三级中国三级99人妇网站| 日韩avvvv在线播放| 国产一二三av| 日韩精品中文字幕一区二区三区 | 日本黄色片在线播放| 精品久久久久久久久久ntr影视| 久久久资源网| 国产日韩欧美日韩大片| 欧美在线观看天堂一区二区三区| 国产chinesehd精品露脸| 午夜av电影一区| 国产69精品久久app免费版| 91亚洲精品在线观看| 亚洲黄色成人| 美国一级黄色录像| 日韩一区二区三区视频在线观看| 国产白丝在线观看| 欧美日韩免费观看一区| 久久精品国产亚洲一区二区三区| 欧美日韩在线国产| 日韩国产高清视频在线| 国产成人精品一区二区三区免费| 久久www视频| 久久久久久**毛片大全| 国产乱人乱偷精品视频a人人澡| 久久久日本电影| jizzjizz欧美69巨大| 亚洲丝袜在线观看| 一本色道a无线码一区v| 麻豆影院在线观看| 久久综合伊人77777麻豆| 九色综合国产一区二区三区| 日本少妇久久久| 中文字幕亚洲二区| 欧美一区 二区| 中文av字幕在线观看| 欧美日韩免费看| 日本电影全部在线观看网站视频| 国产精品日韩欧美一区二区三区| 蜜臀av一区二区在线观看| 日韩免费在线视频观看|