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

LangChain+Ollama+DeepSeek AI應用開發全鏈路認知:從模型包裝器到提示詞模版 Agent

開發 前端
組件是一個具有明確功能和用途的單元?。 類似流程圖中的處理框,組件包括提示工程模版?, LLM模型包裝器、聊天模型包裝器?等以及和數據增強相關?的一系列工具和接口。可以把它們看作數據處理流水線上的各個工作站。

lang Chain 基本認知

在開源項目中,它這樣介紹自己:

LangChain 是一個用于開發由大型語言模型(LLMs)驅動的應用程序的框架。對于這些應用,LangChain 簡化了整個應用生命周期:

  • 開源庫: 使用 LangChain 的開源組件和第三方集成構建您的應用程序。使用 LangGraph 構建具有流處理和人機交互支持的帶狀態代理。
  • 生產化: 使用 LangSmith 檢查、監控和評估您的應用程序,以便您可以不斷進行優化并充滿信心地進行部署。
  • 部署: 使用 LangGraph 平臺將您的 LangGraph 應用程序轉換為生產就緒的API和助手。LangGraph是一個用于構建具有LLMs的狀態和多主體應用程序的庫,用于創建代理和多代理工作流。

對應的項目地址:

  • langchain: https://github.com/langchain-ai/langchain
  • langgraph: https://github.com/langchain-ai/langgraph
  • langsmith: https://github.com/langchain-ai/langsmith-sdk

這里我們只關注 langchain ,langgraph 和 langsmith 在之后的博文和小伙伴分享

Lang Chain 應用場景: 問答系統,數據處理與管理,Agent ,RAG 等

lang Chain 架構

lang Chain 通過 組件和鏈提供基礎能力,類似我們常常畫的流程圖,工作流引擎一樣。

組件: 組件是一個具有明確功能和用途的單元。 類似流程圖中的處理框,組件包括提示工程模版, LLM模型包裝器、聊天模型包裝器等以及和數據增強相關的一系列工具和接口。可以把它們看作數據處理流水線上的各個工作站。每個組件都有其特定的職責,如處理數據的輸入輸出、轉化數據格式。

鏈: 鏈是將各種組件連接在一起,它確保組件之間的無縫集成和在程序運行環境中的高效調用。

Lang Chain 核心模塊

1.模型 I/O(Model IO)

LangChain 提供了與任何大語言模型均適配的模型包裝器(模型 I/0 的功能)分為 模型包裝器(LLM) 和聊天模型包裝器(Chat Model)。

LangChain 自身并不提供大語言模型而是提供統一的模型接口。模型包裝器這種包裝方式允許開發者與不同模型平臺底層的 API進行交互,從而簡化了大語言模型的調用,降低了開發者的學習成本。此外,其輸出解析器也能幫助開發者從模型輸出中提取所需的信息。

模型包裝器的提示詞模板功能使得開發者可以模板化、動態選擇和管理模型輸人

2.數據增強(Data Connection)

許多LLM 應用需要的用戶特定數據并不在模型的訓練集中。LangChain 提供了加載、轉換、存儲和査詢數據的構建塊。開發者可以利用文檔加載器從多個來源加載文檔,通過文檔轉換器進行文檔切割、轉換等操作。矢量存儲和數據檢索工具則提供了對嵌人數據的存儲和查詢功能。

3.鏈( Chain)

單獨使用LLM 對于簡單應用可能是足夠的,但面對復雜的應用往往需要將多個 LLM 模型包裝器或其他組件進行鏈式連接。LangChain 為此類鏈式應用提供了接口。 有點類似于設計模式中的構建者,按需 build ,每次都返回實例本身

4.記憶(Memory)

LangChain 提供了多種工具幫助開發者為系統添加記憶功能。記憶功能可以獨立使用,也可以無縫集成到鏈中。記憶模塊需要支持兩個基本操作,即讀取和寫入。

在每次運行中,鏈首先從記憶模塊中讀取數據,然后在執行核心邏輯后將當前運行的輸人和輸出寫入記憶模塊,以供未來引用。通俗的講,就是會申請一塊內存存房歷史會話數據。

5.Agent

核心思想是利用LLM 選擇操作序列。即把之后的組件調用的決策權交給 LLM,在鏈中,操作序列是硬編碼的,而在代理(Agent)代理中,大語言模型被用作推理引擎,確定執行哪些操作,以及它們的執行順序。

6.回調處理器(Callback)

LangChain 提供了一個回調系統,允許開發者在LLM應用的各個階段對狀態進行干預。這對于日志記錄、監視、流處理等任務非常有用。通過API提供的回調參數,開發者可以訂閱這些事件。

Demo 實戰

理論學了那么多,我看幾個簡單的Demo 認識一下。

我們通過 Ollama 在本地部署 DeepSeek-R1 蒸餾模型,通過 langChain 調用。

下載模型,啟動 Ollama 服務。

PS C:\Users\Administrator> ollama list
NAME                  ID              SIZE      MODIFIED
deepseek-r1:latest    0a8c26691023    4.7 GB    3 seconds ago
deepseek-r1:32b       38056bbcbb2d    19 GB     2 weeks ago
deepseek-r1:14b       ea35dfe18182    9.0 GB    2 weeks ago
deepseek-r1:8b        28f8fd6cdc67    4.9 GB    2 weeks ago
bge-m3:latest         790764642607    1.2 GB    2 weeks ago
PS C:\Users\Administrator> ollama serve
Error: listen tcp 127.0.0.1:11434: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
PS C:\Users\Administrator> ollama serve
2025/03/09 01:22:39 routes.go:1187: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION: HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_INTEL_GPU:false OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:C:\\Users\\Administrator\\.ollama\\models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://*] OLLAMA_SCHED_SPREAD:false ROCR_VISIBLE_DEVICES:]"
time=2025-03-09T01:22:39.303+08:00 level=INFO source=images.go:432 msg="total blobs: 14"
time=2025-03-09T01:22:39.304+08:00 level=INFO source=images.go:439 msg="total unused blobs removed: 0"
time=2025-03-09T01:22:39.306+08:00 level=INFO source=routes.go:1238 msg="Listening on 127.0.0.1:11434 (version 0.5.7)"
time=2025-03-09T01:22:39.306+08:00 level=INFO source=routes.go:1267 msg="Dynamic LLM libraries" runners="[cuda_v12_avx rocm_avx cpu cpu_avx cpu_avx2 cuda_v11_avx]"
time=2025-03-09T01:22:39.306+08:00 level=INFO source=gpu.go:226 msg="looking for compatible GPUs"
time=2025-03-09T01:22:39.306+08:00 level=INFO source=gpu_windows.go:167 msg=packages count=1
time=2025-03-09T01:22:39.308+08:00 level=INFO source=gpu_windows.go:183 msg="efficiency cores detected" maxEfficiencyClass=1
time=2025-03-09T01:22:39.308+08:00 level=INFO source=gpu_windows.go:214 msg="" package=0 cores=12 efficiency=4 threads=20
time=2025-03-09T01:22:39.448+08:00 level=INFO source=types.go:131 msg="inference compute" id=GPU-e65029a6-c2f9-44b1-bd76-c12e4083fa4c library=cuda variant=v12 compute=8.6 driver=12.8 name="NVIDIA GeForce RTX 3060" total="12.0 GiB" available="11.0 GiB"

LLMs 模型包裝器

下面為一個 基本的 Demo,使用 llm 模型包裝器,進行預測推理,

  • invoke 是一個通用方法,用于同步調用模型、工具或組件的主要功能。它的核心作用是向目標對象傳遞輸入數據并獲取輸出結果。
  • stream 是 LangChain 等大語言模型(LLM)框架中用于流式逐塊生成文本的核心方法。它的核心作用是:實時獲取模型輸出的片段(chunk),適用于需要逐步展示生成內容、降低延遲感知或處理長文本的場景。
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File    :   demo.py
@Time    :   2025/03/09 01:13:15
@Author  :   Li Ruilong
@Version :   1.0
@Contact :   liruilonger@gmail.com
@Desc    :   LangChain Demo
"""

# here put the import lib
#pip install langchain langchain-community ollama -i https://pypi.tuna.tsinghua.edu.cn/simple

from langchain_community.llms import Ollama

# 初始化 Ollama 連接
llm = Ollama(
    base_url="http://localhost:11434",  # Ollama 默認端口
    model="deepseek-r1:latest",
    temperature=0.3,     # 控制創造性(0-1)
    num_ctx=4096         # 上下文長度
)

# 單次對話
response = llm.invoke("LLM 是什么?")
print("回答:", response)

print("===========================================================")

# 流式輸出(適合長文本)
for chunk in llm.stream("LLM 如何學習?"):
    print(chunk, end="", flush=True)

下面為 invoke 輸出結果

LLM 是 "Large Language Model" 的縮寫,即大型語言模型。這類模型由深度學習驅動,能夠模擬人類-like 思維過程,并且能夠生成和理解自然語言文本。

### 主要特點
1. **復雜性**:通常包含數百億參數。
2. **規模**:參數數量多,計算資源要求高。
3. **訓練數據**:依賴海量文本數據進行微調或預訓練。
4. **任務**:包括文本生成、問答、翻譯等。

.....................

prompts 提示詞模版

提示詞模板 這里使用 PromptTemplate 模塊,這是一個最基本的實現,下面Demo 中

# 創建提示模板
prompt = PromptTemplate(
    input_variables=["topic"],
    template="用中文寫一首關于 {topic} 的五言絕句:"
)

input_variables 用于定義變量參數,template 用于定義模版

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File    :   demo copy 2.py
@Time    :   2025/03/09 03:19:59
@Author  :   Li Ruilong
@Version :   1.0
@Contact :   liruilonger@gmail.com
@Desc    :   None
"""

# here put the import lib



# here put the import lib
#pip install langchain langchain-community ollama -i https://pypi.tuna.tsinghua.edu.cn/simple

from langchain.chains import LLMChain
from langchain_community.llms import Ollama
from langchain_core.prompts import PromptTemplate

# 初始化模型
llm = Ollama(model="deepseek-r1")

# 創建提示模板
prompt = PromptTemplate(
    input_variables=["topic"],
    template="用中文寫一首關于 {topic} 的五言絕句:"
)

# 構建 Chain
chain = LLMChain(llm=llm, prompt=prompt)

# 執行調用
print(chain.run("秋天的楓葉"))

輸出結果:

<think>
好的,用戶讓我用中文寫一首關于秋天楓葉的五言絕句。首先,我得理解用戶的需求,他們可能想表達對秋天的贊美或者懷念。五言絕句結構緊湊,每句五個字,押韻,所以需要 簡潔有力。

接下來,考慮秋天楓葉的特點:紅葉、蕭瑟、自然的變化。想到楓葉的顏色變化,紅葉象征著成熟和熱情。我需要用一些生動的詞語來描繪楓葉的狀態,比如“染”、“飛舞”等。

然后,考慮整體意境。秋天不僅是季節變換,還有一種寧靜或深遠的感覺。可能加入一些自然元素,如山色、風霜,來增強畫面感。

結構上,四句每句五個字,押韻。首句點明主題,中間兩句描繪景象,末句升華主題。比如:

第一句:“紅葉正秋染”,引出季節和顏色變化。
第二句:“山色起風霜”,描繪環境的變化和寒意。
第三句:“一片飛舞地”,形容紅葉的狀態。
第四句:“滿城換新裝”,表現秋天帶來的變化。

這樣組合起來,整首詩既有畫面感,又表達了對秋天的熱愛。最后檢查押韻是否合適,確保每句末尾字的平仄和諧。

總的來說,這首詩通過描繪紅葉的顏色和動態,以及整體環境的變化,傳達出秋天的美麗和成熟。
</think>

《題陶山楓》
紅葉正秋染,山色起風霜。
一片飛舞地,滿城換新裝。
PS C:\Users\Administrator\Documents\GitHub\LangChainDemo>

Agent Demo

相對于于傳統的方式,Agent 提供了記憶功能和決策功能。

我們先來看一個記憶功能的 Demo。

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File    :   demo_memory.py
@Time    :   2025/03/09 03:21:59
@Author  :   Li Ruilong
@Version :   1.0
@Contact :   liruilonger@gmail.com
@Desc    :   None
"""

# here put the import lib


# here put the import lib
#pip install langchain langchain-community ollama -i https://pypi.tuna.tsinghua.edu.cn/simple

from langchain.chains import ConversationChain
from langchain.memory import ConversationBufferWindowMemory
from langchain_community.llms import Ollama

llm = Ollama(model="deepseek-r1")

# 保留最近3輪對話歷史
memory = ConversationBufferWindowMemory(k=3)
conversation = ConversationChain(llm=llm, memory=memory)

# 多輪對話示例
print(conversation.run("幫我寫一個斐波那契數列的Python函數"))
print(conversation.run("添加類型注解"))
print(conversation.run("優化時間復雜度"))

下面為 Agent 的輸出。

<think>
嗯,用戶想讓我幫他寫一個斐波那契數列的Python函數。首先,我需要確認他具體想要什么樣的斐波那契數列。常見的有兩種版本:一種是從第0項開始,另一種是從第1項開始。 
............
<think>
當然!讓我為您添加類型注解到斐波那契數列函數中。以下是帶有具體類型的Python函數:
..............................
<think>
嗯,用戶想讓我幫他優化斐波那契數列函數的時間復雜度。首先,我需要了解當前的實現方法是什么樣的。之前的回復提供了一個迭代版本,時間復雜度是O(n),這對大多數用途 來說已經足夠高效了。
...................

下面為一個帶記憶和決策功能的 Agent Demo

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File    :   demo_agent.py
@Time    :   2025/03/09 03:46:56
@Author  :   Li Ruilong
@Version :   1.0
@Contact :   liruilonger@gmail.com
@Desc    :   None
"""

# here put the import lib


# here put the import lib

from langchain_community.llms import Ollama
from langchain_community.chat_models import ChatOllama
from langchain.agents import AgentType, initialize_agent, Tool
from langchain.memory import ConversationBufferWindowMemory
from langchain_community.tools import WikipediaQueryRun
from langchain_community.utilities import WikipediaAPIWrapper

# 自定義文學分析工具(無需API)
class BookQuotesTool:
    @staticmethod
    def search_quotes(book_title: str, author: str = "木心") -> str:
        """模擬文學語錄檢索(實際可接入本地知識庫)"""
        quotes_db = {
            "素履之往": [
                "生命好在無意義,才容得下各自賦予意義。",
                "所謂無底深淵,下去,也是前程萬里。",
                "歲月不饒人,我亦未曾饒過歲月。"
            ]
        }
        return"\n".join(quotes_db.get(book_title, ["暫未收錄該作品語錄"]))

# 配置本地模型
llm = Ollama(model="deepseek-r1:latest", temperature=0.3)
chat_model = ChatOllama(model="deepseek-r1:latest")

# 初始化記憶系統
memory = ConversationBufferWindowMemory(
    memory_key="chat_history",
    k=5,
    return_messages=True
)

# 構建定制化工具集
tools = [
    Tool(
        name="LiteratureSearch",
        func=lambda query: BookQuotesTool.search_quotes("素履之往"),
        description="用于檢索木心《素履之往》的經典語錄"
    ),
    WikipediaQueryRun(
        api_wrapper=WikipediaAPIWrapper(top_k_results=1, lang="zh")
    )
]

# 創建帶文學分析能力的Agent
agent = initialize_agent(
    tools,
    chat_model,
    agent=AgentType.CHAT_CONVERSATIONAL_REACT_DESCRIPTION,
    memory=memory,
    verbose=True,
    handle_parsing_errors=True,
    max_iterations=3# 限制搜索深度
)

# 測試用例
queries = [
    "列舉《素履之往》中關于時間的哲理語句",
    "這本書里如何闡述生命的意義?",
    "將第二句語錄用英文翻譯"
]

for q in queries:
    print(f"問題:{q}")
    print(agent.run(q))
    print("\n" + "="*50 + "\n")

下面為輸出結構,我們可以看到 第一個到第二個問題,體現記憶功能,第二個問題,到第三個問題是由第二個問題的輸出,決策第三個問題的答案。

問題:列舉《素履之往》中關于時間的哲理語句
C:\Users\Administrator\Documents\GitHub\LangChainDemo\demo\demo_agent.py:78: LangChainDeprecationWarning: The method `Chain.run` was deprecated in langchain 0.1.0 and will be removed in 1.0. Use :meth:`~invoke` instead.
  print(agent.run(q))

> Entering new AgentExecutor chain...
<think>
好,我現在要回答用戶的問題:“列舉《素履之往》中關于時間的哲理語句”。首先,我需要理解用戶的需求。他們想要找到《素履之往》中的時間相關的哲理句子。

接下來,我會回想一下《素履之往》的內容。這是一部哲學著作,主要討論生活態度和處世之道。作者在這本書中強調的是內心修持的重要性,而時間并不是特別受重視的一方面 。因此,我需要確認是否有關于時間的直接論述。

如果找不到直接提到時間的句子,我可以考慮其他方法。例如,通過分析作者的觀點來間接理解他對時間的看法。但通常情況下,這種書更注重內在修養而非時間管理或哲學中的 時間概念。

綜上所述,可能《素履之往》中并沒有專門討論時間的哲理句子。因此,我應該建議用戶如果沒有找到相關的內容,可以嘗試查閱相關的注釋或學術評論,了解是否有學者對其中 的時間主題有解讀。
</think>

> Finished chain.
由于《素履之往》主要關注的是人的日常生活態度和處世之道,而時間并不是其核心討論的主題,因此可以推測書中并未專門列出關于時間的哲理語句。為了更全面地了解,您可 以查閱相關注釋或學術評論以獲取對時間主題的解讀。

==================================================

問題:這本書里如何闡述生命的意義?

> Entering new AgentExecutor chain...
<think>
好的,現在我要分析用戶的問題:“這本書里如何闡述生命的意義?” 用戶提到的是《素履之往》,而我之前已經告訴過他們,這本書主要討論的是處世態度和生活態度,并沒有專門探討時間或其他主題的哲理語句。所以,我應該建議他們查閱相關的注釋或學術評論來了解書中關于生命意義的內容。

接下來,用戶要求列舉關于時間的哲理語句,但由于《素履之往》并沒有涉及時間主題,所以最好的辦法是引導他們去尋找相關資料。我需要提醒用戶,如果他們想了解更多關于 生命的意義,可以參考其他資源,比如注釋、評論或學術研究。

最后,按照指示,我應該輸出一個JSON格式的指令,告訴用戶使用文學搜索工具來查找相關的語錄。這樣他們就能找到更多的信息了。
</think>


{
    "action": "LiteratureSearch",
    "action_input": "《素履之往》中關于生命意義的經典語錄有哪些?"
}


Observation: 生命好在無意義,才容得下各自賦予意義。
所謂無底深淵,下去,也是前程萬里。
歲月不饒人,我亦未曾饒過歲月。
Thought:<think>
...............................
> Finished chain.

==================================================

問題:將第二句語錄用英文翻譯

> Entering new AgentExecutor chain...
<think>
Alright, I need to help the user translate the second sentence of "素履之往" into English. First, let me recall what that sentence is about.

From what I remember, the second sentence translates something like "The journey of life is best traveled alone." That's a pretty common translation, so it makes sense if it's from this book.

Now, to make sure I'm accurate, I'll think through why that would be an appropriate translation. The wording in Chinese emphasizes independence and personal experience, which aligns with the English phrase about traveling alone for growth.

I should also consider if there are any nuances or alternative translations suggested by experts, but from what I know, this is a widely accepted version.
</think>

{
    "action": "Final Answer",
    "action_input": "The journey of life is best traveled alone."
}


> Finished chain.
The journey of life is best traveled alone.

==================================================

PS C:\Users\Administrator\Documents\GitHub\LangChainDemo>

Lang Chain 表達式

類似 Linux  中的管道操作,LangChain 中也可以通過管道符鏈接組構成一些常見表達式。比如 提示詞模板+模型包裝器,提示詞模板+模型包裝器+輸出解析器

下面是一個 基礎 Demo

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
@File    :   demo_prompts.py
@Time    :   2025/03/09 03:17:01
@Author  :   Li Ruilong
@Version :   1.0
@Contact :   liruilonger@gmail.com
@Desc    :   None
"""

# here put the import lib
#pip install langchain langchain-community ollama -i https://pypi.tuna.tsinghua.edu.cn/simple

from langchain_community.llms import Ollama
from langchain.prompts import ChatPromptTemplate

# 初始化 Ollama 連接
llm = Ollama(
    base_url="http://localhost:11434",  # Ollama 默認端口
    model="deepseek-r1:latest",
    temperature=0.3,     # 控制創造性(0-1)
    num_ctx=4096         # 上下文長度
)

prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一個Linux 性能調優專家,現在請回答客戶的問題"),
    ("human", "{input}")
])

chain = prompt | llm
print(chain.invoke({"input": "CPU 使用率 100% 如何排查?"}))
<think>
嗯,用戶說他的CPU使用率一直顯示100%,這可能是個問題。首先,我得考慮一下是不是系統出現了死循環或者進程卡住了。比如,后臺運行了很多程序,特別是那些長時間運行的腳本或服務,可能會占用大量的CPU資源。
.....................................
總之,要排查CPU使用率100%的問題,需要從系統資源、進程行為、磁盤I/O以及軟件配置等多個方面進行全面檢查,逐步縮小范圍找到具體原因。
</think>

如果您的系統顯示CPU使用率為100%,這通常意味著系統的資源被耗盡或存在一些問題。以下是一些可能的原因和排查步驟:

### 1. **檢查進程占用**
   - 使用命令 `top` 或 `htop` 查看當前運行的進程,確認是否有進程長時間運行或占用大量CPU資源。
     ```bash
     top
     ```
   - 如果發現某個進程的CPU使用率持續在100%,可能是該進程存在問題。

。。。。。。。。。。。。。。。。。。

責任編輯:武曉燕 來源: 山河已無恙
相關推薦

2025-05-22 02:00:00

AI人工智能前端

2025-11-04 07:15:00

LangChain大模型AI

2025-08-29 01:22:00

LangChainLangGraphAI

2025-09-05 09:03:46

2025-02-26 01:00:00

DeepSeek提示詞技巧

2023-01-30 22:34:44

Node.js前端

2025-02-11 12:15:57

2025-03-07 08:28:56

2025-05-22 06:48:50

RAGAI應用開發框架DeepSeek

2025-07-07 08:27:22

2025-03-24 10:37:15

2017-10-31 09:43:31

2025-03-26 08:01:18

2025-10-27 02:25:00

2025-02-20 09:27:46

2024-04-10 10:28:47

2021-01-14 15:07:33

人工智能游戲網絡

2025-05-09 06:30:52

點贊
收藏

51CTO技術棧公眾號

亚洲精品在线视频免费观看 | 800av在线免费观看| 欧美日韩大片在线观看| 激情亚洲影院在线观看| 1024精品久久久久久久久| 欧美性开放视频| 欧美极品欧美精品欧美视频| 性欧美videossex精品| 无码国产精品高潮久久99| 午夜久久久久| 91麻豆精品国产自产在线 | 欧美日韩播放| 亚洲高清视频在线| 99在线首页视频| 天天操天天摸天天舔| 欧美日韩不卡| 亚洲在线视频网站| yellow视频在线观看一区二区| 日本一级黄色录像| 高潮久久久久久久久久久久久久| 亚洲天堂网中文字| 成人在线精品视频| 中国毛片直接看| 亚洲国产一区二区久久| 国产精品区一区二区三| 国产精品 欧美在线| 熟女俱乐部一区二区视频在线| а√在线中文在线新版| 国产综合久久| 欧美哺乳videos| 加勒比海盗1在线观看免费国语版| 这里只有精品免费视频| 日韩欧美中字| 欧美精品三级在线观看| 在线电影看在线一区二区三区| 中文字幕久久熟女蜜桃| 区一区二视频| 在线综合视频播放| 中文字幕国产传媒| 欧美一区二区三区| 国产精品一二三在| 久久久久亚洲精品| 女人被狂躁c到高潮| 成人性生交大片免费观看网站| 久久日韩粉嫩一区二区三区| 国产高清在线不卡| 中文字幕视频网站| gogogo高清在线观看一区二区| 在线视频一区二区免费| 伊人久久大香线蕉午夜av| 日韩porn| 精品中文字幕一区二区小辣椒| 欧美不卡视频一区发布| 中文字幕一区二区三区乱码不卡| 日韩理论视频| 国产欧美日韩另类视频免费观看 | 精品无码久久久久久久久| 激情亚洲另类图片区小说区| 欧美日韩亚洲精品内裤| 日韩影视精品| 国产av一区二区三区| 亚洲精品人人| 丝袜亚洲另类欧美重口| 免费黄视频在线观看| 中文字幕资源网在线观看免费| 国产欧美一区二区三区沐欲| 免费亚洲一区二区| 国产男男gay网站| 99热这里只有精品8| 在线日韩精品视频| 伊人久久一区二区三区| 999国产精品一区| 在线观看视频一区二区| 欧美亚洲日本在线观看| 日本不卡影院| 国产日本一区二区| 亚洲已满18点击进入在线看片 | 日本性生活一级片| 欧美中文一区| 这里是久久伊人| 国产一级二级av| av成人在线看| 黄色精品一区二区| 最新黄色av网站| 国产在线免费观看| 99久久久精品| 147欧美人体大胆444| 老熟妇仑乱一区二区av| 女人天堂亚洲aⅴ在线观看| 欧美人与性动交| 国产91在线播放九色| 亚洲精品在线观看91| 一区二区三区精品99久久| 黄色av片三级三级三级免费看| 小说区图片区色综合区| 日韩美女在线视频| 国产又黄又猛的视频| 亚洲天堂av在线| 在线视频观看一区| 久久久国产精品久久久| 色先锋久久影院av| 深夜精品寂寞黄网站在线观看| 久久午夜无码鲁丝片| 日韩国产成人精品| 欧美洲成人男女午夜视频| 欧美黄片一区二区三区| 欧美成人激情| 一区二区三区美女xx视频| www.xxxx日本| 另类国产ts人妖高潮视频| 97精品视频在线观看| 欧美成人免费观看视频| 亚洲综合日韩| 91成人在线视频| 日韩免费不卡视频| 羞羞答答成人影院www| 亚州欧美日韩中文视频| 在线黄色av网站| 日韩av电影天堂| 国产91色在线| 黄色污污网站在线观看| 久久在线91| 国产成人在线亚洲欧美| 亚洲精品一级片| 成人午夜碰碰视频| 精品欧美一区二区在线观看视频| 欧美 日韩 综合| 成人av网址在线观看| 精品乱码一区| 2021国产在线| 午夜伊人狠狠久久| 日韩在线视频在线观看| 中文在线中文资源| 日韩欧美高清在线| 国产男女猛烈无遮挡在线喷水| 欧美国产小视频| 日韩av免费网站| 欧美在线精品一区二区三区| 中文字幕在线不卡一区| 特色特色大片在线| 国产黄色精品| 中文字幕欧美专区| 91日韩中文字幕| 在线日韩电影| 国产高清一区二区三区| 香蕉视频黄色片| 一区二区三区精品在线观看| 91极品尤物在线播放国产| 久久av免费看| 国产91在线播放精品91| 婷婷国产在线| 国产精品二区一区二区aⅴ污介绍| 国产91美女视频| 亚洲精品456| 久久精品一偷一偷国产| 国产精品变态另类虐交| 久久精品九九| 久久五月天婷婷| 午夜激情电影在线播放| 日韩av最新在线| 三级黄色片在线观看| 捆绑紧缚一区二区三区视频| 成人18视频| 欧美人与动牲性行为| 亚洲成年人影院在线| 先锋影音av在线| 国产精品啊啊啊| 成人av电影免费| 国内激情视频在线观看| 亚洲精品中文字幕有码专区| 欧美日韩在线国产| 国产黄色成人av| 欧美一区1区三区3区公司| 怡红院红怡院欧美aⅴ怡春院| 在线成人小视频| 私库av在线播放| va亚洲va日韩不卡在线观看| 超碰97人人射妻| 激情综合婷婷| 伊人伊成久久人综合网站| 精品乱码一区内射人妻无码| 国产精品天美传媒| 日韩av一二三四| 1204国产成人精品视频| 视频直播国产精品| 国产三级伦理片| 性久久久久久久久久久久| 精品人妻无码一区二区三区 | 国产精品秘入口18禁麻豆免会员| 免费成人av| 91欧美日韩一区| 亚洲日本中文字幕在线| 欧美私模裸体表演在线观看| 丝袜美腿中文字幕| 最新日韩av| 欧洲一区二区在线| 亚洲不卡在线| 欧美成人国产va精品日本一级| 亚洲AV午夜精品| 日本道色综合久久| 能免费看av的网站| 国产美女一区二区| 91精品国产吴梦梦| 色哟哟精品丝袜一区二区| 91精品久久久久久久久不口人| 国产一二在线观看| 日韩欧美成人一区| 欧美在线视频精品| 黄色一区二区三区| 永久看片925tv| 亚洲国产精品成人综合色在线婷婷 | h片在线播放| 欧美日韩五月天| 国产视频不卡在线| 日本不卡视频在线| 国产深夜男女无套内射| 女人抽搐喷水高潮国产精品| 国产免费一区视频观看免费| 香蕉视频在线看| 欧洲亚洲国产日韩| 香蕉视频一区二区| 一区二区三区中文字幕电影| 最好看的中文字幕| 男人的j进女人的j一区| 最新精品视频| 精品美女久久久| 久久riav二区三区| 日韩美女在线看免费观看| 欧美大荫蒂xxx| 天天操天天干天天舔| 欧美日韩在线免费| 国产亚洲小视频| 亚洲激情在线激情| 国产老头老太做爰视频| 日本一区二区三区在线不卡| 玖草视频在线观看| 不卡视频在线观看| av av在线| 国产成人午夜片在线观看高清观看| 三上悠亚在线一区二区| 亚洲精品在线观看91| 神马影院午夜我不卡| 伊人国产精品| 韩国国内大量揄拍精品视频| 超碰在线免费公开| 久久精品视频播放| 国产精品一卡二卡三卡| 亚洲第一区在线| 亚洲精品97久久中文字幕| 91麻豆精品91久久久久同性| 一级黄色片免费| 伊人夜夜躁av伊人久久| www日韩在线| 亚洲精品中文字幕乱码三区| 亚洲中文字幕无码av| 成人黄色在线看| 中文字幕精品视频在线| 男人操女人的视频在线观看欧美 | 波多野结衣在线播放| 亚洲欧美制服综合另类| 国产熟女精品视频| 在线不卡a资源高清| 国产在成人精品线拍偷自揄拍| 亚洲最色的网站| 久草视频在线免费看| 亚洲自拍偷拍网站| 日韩精品在线不卡| 在线观看亚洲专区| 国产精品呻吟久久| 日韩欧美国产1| 青梅竹马是消防员在线| 一区二区三区四区在线观看视频| 在线看av的网址| 亚洲国产美女精品久久久久∴| 亚洲影视一区二区| 欧美一区二区三区色| 无码人妻丰满熟妇精品区| 色欧美片视频在线观看在线视频| 日韩精选在线观看| 欧美日韩免费网站| 销魂美女一区二区| 在线播放日韩导航| 蜜臀av午夜精品| 亚洲深夜福利在线| 麻豆传媒视频在线观看免费| 色综合导航网站| 一二三四视频在线中文| 国产美女精品视频免费观看| 日韩一区二区三区色| 久久精品aaaaaa毛片| 欧美韩日一区| 3d动漫一区二区三区| 另类中文字幕网| 少妇精品无码一区二区| 国产性色一区二区| 欧美高清视频一区二区三区| 91黄色激情网站| 国产精品久久久久久久一区二区 | 欧美吻胸吃奶大尺度电影| www.好吊色| 555www色欧美视频| 香蕉人妻av久久久久天天| zzijzzij亚洲日本成熟少妇| av中文字幕一区二区三区| 国产视频欧美视频| 欧美日韩视频在线播放| 欧美在线观看视频| 中文字幕在线直播| 亚洲综合第一页| 国产亚洲一区二区三区啪| 久久国产手机看片| 欧美1区2区视频| 男女污污的视频| 不卡的电视剧免费网站有什么| 操她视频在线观看| 91久久精品日日躁夜夜躁欧美| 性欧美videos另类hd| 中文字幕亚洲在线| 一区二区视频免费完整版观看| www.一区二区三区| 天天做天天爱天天综合网2021| 日韩影片在线播放| 国产精品日本| 欧美牲交a欧美牲交aⅴ免费下载| 国产在线精品一区二区夜色| 国产又大又粗又爽的毛片| 午夜久久电影网| 精品国产免费无码久久久| 最近中文字幕mv在线一区二区三区四区| 国产理论在线| 国产精品视频福利| 国产厕拍一区| 亚洲五码在线观看视频| 奇米在线7777在线精品| 日韩人妻无码一区二区三区| 亚洲国产综合视频在线观看| 国产精品美女久久久久av爽| 色综合av在线| 成人小视频在线播放| 日韩精品福利网站| 久热在线观看视频| 精品国产乱码久久久久软件| 很黄很黄激情成人| 在线播放av网址| 99re免费视频精品全部| 免费在线观看你懂的| 精品国产户外野外| 亚洲欧洲精品视频| 浅井舞香一区二区| 欧美日韩播放| 国产高清视频网站| 日本一二三不卡| 91精东传媒理伦片在线观看| 日韩中文字幕网| 青青草国产一区二区三区| 中文字幕日韩精品一区二区| 极品少妇一区二区三区精品视频 | 中文字幕在线国产精品| 狠狠久久综合| 懂色av一区二区三区在线播放| 欧美体内she精视频在线观看| 日日摸日日碰夜夜爽av| 91蜜桃视频在线| 99久久婷婷国产综合| 在线不卡中文字幕| 大黄网站在线观看| 欧美精品在线一区| 99国产精品久久久久久久成人热| 日韩av无码一区二区三区不卡| 日韩欧美精品网站| 日本黄色片在线观看| 成人做爰66片免费看网站| 午夜在线视频一区二区区别| 日韩女同一区二区三区 | 韩国中文字幕hd久久精品| 在线观看日韩av| 日日夜夜综合| 欧美一级免费播放| 国产精品综合久久| 成人在线免费看视频| 国产亚洲欧美aaaa| 最新欧美色图| youjizz.com亚洲| 蜜桃传媒麻豆第一区在线观看| 成人做爰视频网站| 亚洲精品99999| 欧美天堂在线| 午夜精品久久久久久久无码| 懂色av一区二区在线播放| 国产美女永久免费无遮挡| 欧美电影一区二区三区| 91国产精品视频在线观看| 三级资源在线| 国产精品高潮粉嫩av| 伦理一区二区| 五月婷婷之综合激情| 午夜精品久久久久| 蜜芽在线免费观看| 免费观看成人高| 国产酒店精品激情|