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

螞蟻集團基于 Ray 構建的分布式 AI Agent 框架

人工智能
本文將分享螞蟻最新的基于 Ray 的分布式 Agent 框架,Ragent。目前,螞蟻集團在線上運營著超過 150 萬 CPU 核心,規模已相當龐大,同時我們也在運營 Ray 在中國的社區。

圖片

相信很多人都了解 Ray,它是 OpenAI 用于大模型訓練的底層分布式框架。螞蟻集團早在很久之前就加入了 Ray,且今年 Ray 的 CEO 在夏季發布會上也提到,螞蟻是第一個正式使用并協作開發 Ray 的團隊。我們貢獻了超過 26% 的 Ray 核心代碼,是全球第二大貢獻團隊。目前,螞蟻集團在線上運營著超過 150 萬 CPU 核心,規模已相當龐大,同時我們也在運營 Ray 在中國的社區。

圖片

簡單介紹一下 Ray 在螞蟻內部的發展情況。我們在 2017 年成立了 Ray 團隊,并于 2018 年推出了首個業務場景流圖計算引擎 Geaflow。在 2018 年至 2022 年間的大數據時代,我們基于 Ray 開發了多個計算引擎,如用于流計算和機器學習訓練的 Realtime、Mobius 開源引擎,以及在線推理和科學計算引擎 Mars。同時,我們也貢獻了 Multi-Tenant 架構,Ray 社區今年才開始考慮這種架構,而螞蟻因線上集群規模龐大,早已開始考慮多租戶。

在 2023 到 2024 年大模型時代,我們在美國完成了一項工作 Unified AI Serving,將離線、在線與 AI 推理、AI 部署整合為一個框架,這是我們 150 萬內核業務的核心場景之一。接下來將介紹我們的最新工作,基于 Ray 構建的 AI Agent 框架,主要分為三個部分:背景、動因,以及設計與實現。

一、Background

圖片

首先來看一下基于大語言模型的 Agent(LLM-based Agent)通常需要哪些模塊。

  • 第一個是 Profile 模塊,它定義了 Agent 的個性,即扮演怎樣的角色,比如它可以是一個溫和的旅游助手,執行旅游管理、數據分析等任務。
  • 第二個是 Memory 模塊,包括兩部分:一是 Knowledge,包含行業知識和先驗知識;二是 Experience,記錄 Agent 過去的對話、用戶問題、思考過程及行動結果,這些經驗將幫助 Agent 改進后續的行為,避免重復錯誤。
  • 第三個是 Planning 模塊,用于將復雜任務拆解成更容易執行的子任務。通過這種方式,Agent 可以在文本交互的基礎上完成更廣泛的任務。Planning 常見的算法有 Chain of Thought和Tree of Thought,這些就像程序設計中的流程圖,用來拆解復雜問題。
  • 第四個是 Action 模塊,根據經驗和規劃執行實際任務。與大模型不同,Agent 不僅僅是文本或圖像輸入輸出,而是能對現實世界產生實際影響。Action 模塊的一個關鍵功能是 Function Calling,讓模型調用外部功能,甚至在某些場景中與機械臂等物理設備交互。

這四個模塊是我們認為一個基于大語言模型的 Agent 所需的核心組件。

圖片

我們來看一個簡單的基于 Agent 實現的 RAG 流程。這個 RAG 不同于傳統的計算圖或工作流,而是通過 Agent 來實現的。

  • 首先,Agent 會從用戶那里獲取任務,例如用戶要求從文檔中學習知識,提供了文檔鏈接。
  • 第二步,模型進入思考階段,決定如何開展任務。這里可以使用 planning 模塊中的算法,如 React 或 Chain of Thought。在這個流程中,我們使用了 React 策略,即思考一步,執行一步。
  • 第三步,模型決定采取具體行動。對于 RAG 場景,可以使用工具如 LlamaIndex 或 LangChain 對文檔進行解析,或調用 Lucene 和 VectorDB 進行語義檢索,甚至進行實時搜索。
  • 第四步,將初始思考、選擇的行動及其結果作為三元組(triplet)存儲到 Memory 中,來指導后續工作。
  • 第五步,繼續循環思考和執行,直到完成用戶任務。

特別需要注意的是,右邊的工具分為三類:紅色的 LlamaIndex 用于計算(CPU/GPU 密集型),綠色的 DB 和 Lucene 訪問為 Disk I/O,藍色的則是網絡訪問。Agent 任務中涉及這三種不同的計算任務,傳統模式可能只處理 CPU 或 CPU+IO,但在這里,一個單任務可能包含復雜的混合工作負載。

圖片

在完成 naive RAG Agent 的實現后,接下來就是部署上線。首先,我們將程序封裝成一個服務,放入 Docker 中,然后進行部署。我們的 Agent 平臺已經有大約 500 個 Agent,開發者可以在平臺上使用畫布構建并發布他們的 Agent。上圖中就是我們的一些案例。

圖片

最初,我們的做法很簡單,但很快收到了很多用戶抱怨。用戶常見的問題包括:不清楚為什么 APP 或 Pod 崩潰、缺乏監控 metrics、沒有工作負載監控、無法控制流量等。此外,由于混合工作負載,GPU 利用率通常很低。總結起來,這種簡單的做法顯然不適合生產環境。因此,我們決定將 Agent 平臺分布式化,進行生產化改造。在這個過程中,我們發現場景中確實有許多獨特的挑戰。

二、Motivation圖片

相較于傳統計算或服務型 APP,我們認為 Agent 應用具有高度創造性,不斷涌現出革命性的創意,這也是近年來大模型和 Agent 概念火熱的原因。大家發現這些應用非常有趣,并且持續有新創意涌現,每個創意都需要快速低成本驗證,這在創業和商業中尤為重要。

一旦 PoC 驗證有效,就希望能迅速部署到線上,但這一步非常困難。上線應用涉及眾多模塊:服務、數據庫、數據來源、分布式框架等,對大公司而言,需要與多個團隊合作,小公司雖不需多個團隊,但仍需掌握所有技術。因此,PoC 到上線的過程繁瑣且漫長。此外,用戶任務可能同時涉及 GPU、CPU 和 Service Calling,且 Agent 覆蓋不同業務場景,每個場景的技術棧不同,需要大量兼容適配工作。

圖片

在分布式 Ray 生產化 Agent 過程中,我們對比了三個技術棧層級:底層的 Kubernetes(簡稱 K8S)、上層的算法庫 LangChain 和中間層的 Ray。Ray 之所以居于中間層,是因為它涵蓋豐富的 AI 生態,如 Ray Data 用于數據處理和服務化,以及強化學習和訓練。Ray 緊貼 K8S,為分布式執行調度提供支持。

Kubernetes 的優勢在于底層 API 的靈活性,允許編寫各種 CRD 并整合多種硬件,提供資源控制的完整性;但其缺點是從零開發 AI 程序非常復雜。我們與基于 K8S 的團隊交流發現,許多機器學習工程師并不熟悉 K8S。在螞蟻集團,算法工程師離掌握 K8S 還有較遠距離,這種學習曲線使得我們不太可能直接讓終端用戶使用 K8S。此外,Kubernetes 的 AI 生態相對簡陋,主要因其重心仍在底層。

LangChain 作為上層算法庫,優點在于豐富且易用,類似的 LlamaIndex 庫也非常易上手。它甚至提供 UI 功能,可以一站式開發 Agent 或大模型。然而,其缺點是僅為單機 API。在我們上線簡易版 LangChain 后,發現面臨許多生產化問題,每個問題都需解決。

接下來我們考慮使用 Ray。Ray 的優勢在于提供了一站式的工具箱,支持 AI 工作負載的數據處理、訓練和推理。Ray 的一個主要功能是輕松將本地代碼轉為分布式代碼,只需簡單加注解即可實現遠程進程。并且它在異構資源調度方面表現出色,尤其在 CPU 與 GPU 混合的數據處理中性能優于 Spark。Ray 不綁定特定計算范式(如 MapReduce 或圖計算),而是采用純分布式面向對象編程,提供了高度靈活性。

不過,Ray 也有一些不足:在資源管控上不如 K8S 靈活,因為它是在 K8S 之上再加一層;另外,目前 Ray 在大模型上沒有特定 API,一些外部組件如文件傳輸,需要在 Ray API 中額外封裝。

綜上,我們最終選擇了 Ray,同時也考慮了一些額外的加分項。例如,Ray 的 RuntimeEnv 功能提供了運行時沙箱,利用 container 執行用戶代碼,非常適合大模型場景中的代碼解釋器。它能夠直接啟動一個 Docker 容器,而在其他團隊中需要額外工作。另一個優勢是 Ray 的面向對象編程模式,與 Agent 的工作模式相似。Agent 的個性和配置可以視為對象的靜態資源,操作為成員函數,記憶則是運行時狀態,因此 Agent 很像一個對象。

圖片

決定使用 Ray 后,我們自然開始開發一個基于 Ray 的 Agent 框架。主要考慮點如下:①該框架需提供 Agent 的 API;②利用 Ray 實現從本地代碼到支持異構資源的分布式代碼的擴展;③在多 Agent 場景中,每個 Agent 都是一個分布式進程,我們需要一個框架來協調這些進程,即所謂的 environment;④要兼容不同的庫,如 MetaGPT 和 AutoGen;⑤希望利用 Ray 的沙箱(sandbox)、批處理能力和跨源調度功能。

三、Design & Impl.

圖片

在軟件技術棧中,我們使用 Ray 分為以下幾層:最上層是業務層,包括開發者已編寫的 Agent Apps。其下是 Agent Crafting Platform,這是開發者構建 Agents 的平臺。再下一層是算法庫,如 LangChain 和 MetaGPT,提供與大模型相關的算法和文檔解析功能,這些不在我們的框架實現范圍內。

在這三個業務層之下是 Ragent,它提供分布式 Agent SDK 和執行層,支持 Agent 所需的工具、記憶、環境管理、分布式通信及部署等功能。Ragent 不實現具體算法,而是將用戶代碼分布式化,依賴 Ray 的核心概念如 Task、Actor 和 Object,利用 Ray 的編程原語實現分布式面向對象編程。Ray Data 用于批處理,例如統一清洗和解析用戶文檔,類似于 Spark。Agent 的服務化通過 reserve 實現。使用 Ray 后,我們獲得高編程性能,并具備 Failover(故障轉移)能力、分級調度和共享內存的優勢。最底層是 K8S,用于資源管理和調度。

圖片

使用 Ragent 編寫一個 Agent 時,首先要了解 Ragent 提供的 Agent 概念,這是一個具備 Failover 能力的基礎單元,并內置消息隊列和 Memory。Memory 是 Agent 內部的記憶。由于存在多種 Planning 策略,Ragent 內置了 ReAct 算法,用于重復的 think 和 act 過程。如上圖的簡化版代碼中,通過一個 while True 循環,每次先進行 reasoning(think),獲取 thought 和預期執行的 action,然后實際調用 action,持續在循環中執行。

圖片

Agent 的能力主要來自于其具備的工具,如文檔清洗或制定旅游攻略的能力,這使得 Agent 能夠在功能上超越單純的大模型,因此 Tool 部分至關重要。要為 Agent 定制、加載或注冊一個 tool,我們可以通過注解實現。在 Python 代碼中,比如對 index_doc 函數輸入文檔,使用 Ray Data 和 LangChain 進行處理。用 tool 注解這個函數即可將其注冊到 Agent 中,使 Agent 理解。注冊過程中,需要用自然語言描述其功能、輸入輸出及用途,類似于編程中的 doc string。注冊的每個 tool 會作為 prompt 的一部分輸入到大模型,使得整個 Agent 相當于一個 Ray Actor。

圖片

實現一個簡易版的 RAG Agent 在我們的框架中非常簡單,只需幾行代碼。首先,引入必要的庫后,在 main 函數中初始化一個 Agent,使用內置的 ReAct 算法,并指定大模型為 Qwen。在 profile 中賦予靜態資源后,為 Agent 注冊多個工具,如 Apache Lucene 和 LlamaIndex。我們注冊的 action 包括使用 LlamaIndex 進行文檔索引,Lucene 用于 Elasticsearch,以及 DB 進行語義搜索,這些工具便可實現一個簡單的 RAG。

完成初始化和注冊后,Agent 便可與用戶交互。用戶的第一個 involve 是從 Ray 文檔中學習最新功能,此時 Agent 會調用工具,將用戶提供的文檔索引到 DB 中作為知識的一部分。工具使用 Ray Data 實現,因此在執行階段,Agent 將其作為 Ray Data 的作業提交,批處理輸出到 DB 中每個文檔的知識。

圖片

接下來,用戶可對文檔提問,如詢問 Ray 最新版本的 Ray Data 功能,此時 Agent 會從 DB 中進行字符和語義檢索,經過大模型處理后返回結果。整個過程只需幾行代碼即可完成一個 RAG Agent,不過這是簡易版的。

接下來,我們看一個 Multi-agent 的例子。左邊的圖是 MetaGPT 的實現,展示了如何利用多個 Agent 構建一個軟件公司。每個 Agent 承擔不同職責,如產品經理、架構師、代碼工程師和測試工程師。對于任務如編寫貪吃蛇程序,Agent 按順序協作。產品經理用工具生成設計圖給架構師,架構師再創建技術架構圖。工程師根據用戶需求編寫接口和實現,再交給測試進行 UT,直到程序完成。左圖展示了流程,右圖是用戶交互,比如編寫 FlappyBird,此例子被 Ragent 框架分布式化。

在該框架中,我們實現了一個 environment 組件,用于 task 追蹤,包含用戶任務和每個 Agent 的任務。它構建 workflow,通過 message queue 與 Agent 通信,并保存對話歷史。每個 Agent 作為遠程進程,由 Agent handler 管理。在代碼中,我們先初始化 environment(紫色為  MetaGPT 代碼,橙色為框架代碼),然后初始化架構師、產品經理和 coder 等 agent,為 MetaGPT 代碼進行適配。

初始化四個 Agent 后,將其加入 environment。每個 Agent 描述功能已在 profile 和 system prompt 中定義,注冊后 environment 知道各 Agent 職責。目前還需手動指定 Agent 交互順序,environment 尚不能自動選擇。加入后,環境運行應用,如編寫 FlappyBird 或貪吃蛇。在實踐中,GPT-4 效果較好,能構建設計圖和部分可運行代碼,但其他模型仍難以實現復雜應用,通常在第一輪生成輸出。以上是 Ragent 框架在 Multi-agent 場景的應用。

圖片

接下來是我們未來的一些工作。首先是 Agent Mesh。目前,Agent 框架眾多,但缺乏統一的通信和流程標準。我們希望通過 Agent Protocol 項目,制定一個協議,整合不同框架,實現類似服務網格的通信環境。右圖展示的是我們正在開發的離在線一體架構,這在非 Agent 場景下已實現。由于底層執行層都是 Ray,無論在線還是離線,技術棧相同,我們無需特別定制,能夠結合使用。

在 Agent 場景中,文檔處理等純離線操作通過 Ray Data 實現,第一步可用 Ray Data pipeline 完成離線工作。對于單 Agent 或多 Agent 的二三步,可以實現服務化,每個進程用 Agent Protocol 封裝,實現互通信。這在 Agent 場景中尚未完成,但在計劃中。

我們還需關注底層硬件。目前不需要大量 GPU,但有廠商和開源社區希望支持更多 GPU,如 NPU。以上即是我們的工作計劃。

圖片

責任編輯:姜華 來源: DataFunTalk
相關推薦

2021-09-09 15:45:17

機器學習人工智能Ray

2020-07-15 09:20:48

MyCatMySQL分布式

2023-08-24 08:49:27

2022-03-08 07:22:48

Redis腳本分布式鎖

2023-11-01 18:02:33

RayPython分布式

2015-07-28 10:14:33

HBasehadoop

2025-02-06 09:43:08

HybridFlowRay大語言模型

2015-04-21 09:39:03

javajava分布式爬蟲

2017-10-24 11:28:23

Zookeeper分布式鎖架構

2024-10-29 14:32:45

Golang分布式系統

2025-06-11 13:41:50

2022-03-08 15:24:23

BitMapRedis數據

2017-04-13 10:51:09

Consul分布式

2017-11-03 15:05:56

Storm數據處理服務器

2022-05-11 13:55:18

高可用性分布式彈性

2023-01-06 16:42:28

2025-06-11 08:32:44

2023-06-26 00:14:28

Openjob分布式任務

2024-01-31 22:08:18

分布式重試框架

2019-06-19 15:40:06

分布式鎖RedisJava
點贊
收藏

51CTO技術棧公眾號

91精品国产高清一区二区三密臀| 亚洲精品成人久久久998| 免费在线视频观看| 日韩伦理一区二区三区| 欧美日韩中文字幕一区二区| 亚洲图片都市激情| 丰满人妻av一区二区三区| 午夜亚洲影视| 欧美尺度大的性做爰视频| 97香蕉碰碰人妻国产欧美| 狠狠久久综合| 午夜精品久久久久久不卡8050| 国产日本欧美一区| 黄网站免费在线| 成人影视亚洲图片在线| 精品国产成人系列| 国产无色aaa| 涩涩视频在线播放| 亚洲品质自拍视频| 精品日韩电影| 国产视频手机在线观看| 视频一区在线视频| 久久久久久久国产精品视频| 亚洲一级片在线播放| 精品欠久久久中文字幕加勒比| 一区二区三区日韩欧美| 天天综合色天天综合色hd| 精品久久在线观看| 久久99精品久久只有精品| 欧美亚洲在线视频| 久久久久久久久精| 亚洲va在线| 中文字幕日韩欧美精品在线观看| 五月婷婷激情久久| 国产丝袜在线播放| 亚洲乱码国产乱码精品精可以看| 成人91视频| 91国产免费视频| 丝袜美腿一区二区三区| 97婷婷大伊香蕉精品视频| 午夜精品一区二区三区视频| 成人嫩草影院| 国产亚洲美女久久| 亚洲日本精品视频| 国产成人一区二区三区影院| 精品99一区二区三区| 丰满饥渴老女人hd| 色成人免费网站| 日韩欧美国产黄色| www.浪潮av.com| 高清视频在线观看三级| 亚洲妇熟xx妇色黄| 91专区在线观看| 狠狠躁少妇一区二区三区| 婷婷综合久久一区二区三区| 国产尤物av一区二区三区| 国产日产一区二区| 亚洲免费看黄网站| www.男人天堂网| 国产盗摄精品一区二区酒店| 亚洲午夜激情av| 日韩五码在线观看| 色吧亚洲日本| 在线视频观看一区| 成年人三级黄色片| 国产精品中文| 欧美电影精品一区二区| 国产伦精品一区二区三区精品 | 久久色在线播放| 香蕉成人在线视频| 一区二区不卡| 久久久女女女女999久久| 久久精品美女视频| 久久国产欧美| 国产一区二区在线播放| a在线观看免费| www.在线成人| 欧美一区2区三区4区公司二百| 国产叼嘿视频在线观看| 高清在线成人网| 精品亚洲第一| 欧美猛烈性xbxbxbxb| 亚洲精品美腿丝袜| 久久久久久久中文| 粉嫩91精品久久久久久久99蜜桃| 亚洲自拍欧美精品| 无码播放一区二区三区| 国产成人精品一区二三区在线观看| 亚洲激情图片一区| 国产精品333| 午夜无码国产理论在线| 91麻豆精品国产91久久久久 | 欧美成人精品欧美一级| 欧美三级视频| 国产精品成人国产乱一区| 国产伦子伦对白视频| 成人动漫中文字幕| 性欧美.com| 国产一线二线在线观看 | 中国人与牲禽动交精品| 日本妇女毛茸茸| 久久先锋影音| 9a蜜桃久久久久久免费| 国产一级二级三级在线观看| 亚洲精品免费电影| 最新中文字幕免费视频| 国产亚洲精品美女久久| 日韩中文字幕在线| 久久久久久少妇| 国产91在线|亚洲| 一级做a爰片久久| 最新欧美色图| 欧美成人r级一区二区三区| 亚洲精品成人无码| 影音先锋在线一区| 国产欧美精品在线| 天堂在线中文字幕| 亚洲免费观看高清完整版在线观看熊| 亚洲图片欧洲图片日韩av| 国产91足控脚交在线观看| 欧美午夜精品理论片a级按摩| 久久久久久久少妇| av自拍一区| 久久艳片www.17c.com| 夜夜躁日日躁狠狠久久av| 成人福利在线看| 天堂av在线中文| 久久av影院| 亚洲最新av在线| 国产精品suv一区二区三区| 国产乱码字幕精品高清av | 性人久久久久| 久久久久在线观看| 国产精品久久久久久免费免熟| 久久99久久99小草精品免视看| 成人xxxxx| 在线观看h片| 91传媒视频在线播放| 国产偷人妻精品一区| 欧美精品一区二区三区久久久竹菊| 欧美激情亚洲综合一区| 国产av精国产传媒| 亚洲狼人国产精品| 99精品视频免费版的特色功能| 午夜日韩影院| 欧美伦理91i| 国产成人精品一区二区无码呦| 成人av高清在线| 极品粉嫩国产18尤物| julia中文字幕一区二区99在线| 亚洲福利在线看| 欧美日韩在线观看免费| 国产精品亚洲视频| 人妻激情另类乱人伦人妻| 久久视频社区| 欧美激情一二区| 视频污在线观看| 亚洲va欧美va国产va天堂影院| 性生活免费在线观看| 狠狠色狠狠色综合婷婷tag| 国产97免费视| 91欧美在线视频| 91精品国产麻豆国产自产在线| 亚洲av成人片色在线观看高潮| 成人亚洲一区| 国产成人aa精品一区在线播放| 国产熟女一区二区丰满| 日韩理论片网站| 一区二区三区四区影院| 中日韩男男gay无套| 清纯唯美一区二区三区| 性欧美hd调教| 久久精品国产清自在天天线| 精品国产乱码久久久久久蜜臀网站| www国产精品av| 国产三级日本三级在线播放| 日韩一区亚洲二区| 91在线短视频| 日本在线高清| 色婷婷av一区二区三区在线观看 | 黄网站在线观看| 亚洲美女屁股眼交| 少妇户外露出[11p]| 日本网站在线观看一区二区三区 | 香蕉视频911| 欧洲一区在线电影| 青青青在线视频| 久久影院午夜论| 激情久久综合网| 亚洲国产高清一区| 亚洲精品二区| 国产伦精品一区二区三区免费优势| 欧美成人精品在线| 青青久草在线| 日韩欧美国产三级| 亚洲男人天堂网址| 亚洲综合激情另类小说区| 国产一区二区三区精品在线| 国产成人在线视频网址| 久久久噜噜噜www成人网| 亚洲精品成人影院| 日本在线免费观看一区| 成午夜精品一区二区三区软件| 久久视频在线视频| 麻豆av电影在线观看| 日韩视频在线一区二区| 亚洲精品国产欧美在线观看| 亚洲国产欧美在线| 国产午夜手机精彩视频| 久久精品视频免费| 国产香蕉精品视频| 久久精品99久久久| 亚洲熟妇av一区二区三区 | 亚洲欧美综合一区| 牛牛影视一区二区三区免费看| 欧美激情videos| www.亚洲.com| 精品视频在线播放色网色视频| 国产精品久久久久久久久久久久久久久久久 | 日本一区福利在线| 97se在线视频| 少妇精品视频在线观看| 国产va免费精品高清在线| 国产精品蜜臀| 免费99精品国产自在在线| av资源在线观看免费高清| 精品一区二区三区三区| 蜜臀久久精品久久久久| 日韩欧美一级片| 国产一区二区三区黄片| 欧美日韩国产一级片| 最新在线中文字幕| 在线视频国内一区二区| 无码人妻丰满熟妇精品区| 欧美特级www| 中文字幕在线观看视频网站| 亚洲va在线va天堂| 日韩大片免费在线观看| 午夜精品久久久久久| 日韩av片在线播放| 丁香五六月婷婷久久激情| 日本一区二区网站| 欧美日韩一二三四五区| 九九热精品视频在线| 欧美性猛交xxxx乱大交极品| 日本天堂网在线| 色婷婷综合在线| 男操女视频网站| 欧美色精品天天在线观看视频| 精品视频久久久久| 亚洲一区二区五区| 国产小视频在线看| 五月天丁香久久| 欧美精品韩国精品| 在线观看中文字幕不卡| 中文字幕视频免费观看| 欧美精品高清视频| 精品人妻无码一区二区| 欧美不卡一区二区三区| 亚洲aⅴ乱码精品成人区| 亚洲欧美国产日韩天堂区| 超碰97在线免费观看| 日韩资源在线观看| 污污片在线免费视频| 国内精品一区二区三区四区| 中文一区一区三区高中清不卡免费| 久久天天躁狠狠躁夜夜躁2014| 香蕉av一区二区三区| 亚洲欧洲成视频免费观看| 啊v在线视频| 久久久av网站| 国产精品yjizz视频网| 5566日本婷婷色中文字幕97| 久久爱91午夜羞羞| 91精品免费视频| 欧美大胆视频| 亚洲人成人77777线观看| 国产精品videosex极品| 日本免费成人网| 久久都是精品| 超碰在线免费av| 91在线国产福利| 免费在线观看a级片| 婷婷中文字幕一区三区| 一级黄色a视频| 亚洲电影第1页| 五月香视频在线观看| 久久国产精品网站| 综合毛片免费视频| 成人亚洲激情网| 国产日韩欧美一区二区三区| 性生活免费观看视频| 亚洲一区日韩在线| 日韩欧美中文在线视频| 久久久久久久久97黄色工厂| 顶臀精品视频www| 欧洲亚洲国产日韩| 人妻夜夜爽天天爽| 久久网福利资源网站| 欧美香蕉视频| 国产女主播一区二区| 欧美激情欧美| 欧美牲交a欧美牲交aⅴ免费下载| 亚洲伦理精品| 亚洲一区二区偷拍| 国产午夜精品久久久久久久| 久久一级黄色片| 91精品国产日韩91久久久久久| 91久久精品无码一区二区| 亚洲第一二三四五区| 浪潮av一区| 国产福利视频一区| 国产极品模特精品一二| 992tv成人免费观看| 人人超碰91尤物精品国产| 免费看黄色aaaaaa 片| 洋洋成人永久网站入口| 一道本无吗一区| 一区二区三区视频免费| 在线毛片观看| 精品国产一区二区三区麻豆小说 | 久久精品国产欧美激情| 自拍偷拍亚洲视频| 狠狠色噜噜狠狠色综合久| 欧美午夜精品| 日韩高清一二三区| 亚洲欧美日韩中文播放| 国产精品嫩草影院精东| 国产一区二区三区在线观看网站| 91这里只有精品| 国产激情久久久| 欧美日本成人| 国产一级不卡毛片| 久久久精品免费观看| 欧美男人亚洲天堂| 亚洲欧美视频在线| 黑人巨大精品| 欧美日韩精品综合| 老鸭窝毛片一区二区三区| 自拍视频一区二区| 同产精品九九九| 日韩在线免费看| 青青a在线精品免费观看| 九一成人免费视频| 国产欧美高清在线| 国产欧美日韩不卡| 最新中文字幕免费| 色妞一区二区三区| 91精品麻豆| 97久久国产亚洲精品超碰热| 国产成人精品影院| 日韩免费在线视频观看| 日韩电影免费观看在线观看| 悠悠资源网亚洲青| 日韩欧美亚洲精品| 美女久久久精品| 蜜臀久久精品久久久用户群体| 欧美日韩中文在线| 国产中文字幕在线视频| 国产精品无av码在线观看| 亚洲一本二本| 亚洲午夜久久久久久久久| 黄色精品一区二区| 国产永久av在线| 国产又爽又黄的激情精品视频| 丁香一区二区| 欧美韩国日本在线| 国产精品国产三级国产三级人妇| 日韩精品一区二区在线播放 | 免费av网站在线播放| 2019av中文字幕| 欧美色图国产精品| www.桃色.com| 激情成人在线视频| 国产爆初菊在线观看免费视频网站 | 青娱乐在线视频免费观看| 日韩欧美一级精品久久| h片在线观看视频免费| 日本一区二区在线视频| 国产在线一区二区| 日本一二三区视频| 中文字幕日本精品| 成人爽a毛片| 九色porny91| 亚洲精品久久久久久国产精华液| 中文字幕激情视频| 欧美国产精品va在线观看| 久久综合色占| 人妻精油按摩bd高清中文字幕| 国产精品免费av| 丁香六月色婷婷| 国产精品高清在线观看| 影音先锋中文字幕一区| 国产wwwwxxxx| 亚洲毛片在线观看.| 日韩一区二区三区精品视频第3页| 亚洲一区美女| 99精品视频一区二区三区| ,一级淫片a看免费| 7m第一福利500精品视频|