最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中類型注解Literal的實(shí)現(xiàn)

 更新時間:2026年07月15日 08:33:14   作者:亂寫代碼  
本文主要介紹了Python中類型注解Literal的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

查看LangChain源碼時,發(fā)現(xiàn)Literal

class Document(BaseMedia):
    """Class for storing a piece of text and associated metadata.

    !!! note

        `Document` is for **retrieval workflows**, not chat I/O. For sending text
        to an LLM in a conversation, use message types from `langchain.messages`.

    Example:
        ```python
        from langchain_core.documents import Document

        document = Document(
            page_content="Hello, world!", metadata={"source": "https://example.com"}
        )
        ```
    """

    page_content: str
    """String text."""

    type: Literal["Document"] = "Document"

作用:靜態(tài)代碼檢查時,如果type為其他值,即!="Document",會發(fā)生報(bào)錯。 注:在不實(shí)際運(yùn)行程序(不執(zhí)行代碼)的情況下,通過分析源代碼的文本結(jié)構(gòu)來找出潛在的錯誤。

進(jìn)一步,LangChain 框架中的深層作用

序列化時的“防偽標(biāo)簽” 當(dāng) LangChain 將 Document 對象轉(zhuǎn)換成 JSON 字符串時,type: Literal["Document"] 保證了輸出的 JSON 里一定會包含這個標(biāo)簽 如下:

print(f"轉(zhuǎn)換格式后:\n{json.dumps(document1_json, ensure_ascii=False, indent=2)}")

# 轉(zhuǎn)換格式后,{
#   "lc": 1,
#   "type": "constructor",
#   "id": [
#     "langchain",
#     "schema",
#     "document",
#     "Document"
#   ],
#   "kwargs": {
#     "metadata": {
#       "author": "張三",
#       "page": 10
#     },
#     "page_content": "LangChain 是一個用于開發(fā)大語言模型應(yīng)用的框架。",
#     "type": "Document" 
#   }
# }

配合 Pydantic 的運(yùn)行時校驗(yàn) Pydantic 會直接拋出驗(yàn)證錯誤,防止臟數(shù)據(jù)污染系統(tǒng)

例子:

from pydantic import BaseModel
from typing import Literal

class MyClass(BaseModel):
    type: Literal["red"] = "red"

obj = MyClass()
obj.type = "Image"  # ? Pydantic 會在運(yùn)行時拋出 ValidationError

到此這篇關(guān)于Python中類型注解Literal的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python 類型注解Literal內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • python生成隨機(jī)唯一id的幾種實(shí)現(xiàn)方法

    python生成隨機(jī)唯一id的幾種實(shí)現(xiàn)方法

    在Python中生成隨機(jī)唯一ID有多種方法,根據(jù)不同的需求場景可以選擇最適合的方案,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07
  • Python3 socket同步通信簡單示例

    Python3 socket同步通信簡單示例

    這篇文章主要介紹了Python3 socket同步通信功能,結(jié)合簡單實(shí)例形式分析了Python socket同步通信客戶端與服務(wù)器端實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-06-06
  • 帶你了解python裝飾器

    帶你了解python裝飾器

    Python中的裝飾器是你進(jìn)入Python大門的一道坎,不管你跨不跨過去它都在那里。Python中的裝飾器的概念經(jīng)常會讓人搞得一頭霧水,所以今天就好好來分析一下python中的裝飾器
    2017-06-06
  • 1秒鐘使用python建立文件服務(wù)器的方法步驟

    1秒鐘使用python建立文件服務(wù)器的方法步驟

    本文主要介紹了1秒鐘使用python建立文件服務(wù)器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 膠水語言Python與C/C++的相互調(diào)用的實(shí)現(xiàn)

    膠水語言Python與C/C++的相互調(diào)用的實(shí)現(xiàn)

    這篇文章主要介紹了膠水語言Python與C/C++的相互調(diào)用的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Python函數(shù)any()和all()的用法及區(qū)別介紹

    Python函數(shù)any()和all()的用法及區(qū)別介紹

    any函數(shù):any(x),只要x中有一個不為空,0,false就返回True,否則返回False。all(x)函數(shù)必須x中的所有元素均不為空,0,false才會返回True,否則返回False。接下來通過本文給大家介紹Python函數(shù)any()和all()的用法及區(qū)別介紹,需要的朋友參考下吧
    2018-09-09
  • python 實(shí)現(xiàn) hive中類似 lateral view explode的功能示例

    python 實(shí)現(xiàn) hive中類似 lateral view explode的功能示例

    這篇文章主要介紹了python 實(shí)現(xiàn) hive中類似 lateral view explode的功能示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對應(yīng)的均值

    Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對應(yīng)的均值

    這篇文章主要介紹了Python 實(shí)現(xiàn)將numpy中的nan和inf,nan替換成對應(yīng)的均值,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python可變參數(shù)會自動填充前面的默認(rèn)同名參數(shù)實(shí)例

    Python可變參數(shù)會自動填充前面的默認(rèn)同名參數(shù)實(shí)例

    今天小編就為大家分享一篇Python可變參數(shù)會自動填充前面的默認(rèn)同名參數(shù)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • python監(jiān)控日志中的報(bào)錯并進(jìn)行郵件報(bào)警

    python監(jiān)控日志中的報(bào)錯并進(jìn)行郵件報(bào)警

    這篇文章主要為大家介紹了python監(jiān)控日志中的報(bào)錯并進(jìn)行郵件報(bào)警的實(shí)現(xiàn)實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06

最新評論

济源市| 公主岭市| 新乡县| 姚安县| 彝良县| 佛山市| 靖江市| 沙雅县| 白朗县| 淮南市| 东阳市| 九龙县| 讷河市| 安远县| 巴马| 扬中市| 阳新县| 中宁县| 承德县| 玉山县| 遂溪县| 清镇市| 博野县| 清苑县| 尉犁县| 三江| 高州市| 水富县| 峨眉山市| 四会市| 竹溪县| 乌审旗| 石城县| 白银市| 浦东新区| 上饶市| 永平县| 平顶山市| 微博| 梁平县| 云和县|