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

国产乱码精品一区二区三区日韩精品| 日韩美女天天操| 日韩欧美视频一区二区| 亚洲一区高清| 国产精品777777在线播放| av老司机免费在线| www.日韩av| 国产成一区二区| 在线观看中文字幕不卡| 欧美小视频在线| 麻豆视频成人| 国产精品无码免费播放| 一区在线免费观看| 一区二区三区亚洲| 无码人妻一区二区三区一| 午夜日韩成人影院| 久草这里只有精品视频| 欧美激情一区二区三区在线视频观看 | 波多野结衣中文字幕在线播放| 17videosex性欧美| 国产精品久久久久久福利一牛影视 | 91亚洲男人天堂| 成人信息集中地欧美| 天堂中文在线网| 欧美精品黄色| 日韩一区和二区| 日本男人操女人| 丰满的护士2在线观看高清| 中文字幕精品三区| 日本高清一区| 少妇荡乳情欲办公室456视频| 蜜臀av性久久久久av蜜臀妖精| 98精品国产高清在线xxxx天堂| 欧洲第一无人区观看| 亚洲第一福利专区| 亚洲精品国精品久久99热一| 美女日批在线观看| 四虎精品永久免费| 欧美亚洲一区二区在线观看| 欧美v在线观看| 成人一级福利| 午夜av一区二区| 欧美精品卡一卡二| 欧美hdxxx| 一区二区久久久久| 国产视频在线观看网站| 精品人妻一区二区三区四区不卡| 免费观看30秒视频久久| 国产成人精品免高潮费视频| www成人在线| 国产精品久久久免费| 亚洲热线99精品视频| 人妻无码中文久久久久专区| 红杏视频成人| 亚洲精品理论电影| 中文字幕xxx| 亚洲免费成人av在线| 亚洲欧美日韩国产成人| 成年人在线观看av| 国产免费av一区二区三区| 亚洲片国产一区一级在线观看| 醉酒壮男gay强迫野外xx| 欧美wwwwww| 亚洲日本中文字幕| 中文字幕欧美激情极品| 91日韩免费| 欧美成人一级视频| 一个人看的视频www| 中文字幕久久精品一区二区| 欧美va亚洲va| 久久丫精品国产亚洲av不卡 | 亚洲国产综合自拍| www香蕉视频| 成人精品在线视频观看| 黑人另类av| 撸视在线观看免费视频| 国产欧美日韩麻豆91| 一区二区不卡在线| 欧美大胆的人体xxxx| 精品久久久久久久大神国产| 国产精品99久久免费黑人人妻| 日韩精品麻豆| 91精品国产麻豆| 精品无码国产一区二区三区51安| 九色精品国产蝌蚪| 久久久久www| 国产第一页在线播放| 三级影片在线观看欧美日韩一区二区| 国产精品日韩欧美| 在线观看国产亚洲| 日韩av中文字幕一区二区| 亚洲影视九九影院在线观看| 久久精品视频2| 亚洲日本黄色| 国产精品日韩电影| 欧日韩在线视频| 国产拍欧美日韩视频二区| 欧美日韩一级在线| 一区二区三区短视频| 欧美美女直播网站| 欧美大尺度做爰床戏| 秋霞一区二区| 亚洲日本aⅴ片在线观看香蕉| 成人观看免费视频| 天堂久久久久va久久久久| 91成人免费视频| 国产色a在线| 亚洲地区一二三色| 在线黄色免费看| 青青视频一区二区| 欧美床上激情在线观看| 亚洲性猛交富婆| 99国产精品99久久久久久| 中文字幕久久一区| 免费在线观看av| 国产精品美女久久久久久久久| 久草免费福利在线| 亚洲国产伊人| 亚洲色图偷窥自拍| 日韩高清免费av| 国产一区福利在线| 小说区图片区图片区另类灬| 爱草tv视频在线观看992| 欧美精品乱码久久久久久| 97超碰在线资源| 亚洲人成在线影院| 国产91亚洲精品一区二区三区| 日本成a人片在线观看| 色婷婷一区二区| 亚洲欧美日本一区| 在线成人亚洲| 91超碰rencao97精品| 午夜激情在线观看| 欧美在线观看视频一区二区 | 国产精品熟女久久久久久| 久久久久久久网| 无码精品a∨在线观看中文| av综合网页| 欧美黑人性猛交| 国产高清在线免费观看| 麻豆精品一区二区综合av| 日本午夜精品一区二区| 亚洲少妇视频| 日韩高清不卡av| 亚洲精品77777| 成人av网站免费| 男人添女人荫蒂免费视频| 2020最新国产精品| 欧美国产日韩一区二区在线观看| 国产精品久久久久久免费免熟| 日本一区二区三区四区| 欧美伦理片在线观看| 久久在线播放| 91免费在线视频网站| 天堂在线视频观看| 黄色成人在线免费| 亚洲欧美色图视频| 欧美亚洲专区| 少妇精品久久久久久久久久| 久久久成人av毛片免费观看| 爽爽爽爽爽爽爽成人免费观看| 国产女片a归国片aa| 国产综合久久久久影院| 国风产精品一区二区| 亚洲三区欧美一区国产二区| 久久久欧美一区二区| 亚洲 欧美 激情 另类| 中文字幕一区视频| 国产九九九视频| 好吊日精品视频| 久久草视频在线看| 日韩精品一区二区三区av| 深夜福利一区二区| 亚洲乱码国产乱码精品精软件| 精品动漫一区二区| 日韩中文字幕有码| 国产麻豆91精品| av在线播放亚洲| 欧美色婷婷久久99精品红桃| 国产精品夜色7777狼人| 丝袜在线视频| 欧美肥妇毛茸茸| 久久久99精品| 国产午夜精品一区二区三区嫩草| 五月激情婷婷在线| 91久久黄色| 一区二区国产日产| 极品一区美女高清| 国产精品一区二区三区在线播放| 青春草视频在线观看| 亚洲欧美制服中文字幕| 国产同性人妖ts口直男| 日韩欧美国产成人| 国产一区二区视频在线观看免费| 91麻豆123| 亚洲热在线视频| 日本美女一区二区三区视频| japanese在线播放| 精品国产91乱码一区二区三区四区| 亚洲18私人小影院| h网站视频在线观看| 精品久久人人做人人爱| 中文字幕在线观看视频一区| 亚洲国产成人av好男人在线观看| 91视频免费在观看| 成人动漫av在线| 日韩av片免费观看| 久久综合九色综合欧美狠狠| 天天做天天躁天天躁| 日韩电影免费在线观看| 久久综合一区| 亚洲经典视频| 91精品美女在线| 亚洲最大网站| 国内精品伊人久久| 91在线中字| 色婷婷久久av| 高清毛片在线看| 亚洲精品电影在线观看| www.国产.com| 91精品国产综合久久久久久漫画 | 91成人在线精品| 日韩欧美亚洲国产| 亚洲女人小视频在线观看| 熟女高潮一区二区三区| 99riav久久精品riav| 樱花草www在线| 美女视频黄 久久| 性欧美极品xxxx欧美一区二区| 国产亚洲欧美日韩在线观看一区二区| 不卡视频一区二区| 亚洲视频自拍| 国产日韩在线免费| 国产激情欧美| 国产精品永久免费视频| 精品欧美一区二区三区在线观看| 97成人在线视频| h片在线观看下载| 欧美国产亚洲视频| 欧美色图天堂| 欧美黑人视频一区| 超级碰碰不卡在线视频| 国模吧一区二区三区| 精品精品导航| 91国产美女视频| 高清视频在线观看三级| 97国产精品人人爽人人做| 1024在线看片你懂得| 97精品久久久中文字幕免费| free性m.freesex欧美| 97精品免费视频| 免费成人直播| 国产精品美女www| 免费视频观看成人| 欧美俄罗斯乱妇| 污的网站在线观看| 欧美精品成人91久久久久久久| 黄网av在线| 91wwwcom在线观看| 日本一区二区电影| 91精品久久久久久久久| 亚洲**毛片| 国产区一区二区| 少妇一区二区视频| 亚洲日本精品一区| 欧美精品不卡| 131美女爱做视频| 日本不卡一区二区| 捷克做爰xxxⅹ性视频| 成人小视频在线| 在线免费观看日韩av| 中文字幕不卡一区| 久久国产精品波多野结衣av| 午夜久久久久久久久久一区二区| 亚洲欧美综合另类| 欧美日韩电影在线播放| 精品人妻无码一区二区色欲产成人 | 91福利视频久久久久| 一本到在线视频| 精品国产麻豆免费人成网站| 日本成人一区二区三区| 丝袜美腿精品国产二区| 久久99亚洲网美利坚合众国| 国产成人+综合亚洲+天堂| 北岛玲精品视频在线观看| 成人在线观看av| 精品一二三区| 欧美极品少妇无套实战| 日韩福利视频网| 熟妇女人妻丰满少妇中文字幕| 99久久免费视频.com| 国产探花视频在线| 亚洲成人1区2区| 夜夜嗨av禁果av粉嫩avhd| 亚洲电影av在线| 午夜看片在线免费| 欧美尤物巨大精品爽| 国产一区二区三区亚洲综合| 久久偷窥视频| 欧美日本一区二区视频在线观看| 久久精品.com| 国产不卡视频一区| 三区四区在线观看| 精品久久久久久久久久| www.精品久久| 中文字幕免费精品一区| 欧美gv在线观看| 91精品国产电影| 国产专区精品| 亚洲精品中文字幕在线| 亚洲欧美卡通另类91av| 在线成人免费av| 国产精品美日韩| 99精品人妻国产毛片| 亚洲成avwww人| av大全在线| 91最新国产视频| 欧美精品久久久久久| 亚洲国产精品久久久久婷蜜芽| 国产精品一区二区视频| 日韩在线视频免费看| 欧洲精品一区二区| 天堂资源中文在线| 国产亚洲精品久久久久动| 91豆花视频在线播放| 99热99热| 欧美午夜电影在线观看 | 天堂网一区二区| 日韩精品极品在线观看| xxx.xxx欧美| 国产富婆一区二区三区| 欧美日韩精品免费观看视频完整| 91高清国产视频| 国产精品久久久久aaaa樱花| 最新中文字幕免费| 亚洲色图美腿丝袜| 日韩网站中文字幕| 日产精品久久久一区二区| 葵司免费一区二区三区四区五区| 国产精品无码网站| 五月婷婷久久丁香| 日日躁夜夜躁白天躁晚上躁91| 欧美激情亚洲激情| 国产精品99久久免费观看| 欧美欧美一区二区| 美女精品一区| 欧美图片第一页| 在线视频一区二区三| av在线播放网| 国产精品永久免费视频| 91精品啪在线观看国产18| 日韩视频在线视频| 99免费精品视频| 中文字幕精品无码一区二区| 亚洲欧美国产制服动漫| 巨胸喷奶水www久久久免费动漫| 日韩视频精品| 九色porny丨国产精品| 日韩a级片在线观看| 亚洲第一色在线| 天堂网在线最新版www中文网| 欧美日韩成人一区二区三区| 蜜臀久久99精品久久久久宅男| av黄色免费在线观看| 日韩欧美在线观看一区二区三区| 少女频道在线观看高清 | 婷婷夜色潮精品综合在线| 日本成人一区二区三区| 国产欧美精品一区二区三区-老狼 国产欧美精品一区二区三区介绍 国产欧美精品一区二区 | 蜜桃久久一区二区三区| 6080yy精品一区二区三区| 九九久久婷婷| 天天综合天天添夜夜添狠狠添| 亚洲一区影音先锋| 欧美一区二区少妇| 国产日韩亚洲欧美| 激情久久婷婷| 非洲一级黄色片| 图片区小说区国产精品视频| 久热av在线| 成人精品一区二区三区电影黑人| 欧美视频日韩| 国产全是老熟女太爽了| 制服丝袜亚洲色图| 涩涩视频网站在线观看| 亚洲欧美久久久久一区二区三区| 国产成人日日夜夜| 国产精品精品软件男同| 精品国产凹凸成av人网站| 日韩av超清在线观看| 青草网在线观看| 欧美国产日本韩| 国产91免费看| 国产欧美va欧美va香蕉在线| 亚洲狼人精品一区二区三区| 亚洲a∨无码无在线观看| 亚洲精品理论电影| 日本亚州欧洲精品不卡| av五月天在线| 五月婷婷综合激情|