99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

openJiuwen agent-core 圖記憶實(shí)體與關(guān)系抽取模塊解析:從 Pydantic 模型到 LLM 提示詞組裝的全鏈路實(shí)踐

openJiuwen agent-core 圖記憶實(shí)體與關(guān)系抽取模塊解析:從 Pydantic 模型到 LLM 提示詞組裝的全鏈路實(shí)踐 人工智能AI AgentAgent 框架大模型工具調(diào)用RAG提示工程強(qiáng)化學(xué)習(xí)【免費(fèi)下載鏈接】agent-coreopenJiuwen agent-core可提供AI Agent開發(fā)、運(yùn)行、調(diào)優(yōu)與演進(jìn)相關(guān)的全套SDK能力項(xiàng)目地址https://gitcode.com/openJiuwen/agent-core點(diǎn)擊查看免費(fèi)下載本文圍繞 openJiuwen agent-core 圖記憶Graph Memory能力中的核心模塊openjiuwen.core.memory.graph.extraction展開它負(fù)責(zé)從對(duì)話、文檔與 JSON 三類來源中抽取實(shí)體與關(guān)系并為記憶圖提供結(jié)構(gòu)化輸入。讀完本文你將掌握該模塊的分層結(jié)構(gòu)多語言響應(yīng)模型基類MultilingualBaseModel、實(shí)體/關(guān)系類型定義、抽取用 Pydantic 輸出模型、線程安全的提示詞模板管理器、按情節(jié)類型組裝提示詞的入口函數(shù)以及 LLM 回復(fù)的 JSON 容錯(cuò)解析工具并能結(jié)合倉庫中的調(diào)用鏈與測試用例理解其在GraphMemory寫入流水線中的實(shí)際位置。一、模塊定位圖記憶流水線中的結(jié)構(gòu)化輸入引擎在 openJiuwen agent-core 中圖記憶由 graph_memory/base.py 中的GraphMemory類承載它維護(hù)一張覆蓋用戶對(duì)話與文檔的知識(shí)圖譜通過 LLM 抽取實(shí)體與關(guān)系、執(zhí)行合并與去重并支持實(shí)體/關(guān)系/情節(jié)的語義檢索。而extraction模塊正是這條流水線的輸入端——所有進(jìn)入記憶圖的實(shí)體與關(guān)系都先由它完成從原始文本到結(jié)構(gòu)化聲明的轉(zhuǎn)換。從調(diào)用關(guān)系看GraphMemory.add_memory的完整流程見 graph_memory/base.py依次經(jīng)過時(shí)區(qū)預(yù)測extract_timezone——為后續(xù)關(guān)系抽取中的相對(duì)時(shí)間解析提供時(shí)區(qū)參考實(shí)體聲明抽取extract_entity_declaration——識(shí)別當(dāng)前消息/文檔/JSON 中的實(shí)體名稱與類型關(guān)系抽取extract_relation_declaration——在實(shí)體列表之上抽取帶時(shí)間信息的事實(shí)三元組實(shí)體去重與合并dedupe_entity_list、merge_existing_entities——與庫中已有實(shí)體比對(duì)并歸并實(shí)體摘要與屬性抽取extract_entity_attributes關(guān)系過濾與去重filter_relations_for_merge、dedupe_relation_list。每一步的 LLM 調(diào)用都遵循同一范式由extraction_prompts中的組裝函數(shù)返回(模板變量, PromptTemplate, LLM 響應(yīng)格式)三元組交由_invoke_llm執(zhí)行最后用parse_response.parse_json將回復(fù)解析回結(jié)構(gòu)化數(shù)據(jù)見 graph_memory/base.py 中parse_all_relations(ensure_list(parse_json(...)))的典型組合。因此理解extraction模塊是掌握?qǐng)D記憶寫入鏈路的前提。二、MultilingualBaseModel多語言響應(yīng)模型基類openjiuwen.core.memory.graph.extraction.base.MultilingualBaseModel是所有抽取輸出模型的基類base.py。它基于 PydanticBaseModel在保留字段校驗(yàn)?zāi)芰Φ耐瑫r(shí)解決了兩個(gè)問題多語言描述替換與將輸出模型轉(zhuǎn)為 LLM 可消費(fèi)的字符串/結(jié)構(gòu)化格式。其多語言描述來源于模塊級(jí)字典MULTILINGUAL_DESCRIPTION由 prompts/entity_extraction/cn.py 與 prompts/entity_extraction/en.py 在調(diào)用register_language()時(shí)填充。模型字段中的description{{[rel_name]}}這類占位符會(huì)被替換為對(duì)應(yīng)語言的實(shí)際描述例如中文該實(shí)體聯(lián)系的名稱、英文Name of factual relation。2.1 multilingual_model_json_schema按語言生成 JSON Schemadef multilingual_model_json_schema(cls, language: str cn, strict: bool False, **kwargs) - dict[str, Any]languagestr可選語言標(biāo)識(shí)如cn、en默認(rèn)cnstrictbool可選是否啟用嚴(yán)格模式默認(rèn)Falsekwargs透傳給 Pydanticmodel_json_schema的額外參數(shù)。實(shí)現(xiàn)上base.py先生成標(biāo)準(zhǔn) Pydantic schema再用_recursive_replace把description按MULTILINGUAL_DESCRIPTION[language]遞歸替換。strictTrue時(shí)通過 BFS 遍歷 schema 樹為所有type object且含properties的節(jié)點(diǎn)強(qiáng)制寫入additionalProperties: False并自動(dòng)補(bǔ)齊required字段列表——這正是 OpenAI 結(jié)構(gòu)化輸出格式的要求。對(duì)應(yīng)單元測試 tests/unit_tests/core/memory/graph/extraction/test_base.py 中_object_nodes_with_wrong_additional_properties專門校驗(yàn)了這一點(diǎn)。2.2 readable_schema生成 LLM 可讀的 schema 文本def readable_schema(cls, language: str cn, **kwargs) - tuple[str, dict]返回(schema 字符串, $defs 中 ref 的 properties 字典)。實(shí)現(xiàn)細(xì)節(jié)base.py基于multilingual_model_json_schema生成后移除title、required等冗余信息若存在$defs將$ref引用映射為類型名并單獨(dú)抽出 ref 的 properties 字典遍歷model_fields將每個(gè)字段渲染為字段名: JSON類型 # 多語言描述的形式。文檔中給出的示例輸出Fact.readable_schema(languagecn)驗(yàn)證了這一點(diǎn)其中valid_since被渲染為帶 ISO 格式提示的描述from openjiuwen.core.memory.graph.extraction.prompts import entity_extraction # 注冊(cè) cn/en from openjiuwen.core.memory.graph.extraction.extraction_models import Fact, RelationExtraction out_str, ref_dict Fact.readable_schema(languagecn) # name: str # 該實(shí)體聯(lián)系的名稱 # fact: str # 關(guān)于實(shí)體聯(lián)系的事實(shí) # valid_since: str # 事實(shí)/關(guān)系的生效日期請(qǐng)使用ISO格式Y(jié)YYY-MM-DDTHH:MM:SS[HH:MM] # valid_until: str # 事實(shí)/關(guān)系的中止日期請(qǐng)使用ISO格式Y(jié)YYY-MM-DDTHH:MM:SS[HH:MM] # source_id: int # 主體的實(shí)體ID # target_id: int # 客體的實(shí)體ID對(duì)于嵌套模型RelationExtraction.readable_schema(languageen)返回的字符串為extracted_relations: list[Fact] # List of extracted relations而 ref 字典的鍵為[Fact]其值為{name: {type: string, description: Name of factual relation}, ...}。生成的文本會(huì)被 prompts/entity_extraction/base.py 的format_schema_info以---\n# 輸出定義最終輸出需要為JSON\npython\n{out_str}\n的形式拼接到提示詞末尾讓 LLM 直接照著輸出格式生成 JSON。2.3 response_format轉(zhuǎn)換為 OpenAI 標(biāo)準(zhǔn)響應(yīng)格式def response_format(cls, language: str cn) - dict[str, Any]返回可直接作為 OpenAIresponse_format字段使用的字典base.py{ type: json_schema, json_schema: { schema: cls.multilingual_model_json_schema(language, strictTrue), name: cls.__name__, strict: False, }, }即schema 使用嚴(yán)格模式生成強(qiáng)制additionalProperties: False但響應(yīng)層strict保持False為推理類模型留出余地。每個(gè)組裝函數(shù)返回的三元組第三項(xiàng)即output_model.response_format(language)同時(shí)被用于 LLM 調(diào)用與后續(xù)parse_json的鍵過濾。三、實(shí)體與關(guān)系類型定義entity_type_definitionopenjiuwen.core.memory.graph.extraction.entity_type_definition提供抽取時(shí)的類型約束與展示所需的類型定義entity_type_definition.py。類基類默認(rèn)字段說明EntityDefAttrMultilingualBaseModelcontent: str 實(shí)體類型的屬性定義描述占位符{{[ent_summary]}}EntityDefBaseModelnameEntity、description多語言字典、attributes基礎(chǔ)實(shí)體類型定義RelationDefBaseModelnameRelation、description、lhs、rhs關(guān)系類型定義lhs/rhs為左右端實(shí)體類型HumanEntityEntityDefnameHuman表示用戶的實(shí)體類型AIEntityEntityDefnameAI表示AI 助手的實(shí)體類型各類型的多語言描述字典在 cn.py 中注冊(cè)ENTITY_DEFINITION_DESCRIPTION[cn] 默認(rèn)實(shí)體類型。若該實(shí)體不屬于其他提供的類型請(qǐng)選此類。HUMAN_ENTITY_DESCRIPTION[cn] 代表人類的實(shí)體類型可以是用戶也可以是其他人。AI_ENTITY_DESCRIPTION[cn] 代表AI的實(shí)體類型可能是聊天助手也可能是其他智能體。英文側(cè)對(duì)應(yīng)的描述為Default entity type, pick this if no other option is suitable.等見 en.py。RelationDef的中文描述模板為{name}{lhs}-[{name}]-{rhs}{description}見 base.py 的format_relation_definitions以清晰的(lhs)-[relation]-(rhs)形式約束關(guān)系兩端。在GraphMemory初始化時(shí)默認(rèn)實(shí)體類型集合為[EntityDef(), HumanEntity(), AIEntity()]EntityDeclaration.entity_type_id即對(duì)應(yīng)此列表的下標(biāo)。四、抽取輸出模型extraction_modelsopenjiuwen.core.memory.graph.extraction.extraction_models定義抽取各階段的結(jié)果模型extraction_models.py全部繼承MultilingualBaseModel4.1 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)模型字段用途Datetimeyear/month/day/hour/minute/secondint表示日期時(shí)間當(dāng)前未使用字段帶多語言 descriptionEntityDeclarationname: str、entity_type_id: int單條實(shí)體聲明類型 id 對(duì)應(yīng)EntityDef列表下標(biāo)Duplicationname: str、id: int、duplicate_ids: list[int]實(shí)體去重結(jié)果代表名、保留 id、重復(fù) id 列表Factname/fact/valid_since/valid_until: str、source_id/target_id: int一條事實(shí)關(guān)系源/目標(biāo)實(shí)體 id 為 1 基編號(hào)PossibleTimezonename: str、offset_from_utc: str、reasoning: str時(shí)區(qū)猜測名稱、UTC 偏移HH:MM、推理說明4.2 各階段輸出模型模型字段對(duì)應(yīng)階段EntityExtractionextracted_entities: list[EntityDeclaration]實(shí)體聲明抽取EntitySummarysummary: str、attributes: dict實(shí)體摘要與屬性抽取EntityDuplicationduplicated_entities: list[Duplication]實(shí)體去重RelationExtractionextracted_relations: list[Fact]關(guān)系抽取RelevantFactsbrief_reasoning: str、relevant_relations: list[int]關(guān)系過濾合并前篩選相關(guān)關(guān)系 idTimezonePredictionsextracted_relations: list[PossibleTimezone]時(shí)區(qū)預(yù)測字段名沿用關(guān)系以兼容提示MergeRelationsneed_merging: bool、short_reasoning: str、combined_content: str、duplicate_ids: list[int]、valid_since/valid_until: str關(guān)系合并字段描述全部使用{{[key]}}占位符由多語言注冊(cè)表在生成 schema 時(shí)替換。以Fact為例中文描述為rel_name→該實(shí)體聯(lián)系的名稱、rel_fact→關(guān)于實(shí)體聯(lián)系的事實(shí)、rel_valid_since/rel_valid_until→事實(shí)/關(guān)系的生效日期/中止日期請(qǐng)使用ISO格式Y(jié)YYY-MM-DDTHH:MM:SS[HH:MM]、rel_source_id/rel_target_id→主體的實(shí)體ID/客體的實(shí)體ID見 cn.py。值得注意的細(xì)節(jié)EntitySummary.attributes被建模為自由的dict而非固定 schema因此在嚴(yán)格模式下不會(huì)被強(qiáng)制additionalProperties: False見 test_base.py 的注釋說明為屬性鍵值對(duì)保留了靈活性。五、提示詞模板管理器與 .pr.md 格式5.1 ThreadSafePromptManageropenjiuwen.core.memory.graph.extraction.prompts.manager.ThreadSafePromptManager是線程安全的提示詞模板管理器manager.py以單例方式對(duì)外使用別名TemplateManager見 prompts/init.py。無參構(gòu)造首次初始化時(shí)通過glob.glob(..., recursiveTrue)掃描prompts/下所有**/*.pr.md文件按所在目錄批量注冊(cè)到內(nèi)部PromptMgrload_pr_content(content)staticmethod解析.pr.md原始內(nèi)容為消息列表。使用#user#、#system#、#assistant#、#tool#四種角色標(biāo)記正則PR_PATTERN每段內(nèi)容對(duì)應(yīng)一個(gè){role: ..., content: ...}get(name)按名稱獲取已注冊(cè)的PromptTemplate未注冊(cè)返回None例如模板名entity_extraction_conversation_cnregister_in_bulk(prompt_dir, name)將指定目錄下所有.pr.md注冊(cè)為模板若目錄下無任何.pr.md文件會(huì)拋出StatusCode.MEMORY_GRAPH_PROMPT_FILES_MISSING對(duì)應(yīng)的錯(cuò)誤。模板名即文件名去掉.pr.md后綴例如entity_extraction_relation_cn.pr.md注冊(cè)為entity_extraction_relation_cn。5.2 提示詞模板清單倉庫內(nèi)置了 cn/en 兩套共 22 個(gè)模板prompts/cn、prompts/en覆蓋完整抽取鏈路模板文件cn用途entity_extraction_conversation_cn.pr.md從對(duì)話消息抽取實(shí)體entity_extraction_document_cn.pr.md從文檔文本抽取實(shí)體entity_extraction_json_cn.pr.md從 JSON 內(nèi)容抽取實(shí)體entity_extraction_relation_cn.pr.md抽取事實(shí)三元組含時(shí)間信息entity_extraction_dedupe_entity_cn.pr.md實(shí)體去重entity_extraction_dedupe_relation_cn.pr.md關(guān)系去重/融合entity_extraction_entity_merge_cn.pr.md實(shí)體合并entity_extraction_relation_filter_cn.pr.md合并前的相關(guān)關(guān)系篩選entity_extraction_summary_create_cn.pr.md實(shí)體摘要與屬性生成entity_extraction_timezone_cn.pr.md時(shí)區(qū)猜測entity_extraction_check_missing_cn.pr.md缺失檢查以 entity_extraction_conversation_cn.pr.md 為例它通過#system#聲明助手角色用#user#組裝上下文模板變量包括{{source_description}}數(shù)據(jù)源描述、{{context}}歷史當(dāng)前信息、{{entity_types}}實(shí)體類型列表和{{extra_message}}可讀 schema。抽取規(guī)則強(qiáng)調(diào)對(duì)話參與者冒號(hào)前的部分必須提取為實(shí)體、代詞需消歧、動(dòng)作/關(guān)系/時(shí)間信息不得作為實(shí)體。關(guān)系抽取模板 entity_extraction_relation_cn.pr.md 則要求關(guān)系名使用英文大寫蛇形命名如FOUNDED、WORKS_AT、主體與客體必須來自實(shí)體列表且為兩個(gè)不同實(shí)體、所有時(shí)間相對(duì)于{{reference_time}}當(dāng)前 UTC 時(shí)間解析、{{tz_info}}中的時(shí)區(qū)僅供參考而非事實(shí)。六、提示詞組裝入口函數(shù)extraction_promptsopenjiuwen.core.memory.graph.extraction.extraction_prompts提供按情節(jié)類型組裝各類抽取提示詞的入口函數(shù)extraction_prompts.py所有函數(shù)統(tǒng)一返回Tuple[Dict[str, str], PromptTemplate, Dict[str, Any]]即模板變量、提示詞模板、LLM 響應(yīng)格式。6.1 實(shí)體與關(guān)系抽取extract_entity_declaration(src_type, content, history, descriptionNone, entity_typesNone, *, languagecn, extrasNone, indent2)src_typeEpisodeType情節(jié)來源類型取值為CONVERSATION/DOCUMENT/JSON對(duì)應(yīng)枚舉見 config/graph.py配置說明見 graph 配置文檔content當(dāng)前輪次或當(dāng)前文檔/JSON 內(nèi)容entity_types為None時(shí)默認(rèn)使用[EntityDef()]模板名由entity_extraction_{src_type.name.casefold()}_{language}拼接而成如entity_extraction_conversation_cn輸出模型為EntityExtraction。實(shí)現(xiàn)細(xì)節(jié)extraction_prompts.pyentity_types被格式化為0. Entity默認(rèn)實(shí)體類型。...的編號(hào)列表注入提示詞。extract_entity_attributes(entity, content, history, languagecn, extrasNone, *, indent2)為已抽取的Entity組裝摘要與屬性抽取提示模板e(cuò)ntity_extraction_summary_*輸出模型EntitySummary將entity.name、entity.content既有摘要注入模板變量若已有entity.attributes則序列化為 JSON 注入特殊處理當(dāng)實(shí)體類型為human且模板中存在summary_target時(shí)將該目標(biāo)值翻倍summary_target * 2保證人類實(shí)體獲得更充分的摘要Entity的定義參見 graph_objects。extract_relation_declaration(relation_types, entities, reference_time, tz_info, content, *, history, entity_typesNone, descriptionNone, languagecn, indent2)需傳入關(guān)系類型列表、已抽取實(shí)體聲明帶 id、參考時(shí)間戳與時(shí)區(qū)信息reference_time通過datetime.fromtimestamp(...).isoformat(timespecseconds)轉(zhuǎn)為 ISO 字符串tz_info若是 dict/list 會(huì)序列化為 JSON 字符串否則str()轉(zhuǎn)換生成id_range 1-{len(entities)}約束關(guān)系端點(diǎn)范圍輸出模型為RelationExtraction。extract_timezone(content, history, descriptionNone, languagecn, indent2)組裝時(shí)區(qū)猜測提示模板e(cuò)ntity_extraction_timezone_*輸出模型TimezonePredictions供關(guān)系抽取前異步執(zhí)行見 graph_memory/base.py 的asyncio.create_task。6.2 去重、合并與過濾函數(shù)模板輸出模型用途dedupe_entity_list(content, candidate_entities, existing_entities, entity_typesNone, history, *, descriptionNone, languagecn, indent2)dedupe_entity_*EntityDuplication判斷候選實(shí)體是否為已有實(shí)體重復(fù)項(xiàng)并給出合并 iddedupe_relation_list(content, relation, existing_relations, existing_entities, history, *, descriptionNone, languagecn, indent2)dedupe_relation_*MergeRelations判斷新關(guān)系是否與已有關(guān)系重復(fù)并給出融合結(jié)果merge_existing_entities(target, sources, languagecn, extrasNone, indent2)entity_merge_*EntitySummary將多個(gè)已有實(shí)體合并到目標(biāo)實(shí)體源實(shí)體經(jīng)format_existing_entities編號(hào)列出filter_relations_for_merge(target, relations, languagecn, extrasNone, indent2)relation_filter_*RelevantFacts針對(duì)目標(biāo)實(shí)體從候選關(guān)系列表中篩選與合并相關(guān)的 id去重細(xì)節(jié)dedupe_entity_list中已有實(shí)體從下標(biāo) 1 編號(hào)format_existing_entities(..., 1, ...)候選實(shí)體從len(existing_entities) 1開始編號(hào)format_new_entities(..., start_idx...)保證 LLM 輸出的 id 與真實(shí)庫內(nèi)下標(biāo)一一對(duì)應(yīng)。dedupe_relation_list中new_relation通過format_existing_relations([relation.model_dump()], 0).removeprefix(0. )生成去掉編號(hào)前綴后作為單條新關(guān)系展示。去重模板的判別準(zhǔn)則見 entity_extraction_dedupe_entity_cn.pr.md只有當(dāng)實(shí)體指向現(xiàn)實(shí)世界的同一事物或概念時(shí)才視為重復(fù)相關(guān)但不同或名稱相似但指向不同事物均不得標(biāo)記。關(guān)系去重模板e(cuò)ntity_extraction_dedupe_relation_cn.pr.md同樣強(qiáng)調(diào)不要融合相關(guān)但不相等的實(shí)體關(guān)系且要求combined_content為原文直接引用或簡要復(fù)述。6.3 輔助格式化函數(shù)format_new_entities(entities, entity_typesNone, start_idx1, languagecn) - str將候選實(shí)體聲明格式化為帶編號(hào)的字符串列表。若提供entity_types會(huì)先輸出類型說明{type_name}{sep}{type_description}中文分隔符為隨后以1. Alice (Person)形式列出實(shí)體中間以---分隔否則僅輸出1. Alice。對(duì)應(yīng)測試見 tests/unit_tests/core/memory/graph/extraction/test_extraction_prompts.py驗(yàn)證了空列表、起始編號(hào)偏移、類型說明輸出等行為。七、LLM 回復(fù)解析parse_responseopenjiuwen.core.memory.graph.extraction.parse_response提供從 LLM 回復(fù)中解析 JSON 與結(jié)構(gòu)化內(nèi)容的工具函數(shù)parse_response.py。parse_json(resp, output_schemaNone) - Optional[JSONLike]其中JSONLike Union[dict[str, Any], list[Any]]見 custom_types.py。解析策略分三層代碼塊優(yōu)先用正則(?s)([A-Za-z]*)\s*\n(.*?)查找 markdown 代碼塊僅解析無語言標(biāo)記或json標(biāo)注的代碼塊整段 raw_decode若無代碼塊則用JSONDecoder(strictFalse).raw_decode從響應(yīng)中[或{起始位置解碼對(duì)},結(jié)尾的截?cái)嗔斜頃?huì)先補(bǔ)}]再嘗試鍵過濾與模糊匹配若output_schema含json_schema.required則只保留這些鍵并通過difflib.get_close_matches(..., cutoff0.85)做拼寫模糊匹配try_get_key容忍 LLM 輸出與 schema 鍵名的輕微差異。同模塊還提供ensure_list(obj)將單元素 dict如{extracted_relations: [...]}解包為列表保證下游parse_all_relations拿到的是列表形態(tài)。該函數(shù)的容錯(cuò)性由單元測試覆蓋tests/unit_tests/core/memory/graph/extraction/test_parse_response.py純 JSON 對(duì)象、json代碼塊、空類型代碼塊、非 JSON 代碼塊跳過、非法 JSON 返回None、帶 required 鍵過濾、數(shù)組解析、截?cái)?JSON 等場景均有斷言。八、多語言注冊(cè)與語言校驗(yàn)抽取模塊的提示詞、schema 描述、格式化模板均以語言注冊(cè)表方式組織。cn.py與en.py分別通過register_language()將語言碼寫入REGISTERED_LANGUAGE并填充以下注冊(cè)表見 prompts/entity_extraction/base.py注冊(cè)表中文值示例英文值示例SOURCE_DESCRIPTION\n數(shù)據(jù)源描述\n{source_description}\n/數(shù)據(jù)源描述\nsource_description包裹的對(duì)應(yīng)英文模板MARK_CURRENT_MSG當(dāng)前信息\n{content}\n/當(dāng)前信息\ncurrent_messages包裹MARK_HISTORY_MSG歷史信息\n{history}\n/歷史信息\nhistory_messages包裹DISPLAY_ENTITY{i}. {name}\n{content}{i}. {name}:\n{content}RELATION_FORMAT{name}{lhs}-[{name}]-{rhs}{description}{name} ({lhs}-[{name}]-{rhs}): {description}NO_RELATION_GIVEN無Noneget_formatting_kwargs負(fù)責(zé)把 history、content 分別用當(dāng)前/歷史標(biāo)記包裹后拼入context并追加source_description與extra_message可讀 schema形成統(tǒng)一的提示詞骨架。語言參數(shù)經(jīng)ensure_valid_language(language, max_len)校驗(yàn)base.py必須是已注冊(cè)語言cn/en且長度不超過db_storage_config.language設(shè)定的上限否則拋出MEMORY_GRAPH_LANGUAGE_INVALID錯(cuò)誤。九、完整調(diào)用鏈與配置協(xié)同在GraphMemory.add_memory中抽取模塊與配置策略緊密協(xié)同graph_memory/base.pystate.prompting.language默認(rèn)cn、entity_dedupe_language、relation_extraction_language分別控制不同階段的提示詞語言對(duì)應(yīng) config/graph.py 中AddMemStrategy的chinese_entity、chinese_entity_dedupe、chinese_relation開關(guān)時(shí)區(qū)預(yù)測與關(guān)系抽取并行tz_task與關(guān)系抽取任務(wù)以asyncio.create_task并發(fā)執(zhí)行關(guān)系抽取所需的tz_info正是時(shí)區(qū)預(yù)測回復(fù)經(jīng)parse_json(..., output_schemaTimezonePredictions.response_format(...))解析后的結(jié)果關(guān)系抽取回復(fù)經(jīng)parse_all_relations見 parse_llm_response.py轉(zhuǎn)為正式Relation對(duì)象source_id/target_id為 1 基編號(hào)需減 1 映射到實(shí)體列表valid_since/valid_until由parse_iso解析為 Unix 時(shí)間戳與時(shí)區(qū)偏移同一實(shí)體自連的關(guān)系類型為EntityFact其余為RelationLLM 輸出若重復(fù)parse_all_relations會(huì)按fact內(nèi)容去重保留最長的版本。端到端的實(shí)戰(zhàn)示例見 examples/graph_memory/showcase_graph_memory.py它演示了從加載對(duì)話數(shù)據(jù)、按 chunk 調(diào)用add_memory(src_typeEpisodeType.CONVERSATION, contentchunk, user_id..., reference_time...)到實(shí)體/關(guān)系語義搜索與知識(shí)圖譜可視化的完整流程其中AddMemStrategy(summary_target100, merge_entitiesTrue, merge_relationsTrue, merge_filterTrue)直接驅(qū)動(dòng)了抽取與合并行為。文中還給出了針對(duì)不同模型的調(diào)用建議OpenAI 模型建議llm_structured_outputFalse并配合reasoning_effortminimalQwen3 系列建議llm_structured_outputTrue并配合enable_thinkingFalse。十、小結(jié)openjiuwen.core.memory.graph.extraction是 openJiuwen agent-core 圖記憶能力中承上啟下的關(guān)鍵模塊向上對(duì)接GraphMemory的寫入流水線向下通過多語言 Pydantic 模型、.pr.md提示詞模板與容錯(cuò)解析器把從非結(jié)構(gòu)化內(nèi)容到結(jié)構(gòu)化記憶這一過程封裝為可復(fù)用、可配置、可測試的 SDK 能力。理解本模塊后讀者可以基于 base.py 自定義實(shí)體/關(guān)系類型基于 extraction_prompts.py 定制抽取流程并借助 parse_response.py 建立健壯的 LLM 輸出解析鏈路。贊分享人工智能AI AgentAgent 框架大模型工具調(diào)用RAG提示工程強(qiáng)化學(xué)習(xí)【免費(fèi)下載鏈接】agent-coreopenJiuwen agent-core可提供AI Agent開發(fā)、運(yùn)行、調(diào)優(yōu)與演進(jìn)相關(guān)的全套SDK能力項(xiàng)目地址https://gitcode.com/openJiuwen/agent-core點(diǎn)擊查看免費(fèi)下載相關(guān)推薦openjiuwen agent-core 圖記憶實(shí)體與關(guān)系抽取模塊全解析多語言響應(yīng)模型、Prompt 組裝與 LLM 輸出解析openjiuwen agent core 圖記憶實(shí)體與關(guān)系抽取模塊全解析多語言響應(yīng)模型、Prompt 組裝與 LLM 輸出解析 本文以 openjiuwen人工智能AI AgentAgent 框架大模型工具調(diào)用RAG提示工程強(qiáng)化學(xué)習(xí)openJiuwen agent-core 系統(tǒng)提示詞工程實(shí)戰(zhàn)openjiuwen.harness.prompts 模塊全解openJiuwen agent core 系統(tǒng)提示詞工程實(shí)戰(zhàn)openjiuwen.harness.prompts 模塊全解 導(dǎo)讀 本指南以 prompts.人工智能AI AgentAgent 框架大模型工具調(diào)用RAG提示工程強(qiáng)化學(xué)習(xí)openjiuwen agent-core 中 Auto Harness Prompts 模塊build_auto_harness_sections 系統(tǒng)提示詞組裝機(jī)制詳解openjiuwen agent core 中 Auto Harness Prompts 模塊build_auto_harness_sections 系統(tǒng)提示人工智能AI AgentAgent 框架大模型工具調(diào)用RAG提示工程強(qiáng)化學(xué)習(xí)創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
免费观看欧美成人AA片爱我多深| 五月丁香婷婷狠狠操| www.xtbsty.cn.com蜜乳AV| 天天综合精品| 91超碰九色| www.狠狠操.com| 久久丁香婷婷五月| 日本nghangse中文字幕| 夫妇交换刺激做爰| 五月亭亭开心网| 狠狠草综合网| 狠狠做五月婷婷| 久久最新色| 免费观看全黄做爰的视频| 色五月婷婷大香蕉| 无码操B| 狠狠丁香| 丁香六月综合激情| 久久久久人妻网址| 99操逼| 立川无码av| 婷婷激情五月视频| 婷婷伊人五月丁香天堂网| 国外亚洲成AV人片在线观看| 俺去也婷婷| 可以直接看的av| 伊人五月久久| 激情婷婷五月黑人| 色。 日日日| 秋霞成人毛片一级A片| 99色综合久久| 精品九九九久| 91大操| 四色永久成人网站| 天天插综合网| 九九热AV| 日本三级中国三级99人妇网站| 夜夜躁婷婷AV| 99超级碰碰| 十一月婷婷激情四射| 丁香六月成人网| 婷婷五月天受日本法律保护| 天天操夜夜啊| 国产精品五月丁香| 久久婷婷五月草视频| 色综合色欲综合天天免费| 丁香五月自拍| 五月天婷婷开心| 婷婷丁香色五月天久久88| 九九精品自拍| 久思思热视频在线观看| www.婷婷网| 婷婷久久久| 97色色色| 激情另类综合| 天天日天天日天天搞| 天天干、天天日日| 99爱视频在线观看这里只有精品| 色色亚洲视频| 色色色欧美| 欧美婷婷日本| 久久XX| 色婷婷久久综合中文久久一本| 99热综合在线| 久久这里只有精品热在99| 五月激情影院| 久久丁香综合精品综合| 久久性刺激| 九九婷婷综合| AV天堂淫乩| 思思99精品视频| 综合逼五月激情婷婷| 激情五月天婷婷久久久久久久久久久 | 激情5月婷婷狠狠干| 热的五码久久精品| 26uuu亚洲欧美| 婷婷丁香五月亚洲| 综合婷婷| 久久九九热38| 欧美视频五区| α久久| 这里只有精品视频一区| 99色在线观看视频| 久热久| 成人综合视频网址| 超碰9| 婷婷色在线观看| 天天做天天爽| 老师高潮流白浆喷水的A片| 国产一级片色色| 色婷婷无吗| 六月丁香婷婷综合狠狠爱夜夜爱| 久久九九怡红院| 欧美激情xxxXX| 热99只有里视频| 第四色首页| 婷婷六月天| 日韩啪啪视频| 大香蕉太香蕉视频97| 婷婷成人在线| 日本在线免费中文com.| 啪啪操超碰| 九九婷婷网五月天| 久久婷婷东京热大香樵| 婷婷五月成人色综合| 丁香婷婷久久老熟女综合网| AV中文在线| 亚洲字幕AV一区二区三区四区| 亚洲视频另类| 日本本土色网第一区| 97色婷婷五月天| 99在线免费视频| 亚洲色在线观看| 北条麻妃九九九国产精品视频| 日本欧美999久久久三级片| 免费AV在线| 五月欧美色播| 夜色综合网| 九九香蕉网| 69人人操人人爽| 99综合视频| 狠狠插日日干撸| 亚洲天堂热| anquye五月| 黄色五月婷婷| 97se在线视频| 天天摸日日舔狠狠添婷婷婷| 丁香色色网| 超碰人人操人人9| 成人做爰A片免费看网站找不到了| 综合九九| 亚洲春色奇米影视| 色亚洲中文| 91成人性爱视频| 日韩成人电影AV| Aα在线免费观看| 色狠狠激情五月| 色99网站| 色都都狠狠色都都色综合色| 五月天电影网| 亚洲V国产V欧美V久久久久久| 一区三区视频有限公司| 婷婷精品综合| 五月婷无码| 青青夜夜狠狠夜夜狠狠| 色欲一区二区三区精品A片| 丁香五月综合无码趴趴| 色综合激情| 色五月五月天| 高清一区二区三区日本久| 日韩精品一品二区三区的使用体验| 色婷婷色久综| 俺去也五月| 婷婷的99视频网站| 婷婷丁香五月麻豆| 激情久久久久| 激情五月六月婷婷| 色婷婷网| 久久久性爱视频| 色色综合激情| 五月婷婷天堂| 久久精品99| 天天澡天天狠天天天做| 色综合偷拍| 色爱五月天| 婷婷五月天天| 综合五月网| 久草婷婷在线| 婷婷五月图片小说网| 秋霞少妇AV网站| 激情网第四色| 色欲五月丁香| 丁香五月手机在线| 婷婷午夜丁香| 婷婷色五月激情| 日本a片网址| 丁香5月综合啪啪| 超碰av在线| 五月激情网站| 日本高清久久| 伊人丁香五月| 五月天另类小说久久小说网| 天天干电影| 艹天天射| 操操啪| 九九色中文| 五月天色色色| 亚洲欧洲自拍图片专区五月天| 亚洲综合色网| 国内精品玖玖| 91久久综合亚洲噜噜成人在线 | 大香蕉人妻| 亚洲综合激情五月久久| 这里只有在线精品| 久婷婷久草| 激情VA视频| 91久久免费| 亚洲色色色| 激情AV在线| 丝袜大香蕉| 玖月婷婷爱丁香| 99热| 五月激情六月综合| 久久久人妻人伦| 天天爽天天干| 五月婷婷草| 激情五月天啪啪| 五月丁香婷婷综合久久| 精品夜夜澡人妻无码AV| 国产精品色色| 6月丁香婷婷激情| 91男人操女人视频| 色~性~乱~伦~噜| 99久热这里只有精品视频删减版| 婷婷丁香五月天综合在线日韩| 天天五月情| 成人免费在线电影| 少妇伦子伦精品无吗| 天天色,天天日,天天做| 五月天色色激情综合| 九九视频在线观看视频6 | 天天cha成人综合网| 99天堂网最新| 成人无码精品1区2区3区免费看| 激情五月天免费视频| av在线不卡播放| 四色99久久| 操逼福利视频| 大香蕉久久| www.婷婷com| 超碰色综合| 天天在线久久综合 | 五月丁香激情综合| 俺去也综合| 高清无码.com| 欧美三日本三级少妇三99| 丰满老熟妇BBBBB搡BBB| 久久五月视频| 婷婷国产五月天17c| 任你日视频| 激情综合五月.....| 伊人久热91| 婷婷色六月| 五月婷婷开心五月| 婷婷六月天亚州| 综合久久综合久久| 超碰97色| 欧美,日韩成人在线| 色吧五月| 亚洲熟女色| 日日日影院| 婷婷在线免费| 91ncm视频| 超碰99热精品在线| 六月成人网| 日本色色网| 婷婷激情五月天视频在线| 妇激情基地| 激情超碰网| 99综合网| 五月婷丁香| 免费视频无码| 97碰人人操| 99热这里只有精品最新| 丁香五月天五码婷婷| 色五月激情综合网| 91一起操| 日本综合色色| 9色在线视频| 婷婷色五月丁香六月欧美啪| 欧洲高清免费久久| 99爱视频在线免费观看| 深爱激情四射| 伊人成人宗合网| 亚洲操逼网| 中文字幕av亚洲| 日本97在线看片| 嫩草AV久久伊人妇女超级A| a在线观看| 亚洲精品婷婷| 婷婷刺激综合| 99视频网址| 久久伊人五月天| 欧美成人精品老美女噜噜噜| 久热播这里只有精品| 三区激情四射av| 成人色五月天婷婷| 五月丁香亭亭成人电影| 久色中文| 色婷婷丁香五月综合| 亚洲热综合网在线观看| 婷婷五月色亚洲| 五月丁婷婷| 色五月丁香激情视频| 亚洲 精品 综合 精品| 天天舔天天插天天爱| 色色色综合网| www.粉嫩av.com| 九九久久精品| 最新无毒无码AV| 极骚大香蕉伊人| 搡BBBB搡BBB搡18 | 91日婷婷在线| 五月丁香花激情综合网| 看婷婷五月天网| 任你爽视频| 9 1超碰九色| 激情综合五月天| 婷婷91| 久久人妻精品| 激情五月婷婷老师| 绿色小导航AV| 色婷婷丁香五月天| 丁香六月婷婷综合缴| 久久a热| 五月婷婷综合视频| 亚洲色99| 操97在线观看| 天天综合五月天| 久久久8| 色五月天影视| 激情婷婷五月天日本系列| 99免费视频网| 欧美在线97| 99热这里只有精品4| www.色婷婷.com| 一二线视频 另类| 人人操超碰| 91婷婷五月丁香碰| 丁香五月婷婷久久久| 色综合久久88色综合中文字幕| 久色欧美| 少妇综合网| 午夜天堂一区人妻| 亚洲免费观看高清完整版AV线| 综合亚洲六月婷婷在线| 婷婷丁香五月综合激情小说| 久久伊人婷婷| 偷拍丁香九月激情| 玖玖色综合网| 丁香五月婷婷高清| 婷婷色色网| 九九热99精品| 色婷婷视频在线| 亚洲网在线观看| 色噜久| 99色色热| 丁香六月婷婷色播| 色综色网| 五月天婷婷色五月天| 丁香婷婷成人在线播放| 激情五月色婷婷| 97自拍视频网| 国产日韩欧美性生活| 婷婷五月激情视频在线| 婷婷五月天基地| 中文字幕丰满乱孑伦无码专区 | 色999五月色| 丁香五月婷婷高清| 天天操夜夜玩!| 色六月婷婷| 九九婷婷激情综合网| 五月色网| 五月天淫乱视频| 久久久久久久人妻| 亚洲精品国产成人AV在线| 九九这里精品| 大香蕉五月天婷婷| 婷婷五月天六点丁香五月| 欧美色小说婷婷| 日本色色色| 色99xx| 99热 精品在线| 玖玖婷婷色五月| 婷婷玉月丁香五月在线视频| 激情图片五月天| av无码电影| 色综合久久88色综合中文字幕| 午夜天堂啪啪| 日本WWW九九九| 一区二区三区四区无码| 色丁香五月婷婷| 六月丁香色色色| 日本不卡五月婷婷丁香| 少妇2做爰HD韩国电影| 超碰人人艹| 激情综合激情综合| 在线亚洲综合| 91久久婷婷人人澡草| 欧美交换配乱吟粗大25P| 婷婷婷久久久| 天天干天天拍| 夜夜躁婷婷AV| 丁香五月欧美| 色色五月天com| 色五月婷婷啪啪五月| 色欲天天综合网| 91超碰人人操| AAA久久| 91日韩美女被插视频| 女力报到正好爱上你| 风流少妇A片一区二区蜜桃| 五月色婷婷亚洲 | 香蕉婷婷| 婷婷五月天.com| 中文字幕在线资源| 二色av| 亚洲综合色婷婷| 国产91九色| 深爱激情综合网| 色天使久久综合| 激情婷婷丁香色情五月天| 超碰av在线| 丁香六月婷婷综合激情欧美| 一区二区三区视频| 婷婷欧美偷拍综合| 日本少妇裸体做爰高潮片| 久月丁香爱婷婷综合| 99久久综合网| 婷婷五月天伦理| 中文字幕无码人妻少妇免费视频| 手机AVAV天堂看网| 97色五月丁香婷婷| 婷婷六月丁香欧美视频在线| 99热狠狠操| 日韩在线9| 日韩高清成人| 激情五月婷| 日本女va| 激情图片亚洲| 婷婷六月天激情| 操人精品| 婷婷伊人网| 亚洲一个色| 97自拍视频在线| 五月丁香啪啪激情| WWW、日本色丁香、co m| 夜夜夜夜夜操| 国产操碰| 日本精品人妻无码77777| 色五月成人在线| 女人天堂AV| pom538精品视频| 五月婷婷影| 草操网| 五月伊人91| 色色亚洲视频| 亚洲色色爱| 在线五月婷| 久久综合五月天| 色噜噜综合网| 99爱在线| 婷婷五月激情中文字幕| 色丁香婷婷| 香蕉狠狠爱视频| 粉嫩AV久久一区二区三区| 婷婷五月久久| 91色色色| 久久精彩视频99| 少妇高潮一区二区三区99欧美| 婷婷久久久久久久| 精品一区二区三区三区| 日日干日日| 久久思思精品| 久久视这里只有精品| 亚洲成av人影院| 色婷婷婷婷五月天| 欧美va亚洲va| 五月婷久久草| 综合aV在线| 久久婷婷五月综合色丁香| 亚洲综合视频天天精品| 色婷婷操逼网| 成人做爰A片免费看视频| rr天天操| 激情五月综亚网| 亚洲第一影院高清无码网站| 中字幕视频在线永久在线观看免费| 激情五月天无人视频在线| 亚洲综合99| 天天爱天天操| 国产婷婷五月中文字幕高清| 色婷六月| 丁香婷婷影院| 99精品视频在线观看| 无码99| 99热久久最新地址| 激情四射五月天| 婷婷五月另类网站| 极品少妇XXXX精品少妇偷拍| 婷婷射丁香| 五月丁香婷婷激激激综合网色播| 99 热| 色婷六月| 成人 九九九九| 久久在线视频免费观看| 丁香婷婷色五月| 五月亭亭直播| 夜丁香五月婷婷| 五月六月激情婷婷| 亚洲色婷婷色| 婷婷激情五月| 久久99久久99精品免观看粉嫩| 丁香五月婷婷激情四射深爱激情| 在线播放中文字幕| 亚州操人在线视频| 狼人狠狠操| 人人爱人人摸人人澡| 丁香六月亚洲| 色播五月婷婷综合| 丁香婷最新动态| 婷婷色五月激情强奸四射| 超碰99热精品在线| www.色色色com| 深爱五月婷婷| 丁香五月天视频| 小视频久久久aaa| 最新久久网址| 97狠狠色| 婷婷色网站| 亚洲第一综合| 激情五月天视频| 五月丁香花婷婷玉莉AV| 色播五月天婷婷老师| 日本无码专区| 2025超碰| 丁香五月综合狠狠| 一级内射毛片| 色婷婷AV久久| 玖玖婷婷五月天毛片| 91色性感五月婷婷丁香| 丁香五月天91| 97成人在线视频| 综合色七七| 色婷婷狠狠禁18久久| 国产精品久久久久久久久久 | 大陆肏屄视频| 九九精品在线观看视频6| 丁香色五月婷婷91桃色| 色色色色色色色色综合网| 丁香美女主播视频在线观看| 国产精品色婷婷AV综合色色| 99视频精品在线| 亚洲成人人人操| 五月丁香六月婷婷亚洲综合| 激情综合色婷婷六月天| 综合色色婷婷| 久久精品99| WWW.婷婷| 无码激情AAAAA片-区区| 不卡的AV网站| 黄页免费一级视频懂色| 丁香五月综合激情啪啪| 婷婷 久综合| 色综久久AV| 五月综亚洲| 亚洲色vA| 99成人| 4399在线日本A片| 五月激激网w'w'w| 久久婷婷丁香五月一二三| 五月情四婷婷| 五月亚洲| 99色免费观看全部| 97干干干丁香| 欧美操逼天堂| 综合丁香婷婷五月天| 青青草深爱激情网| 永久精品| 97在线精品| 日本欧美成人片AAAA| 婷婷五月丁香激情| 狠狠爱婷婷丁香| 狠狠爱综合网| 五月天婷婷五月| 五月综合色| 综合网五月| 香蕉人妻AV久久久久天天| 色吧网综合| 久久九九中文字幕| 久热这里有精品视频| 激情五月婷婷综合色播小说| 97久久人人| 色婷婷成人做爰A片免费看网站| 婷婷桃色网| 久婷婷婷| 亚洲精品五月| 狠狠操狠狠爱| 日本97在线看片| 日本综合色色| 婷婷丁香五月六月激情| 五月天婷婷操逼视频| 五月丁香影视| 九月久久婷婷| 五月天激情婷婷五月天久久| 96精品久久久久久久久| 五月开心播播网| 99狠狠| 六月丁香五月激情网| 天堂综合久久 | www.婷婷com| 国产综合婷婷| 激情 婷婷 丁香五月天| 六月丁香啪啪啪| 婷婷五月丁香基| 狠狠操综合| av五月天婷婷丁香| 中文字幕成人| 毛片新网地| 久久草婷婷丁香网站| www激情| 超级碰碰视频无码| 九九热在线观看视频网站| 丁香五月区| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 激情网第四色| 在线中文字幕视频| 卡视频1区2区| 天天色天天噜| 少妇熟女视频一区二区三区| 婷婷五月天堂| 欧美色五月| 99天堂在线观看免费视频| 人人爽在线视频综合网| 97视频久久| 天天综合色99| 热这里| 丁香五月激情啪啪| 天天爽人人综合免费7799| WWW,五月| 韩国97天堂| 六月婷婷七月丁香| 高清一区二区三区日本久| 热久久91| 国产亚洲精品久久一区二区三区| 国产九月婷婷| 欧美Va在线| 色情成人五月天| 操操人人| 五月婷婷欧美| 97色欧美| 欧洲一区二区| 婷丁香五月天| 日韩淑女人妻luan伦激情精品一区二| 狠狠久久婷| 丁香五月婷婷色偷偷| 麻豆观看夏晴子| 激情丁香淫荡婷婷| 久久久GOGO无码啪啪艺术| 26UUU| 狠狠草在线观看| 色激情综合| 五月天激情影院| 大香蕉久久久| 丁香五月综合| 另类图片天天影视在线观看| 日本人妻A片成人免费看片| 丁香五月人妻| 日本三级黄色大片| 九九香蕉网| 五月开心激情| 精品国产va久久久久| 成年人丁香五月| 这里有精品99| 伊人激情AV一区二区三区| 天天做综合| 日本片日本片祼观看网站在线看中文版网页在线看 | 日日日影院| 久久看九九90| 婷婷天天色| 婷婷六月综合基地| 超碰在线9| 久操综合| 五月丁香久久| 激情影院免费视频婷婷五月天 | www.精品99| 亚洲乱码日产精品BD| 五月丁香天堂网婷婷| 激情五月黄色| 婷婷五月激情丁香| 亚洲成人一区| 欧美大片免费播放器| 丁香5月啪啪| 99热99日天天干| 女人天堂AV| 激情av| 99ER热精品视频| anquye五月| 色射7856五月天激情四射| 99.N在线视频| 亚洲日本激情| 玖玖伊人网| 国产亚洲精品久久一区二区三区| 丁香五月,开心五月,成人婷婷| 国产JK精品白丝AV在线观看| 激情综合网激情五月丁香| 伊人大香久久| 99久久99久久综合| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 九一牛视频探花| 色婷婷69| 丁香五月日本| 狠狠色大香蕉| 99只有精品| 五月婷婷六月丁香在线视频| 99re久久| 五月天婷婷狂暴白浆| 超碰人人干| peg 2区三区四区的| 九九热内射| 婷婷的99视频网站| 九九免费在线视频| Www99热| 八戒青柠影视剧在线观看| 99热99热在线| 婷婷五月激情网站| 久久丁香九| 99久久婷婷| 开心激情五月天网| henhencao国产在线| 97精品综合久久内射| 久久色情| 婷婷五月精品中文字幕| 亚洲五月天伊人| 日韩AV在线免费观看| 狠狠CAO日日穞夜夜穞AV| 第四色大香蕉| 亚洲婷婷六月天| 99热亚洲| 亚洲婷婷综合视频| 亚洲色婷婷| 婷婷射图| 五月婷婷婷婷| 五月色婷婷综合丁香精品无遮挡| 99热免费精品| 久久日曰| 婷婷丁香五月天综合在线日韩| 九九aV| 婷婷涩涩五月天| 五月天婷婷久色| 五月天社区| www.99热这里精品| 五月婷三级片| 欧美激情综合| 成人午夜无码视频| 人人爱人人草| 婷婷丁香五月综合激情视频| 精品无码色| 久9视频| 丁乡久久| 97婷婷久久丁香| 国产XXXX搡XXXXX搡麻豆| 亚洲第一第二网站| 91精品久久久久| 999精品久久久久久久| 韩国真做片在线观看| 一区二区三区视频| 99玖玖在线视频| 日本色狠狠| 99亚洲色| 99热在线中文字幕| 天天摸,天天爽| 五月天亚洲图片婷婷| 操逼六区| 丁香 亚洲 久久| 在线亚洲综合| 神马久久五月天| 欧美天堂婷婷日韩| 婷婷五月丁香五月基地| 精品久久久91久久影视网| 婷婷五月在线视频| 性爱久久| AV性爱网| 在线不卡视频| 狠狠干狠狠干| 欧洲色色| 99精品成人无码A片观看金桔| 色情五月丁香| 99在线免费视频| 国产精品色| 丁香五月天激情| 婷婷五月天小说| 99久久网站| 五月天婷婷色| 少妇AB又爽又紧无码网站| 亚洲乱码精品久久久久..| 1000部毛片A片免费观看| 婷婷五月天综合网| 国产成人AV| 97五月婷| 色欧美日| 九九综舍久久| www.99婷婷| 婷婷亚洲日本| 月月AV| 99精彩视频在线观看| 丁香六月视频免费观看| 五月婷婷综合精品| 五月婷婷六月丁香在线视频免费在线观看| 婷婷丁香五月天激情| 人人草人人舔| 午夜大香蕉| 六月丁丁香| 黄色国久久| 丁香五月婷婷啪啪视频| 毛片蕉地一二| 亚洲99在线| 中文字幕AV在线播放| 欧美天天草人人草| 精品99爱免费视频在线观看| 丁香五月开心婷婷| 日本一级一片免费视频| 亚洲激情网站无码| 天天干天天色天天干| 丁香激情综合| 91碰在线| 日本精品久久久久中文字幕| 久久婷鲁| 九热精品| 97婷婷丁香五月天激情图片| 丁香五月激情啪啪| 日本久久综合| 强辱丰满人妻HD中文字幕| 婷婷五月丁香图片人人操| 99在线免费视频播放| 人人综合久| 九九热免费观看视频| 六月亭亭久久综合激情| 久久久无码精品成人A片小说| 91欧美| 婷婷色色亚洲| 99网址在线看| 伊人国产婷婷五月天| 99热这里全都是精品| 五月激情站| 五月停停大香蕉| 在线观看免费狠狠色丁香香综合| 亚州欧美国产久精国产99综合视频| 夜夜做夜夜愛| 九九黄色网| 久cao香蕉影院| 丁香激情网| 天天干天天操天天爱| 五月丁香婷婷色色色| 操人妻AV| 99热1| 99re这里有精品手机在线| 五月婷婷色播| 人妻熟女一区二区AV| 亚洲色图五月丁香| 丁香五月冃欧美| 亚洲成人在线播放| 婷婷五月丁香激情图片| 国产噜一噜天天噜| 久热免费| 成人美女网| 午夜成人网站在线观看| 五月天婷婷青青草| 丁香五月电影| 九九超日本| 天天插夜夜爽| 亚洲日日日| 在线综合91| 久久伊人日日夜夜| 人人澡玖玖一| 丁香婷婷五月激情四射网| 狠色综合网| 伊人婷婷色| ztEJj| site:hcxsz888.com| 天天爱天天操| 雪千夏麻豆| 五月综合视频在线| 欧美六月| 色青五月天| 26uuuuuuuu国产| 婷婷五月成人| 91久操| 五月天激情小说| 影音先锋男人av资源站| 色另类五月天| 国产激情综合五月久久| 99色久| 五月天激情av| 久久思思热视频| 被男人添B超爽视频| 97人人草| 99色婷婷视频| 五月婷婷丁香大陆免费| 激情深爱五月天| 色婷婷四虎| 五月丁香无码| 亚洲黄色网址| 婷婷四月 成人 狠狠干| 99热这里只有精品最新| 密着浓厚中出乚交尾GvG935| 婷婷丁香77777| 99成人小视频| 国产91视频| 啪啪色区| 99网99热| 久久艹网| 人妻久久久久久久 | 99热精品超碰| 色欲色香伊人| 婷婷亚州综合| 五月婷婷激情久久| 九月婷婷人人操人人舔人人爱| 丁香五月婷婷精品视频| 少妇真实被内射视频三四区| 97激情五月天| 成人做爰A片免费看网站找不到了| 天天日日人| 亚洲第一综合| 色青青五月| 全部老头和老太XXXXX| 婷婷综合五月激情| 7EzOBIhNq85TO| 五月婷婷色情| 久久日婷婷| 亚洲婷婷免费| www一起操| 91操片| 色综合色| 国产激情久久久| 欧美亚洲999| 超碰97在线操| 色五月婷婷色五月| 一操久久| 亚洲AV网站| 五月婷婷性爱| 中文字幕 码精品视频网站| 就99这里只有精品| 97超碰,人人舔,人人操,人人摸| 五月桃花网综合| 婷婷五月精品在线| 大香蕉久久伊人网| 婷婷激情综合| 婷婷五月天久久| 久久久久婷婷| 色色亚卅| 超碰高清在线| 色色射| 成人AV在线网站| 黄色av网站在线免费播放| 人妻内射视频| 激情综合亚洲| 爱爱网址9| 99热在这里只有精品| 久久综合首页| 狠狠狠狠狠狠| 久久九九大香蕉电院| 丁香色影院| 99这里只有精品|v| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 婷婷中文字幕网站| 激情www| 亚洲激情综合网| 疯狂做受XXXX高潮A片| 人妻自慰高清合集| 手机在线日韩视频中文字幕| 五月丁香六月婷综合成人综合| 五月婷婷插一插| 99色免费| 99久在线精品99re8| 久久精品66| www、丁香五月天| 成人综合网站| 天天做好综合色| 桃色Av色哟哟| 婷婷六月天| 激情五月综合| 婷婷五月天色| 天天综合亚洲综合网天天αⅴ| 熟妇天天综合| 色色色色色色网站| 激情五月婷婷丁香综合网| 色五月色五天色情网| 婷婷伊人五月天| 丁香五月婷婷啪| 五月综合影院| 日韩成人精品中文字幕| 婷婷五月丁香国产| 五月天色丁香| 色亚洲欧洲| 六月丁香基地| 91色吧网| 婷婷丁香成人色综合| 中文激情网| 桔色成人在线| 丁香久久AV| 久久五月激情| 午夜婷婷久久 | 伊人婷婷青青cao| 天天综合色99| 亚洲精品久久久无码| 午夜爱爱网站| 五月丁香欧美综合免费视频| 久久伊人婷婷| 婷婷五月激情综合啪啪| 欧美成人AAA片一区国产精品| 六月丁香色色| 精品人妻久久久久| www.色婷婷。com| av在线免费播放| 一区二区三区四区牛| 久久性爱视频| 超碰九色| 噜噜狠狠色综合久| 性色视频| 九九免费在线视频| 婷婷五月中文在线| 国产资源在线视频| 五月色亭丁香| 国产无套精品一区二区| 婷婷五月天堂| 成人av在线电影| 99精品在线观看视频| 99er视频在线| 精品九九视频在线观看| 九九热亚洲中文在线观看免费| 亚洲色色五月天| 99啪视频在线观看| 99热午夜精品| 国产美女无遮挡裸体毛片A片| 六月婷婷色综合| 九色无码| 天天操婷婷| 思思精品热在线| 69激情小说| 色天天狠狠干| 综合五月天亚洲婷婷| 99超级碰免费视频| 99日本黄站| 色五月五月婷婷| 996精品热视频| 欧美成人日韩| 婷婷丁香视频| 欧美熟妇一区二区三区| 97碰碰免费.视频| 丁香花社区av| 婷婷五月天 丁香五月天 裸体| 无码AV免费精品一区二区三区| 亚洲成人综合在线| 99热这里只有精品55| 日韩AV大全| 天天干 夜夜爽| 色综合99| 色婷婷电影网| 狠狠色综合网| 九九热视频在线观看| 五月天婷婷综合网| 年轻的妺妺伦理HD中文| 欧美丰满熟妇BBB久久久| 国产毛多水多女人A片| 农村熟妇高潮精品A片| 无遮挡国产高潮视频免费观看| 欧美内射AAAAAAXXXXX| 亚洲欧洲中文日韩久久AV乱码| 国产精品人成A片一区二区| 久久AAAA片一区二区| 青青草婷婷五月天| 国产精品成人网址| 色色网91| 久久人人九| 婷婷久月| 五月综合激情久久| 色婷婷深爱五月| 久久这里99| 色久天| 五月丁香花视频| 天天肏夜夜肏| av九九| 激情网 久久| 激情丁香五月综合| 99狠狠操一| 五月天狠狠网站| 日本五月丁香| 色永久| 香蕉操亚洲| 性色五月天| 97在线观视频免费观看| 99热最新国内| 五月丁香色婷婷久久| 婷婷色婷婷亚洲成人| 美女要搞搞天天搞搞搞网站| 婷婷五月图片小说视频| 五月婷婷日| 丁香五月色| 婷婷在线中文字幕| 97自拍99| 色久播播| 婷婷五月天亚洲综合| 五月丁香六月婷婷成人电影| 五月色情婷婷开心五月色情| 亚洲性爱日韩无码| 人人摸人人| 五月天激情婷婷| 久99久视频精品| 97日在线视频| www.99热国产| 丁香婷婷视频| 玖玖资源在线视频| 国产一区二区av免费| 99热资源在线| 婷婷五月天无码视频| 久久久久丁香婷婷五月天| 丁香九月激情| 中国操逼99| 丁香五月网址| 99re思思精品在线观看| www.maotanji.com| 久久久天堂国产精品女人| 日本情色一区二区| 99re这里只有精品99| 天天日天天日天天搞| 婷婷性爱网| 国产,欧美,学生妹,视频| 日韩99视频| 色婷婷五月网| 中文字幕在线不卡| 五月丁香综合色婷婷| 激情综合网五月丁香| 久久九九99亚洲国产久精综合| 综合激情在线| 久月久在线视频| 色五月婷婷基地| 婷婷色成人| 五月花免费视频| 国产亚洲成人综合| 做爱夜夜干天天操| 亚洲VA口| 免看黄大片AA | 五月丁香福利| 这里精品| 六月婷婷综合| 91人妻人人做人碰人人爽九色| 99爱无码| 色五月婷婷网| 成人av在线电影| 天天撸天天干天天插| 99视频内射三四| 婷婷六月视频| 美英法精品无码免费视频| 五月丁香在线| 中文精品在| 日本久久爱| 免费看欧美成人A片无码| 婷婷黄色| 婷婷成年人免费视频| 97夫妻超碰| 丁香五月六月久久综合 | www.五月天婷婷| 亚洲综合网在线| sS丁香五月婷婷| 日韩在线视频中文字幕| 色婷婷AV久久| 五月天婷婷久久综合| 天天色粽合合合合合合合| 六月丁香停| 欧美va在线| 欧美成人猛片AAAAAAA| 六月丁香婷婷视频综合在线观看| 91大屁股精品| 人人操大| 婷婷爱五月天人人爱| 久久视频在线视频| 五月天日日操夜夜操 | 超碰日韩人妻在线| 五月天婷综合网站| 丁香五月天堂网| 影视av久久久噜噜噜噜噜三级| 婷婷九月丁香| 极品五月天| 激情综合色五月丁香六月亚洲| 成人精品视频99在线观看免费| 天天日日夜夜爽| 亭亭五月色男人| 日韩久久色| 超碰二区| 99啪啪网| 九九热精品| 99久久久久久| 天堂色婷婷| 99福利导航| 99婷婷国产最新视频| 精品久久久久久久人妻| 天天肏天天插| 五月激情影院| 琪琪理论片| 天天爽天天操| 五月综合婷婷开心网| 九九热精品在线| 亚洲丁香五月天在线视频| 思思热在线视频精品| 久久五月人人摸| 伊人综合网站| 日日鲁鲁夜夜爽爽| 夜夜操加勒比| 综合色色婷婷| 亚洲AV日韩在线观看| 天天日,天天射,天天舔| 色开心五月婷婷丁香HD| 丁香婷婷五月天在线视频| 玖玖婷婷婷丁香五月| 色在线99| 五月色婷| 久久XX| 久久五月丁香六月婷| 婷婷在线中文字幕| 五月丁香无码| 久热精品在看| 狼人婷婷综合| 九九碰九九爱97| 欧美色五月| 色婷婷六月精品| 色综合久久88色综合天天| 久久精彩视频| www.99热视频| 婷婷五月天色色| www.操逼comm| 亚洲区在线| 五月综合视频| 亚洲欧美成人在线| 婷婷丁香五月综合| 亚洲激情色色| www.com色播五月天| 黄色五月婷婷| 这里只精品| 久久受www免费人成| 五月开心网| 色9999日韩国产| 风流少妇A片一区二区蜜桃| 五月天婷婷中文字幕在线播放| 久久婷婷夜| 五月婷激情| 思思w99| 五月婷婷丁香六月| 99热这里有精品| 狠狠五月激情婷婷直播片| 婷婷色偷拍| 亚洲va综合va国产va中文| www.夜夜騎夜夜狠| 五月丁香色婷婷色| 大香蕉九九| 激情综合激情五月一起草| 玖玖爱综合网| 欧美性生交XXXXX无码小说| 99视频精品全部观看10| 五月激情啪啪| 久久九九激情五月天 | 六月丁香啪| 婷婷色色宗合网| 91狠狠色丁香婷婷综合久久精品| 99色1| 九九这里是免费的视频5| 无码人妻少妇色欲AV一区二区| 91婷婷五月天嫩女| 久久只有精| 色婷婷色丁香色欲av| 99热日本| 色五月视频,小说| AAA久久久| 丁香五月玖玖| 色综合天天| 五月天综合在线观看视频|