成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

支持大模型流式輸出的JSON提取工具 原創(chuàng)

發(fā)布于 2024-9-14 14:22
瀏覽
0收藏

在我們日常處理大模型的輸出時,經(jīng)常希望輸出的結果為結構化的(例如輸出json格式),這樣有助于我們進行結果的后處理。但是在模型輸出超過限制和流式輸出時就會遇到問題了,由于答案沒完全輸出,轉json就存在問題。

大型語言模型(LLMs)產(chǎn)生結構化輸出的原因包括:

  • 提高可讀性:結構化輸出使得信息以一種邏輯清晰、易于理解的方式呈現(xiàn),提高了信息的可讀性和用戶體驗。
  • 便于處理:結構化數(shù)據(jù)可以更容易地被機器讀取和處理,有助于后續(xù)的數(shù)據(jù)分析、存儲和檢索。
  • 支持自動化:結構化輸出可以方便地與自動化工具和流程集成,例如自動填充表格、數(shù)據(jù)庫錄入或觸發(fā)特定的業(yè)務流程。
  • 增強一致性:通過規(guī)定輸出的格式和結構,可以確保不同時間或不同情境下產(chǎn)生的輸出具有一致性。
  • 促進數(shù)據(jù)交換:結構化數(shù)據(jù)遵循特定的標準和格式,便于在不同的系統(tǒng)和應用程序之間進行數(shù)據(jù)交換。
  • 改善信息檢索:結構化輸出使得搜索引擎和檢索系統(tǒng)能夠更準確地索引和檢索信息。
  • 適應多種用途:結構化數(shù)據(jù)可以根據(jù)需要被轉換成不同的格式,以適應報告、分析、可視化等多種用途。
  • 減少歧義:明確的結構有助于減少對輸出內容的誤解或歧義。
  • 促進多模態(tài)交互:結構化輸出可以支持與視覺、聲音等多種模態(tài)的交互,提高多模態(tài)應用的體驗。
  • 提高可維護性:當需要更新或維護輸出內容時,結構化數(shù)據(jù)更容易管理和修改。

工具功能介紹:

  • json補全
  • 配合流式輸出
  • 解析markdown格式
  • 字段校驗

效果展示

部分輸出的

text = '''{"name":"張三", "age":'''
print(parse_json_markdown(text))


# {'name': '張三'}

markdown格式

text = '''```json\n{"name":"張三", "age":27'''
print(parse_json_markdown(text))


# {'name': '張三', 'age': 27}

多維嵌套

text = '''```json\n{"name":"張三", "age": 27, "愛好": ["羽毛球'''
print(parse_json_markdown(text))


# {'name': '張三', 'age': 27, '愛好': ['羽毛球']}

核心代碼介紹

核心處理代碼如下:

new_chars = []
stack = []
is_inside_string = False
escaped = False


# Process each character in the string one at a time.
for char in s:
    if is_inside_string:
        if char == '"' and not escaped:
            is_inside_string = False
        elif char == "\n" and not escaped:
            char = "\\n"  # Replace the newline character with the escape sequence.
        elif char == "\\":
            escaped = not escaped
        else:
            escaped = False
    else:
        if char == '"':
            is_inside_string = True
            escaped = False
        elif char == "{":
            stack.append("}")
        elif char == "[":
            stack.append("]")
        elif char == "}" or char == "]":
            if stack and stack[-1] == char:
                stack.pop()
            else:
                # Mismatched closing character; the input is malformed.
                return None


本文轉載自公眾號哎呀AIYA

原文鏈接:??https://mp.weixin.qq.com/s/-I3wXkRGgyEuRYUQa84AEQ??



?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 羞羞视频在线观看免费观看 | 天天操综合网 | 欧美日韩在线综合 | 国产99小视频| www.日本在线播放 | 久久精品色视频 | 在线观看成年视频 | 国产成人精品一区二区三区四区 | 超碰国产在线 | 嫩草视频免费 | 毛片久久久 | 成年人在线电影 | 在线免费观看视频你懂的 | 日韩天堂av | 亚洲性综合网 | 高清欧美性猛交xxxx黑人猛交 | 一级片子| 欧美国产91| 超碰在线播 | 亚洲精品一区二区三区在线观看 | 超碰97av | 在线播放中文字幕 | 久久久黑人 | 香蕉av免费| 狠狠ri| 老司机狠狠爱 | 欧美黑人一级爽快片淫片高清 | 精品欧美一区二区三区久久久 | 国产欧美精品一区二区三区 | 亚洲免费高清 | 久久九 | av大片在线观看 | 久久99深爱久久99精品 | 久久久久久毛片免费观看 | 亚洲精品久久久一区二区三区 | 伊人狠狠干| 国产乱码精品一品二品 | 国内精品久久久久 | 国产网站久久 | 国产精品久久一区二区三区 | 欧美色性|