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

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

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

在我們?nèi)粘L幚泶竽P偷妮敵鰰r,經(jīng)常希望輸出的結(jié)果為結(jié)構化的(例如輸出json格式),這樣有助于我們進行結(jié)果的后處理。但是在模型輸出超過限制和流式輸出時就會遇到問題了,由于答案沒完全輸出,轉(zhuǎn)json就存在問題。

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

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


本文轉(zhuǎn)載自公眾號哎呀AIYA

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



?著作權歸作者所有,如需轉(zhuǎn)載,請注明出處,否則將追究法律責任
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 免费视频一区二区 | 激情网站在线观看 | 精品视频一区二区三区在线观看 | 久久夜色精品国产 | 丝袜久久 | 久久成人一区二区三区 | 精品一区二区三区免费毛片 | 黄网站免费在线看 | 一区二区三区视频在线观看 | 国产乱码一二三区精品 | 国产日韩精品视频 | 久草在线在线精品观看 | 色网站入口 | 亚洲高清成人在线 | 天天天久久久 | 亚洲第一福利视频 | 人人爽日日躁夜夜躁尤物 | 欧美精品在欧美一区二区少妇 | 国产高清精品在线 | 人操人人干人 | 亚洲第一区久久 | 美女视频一区二区三区 | 精品91久久 | 一区二区三区四区av | 国产小视频在线看 | 亚洲国产一区二区三区在线观看 | 免费xxxx大片国产在线 | 激情国产| 久久精品国产一区 | 国产不卡视频 | 日韩在线高清 | 特级丰满少妇一级aaaa爱毛片 | 国产精品99久久久久久www | 婷婷激情在线 | 亚洲国产欧美一区二区三区久久 | 国产视频一区二区三区四区五区 | 暴草美女| 国产成人精品午夜 | 免费黄色av | 国产精品区二区三区日本 | 久久成人免费视频 |