国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

llama_index中query_engine的response_mode詳解

這篇具有很好參考價(jià)值的文章主要介紹了llama_index中query_engine的response_mode詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

0. 前言

在使用llama_index進(jìn)行內(nèi)容提煉、文章總結(jié)時(shí),我們可以通過(guò)設(shè)置不同的ResponseMode來(lái)控制生成響應(yīng)的結(jié)果。

在上篇“使用langchain及l(fā)lama_index實(shí)現(xiàn)基于文檔(長(zhǎng)文本)的相似查詢與詢問(wèn)”博客中,我們給出了如下代碼(部分):

llm_predictor = LLMPredictor(llm=OpenAI(temperature=0, model_name=model_name,max_tokens=1800))
service_context = ServiceContext.from_defaults(llm_predictor=llm_predictor)
query_str = "美女蛇的故事是什么?"
response_mode = "compact"
"""
    REFINE = "refine"
    COMPACT = "compact"
    SIMPLE_SUMMARIZE = "simple_summarize"
    TREE_SUMMARIZE = "tree_summarize"
    GENERATION = "generation"
    NO_TEXT = "no_text"
"""
documents = fileToDocuments("./data")
index = GPTListIndex.from_documents(documents,service_context=service_context)
query_engine = index.as_query_engine(
    response_mode=response_mode
)
response = query_engine.query(query_str)
print(response)

其中列舉了6種response_mode:

llama_index中query_engine的response_mode詳解
我們也可以通過(guò)導(dǎo)入如下代碼來(lái)觀察其中的值:ResponseMode.xx

from llama_index.indices.response.type import ResponseMode

在研究源碼及實(shí)踐后,本篇將介紹這幾種不同的response_mode的意義。

在代碼中,我們可以找到相應(yīng)的響應(yīng)器responseBuilder,其源碼位置為llama_index/indices/response/response_builder.py。下面我們將介紹幾種常用的ResponseMode及其意義。

1. ResponseMode: tree_summarize (總結(jié)摘要-最優(yōu))

當(dāng)設(shè)置ResponseMode為tree_summarize時(shí),ChatGPT會(huì)對(duì)每一段文本進(jìn)行最大長(zhǎng)度的分割,并進(jìn)行連續(xù)的讀取和詢問(wèn)。這種模式的優(yōu)點(diǎn)是可以保證對(duì)文本的完整理解和回答,但如果沒(méi)有正確處理分割段落的情況,可能會(huì)導(dǎo)致錯(cuò)誤的生成結(jié)果。我們可以通過(guò)下面這幅圖來(lái)理解它的執(zhí)行流程:

llama_index中query_engine的response_mode詳解

理解:選擇這種模式比較適合做文章總結(jié),但是不適合做基于關(guān)鍵詞的查詢或詢問(wèn)。

2. ResponseMode: generation

當(dāng)設(shè)置ResponseMode為generation時(shí),生成的回答不依賴于文檔的內(nèi)容,只基于提供的問(wèn)題進(jìn)行生成。這種模式適用于純粹的問(wèn)題回答場(chǎng)景,不考慮文檔的影響。

理解:與文檔割裂,純粹只是普通問(wèn)答。

3. ResponseMode: no_text

當(dāng)設(shè)置ResponseMode為no_text時(shí),生成的回答中不包含任何內(nèi)容,僅作為占位符使用。

理解:目前暫時(shí)未發(fā)現(xiàn)其他用途。

4. ResponseMode: simple_summarize (最省token)

當(dāng)設(shè)置ResponseMode為simple_summarize時(shí),ChatGPT會(huì)截取每段文本的相關(guān)句子(通常是第一句),并進(jìn)行提煉生成回答。這種模式適用于對(duì)結(jié)果要求不高的場(chǎng)景。我們可以通過(guò)下面這幅圖來(lái)理解它的執(zhí)行流程:

llama_index中query_engine的response_mode詳解
理解:因?yàn)橹恍枰M(jìn)行一次API調(diào)用,所以也比較省費(fèi)用。但是由于提煉過(guò)程可能會(huì)不精確,所以上下文的丟失情況有時(shí)比較嚴(yán)重。

5. ResponseMode: refine (基于關(guān)鍵詞詢問(wèn)-最優(yōu))

當(dāng)設(shè)置ResponseMode為refine時(shí),如果只有一個(gè)文本塊(text_chunk),則會(huì)正常生成回答。但如果存在多個(gè)文本塊,則會(huì)以類似輪詢的方式迭代生成回答。這種模式可以對(duì)多個(gè)文本塊進(jìn)行迭代式的回答生成,逐步完善回答內(nèi)容。我們可以通過(guò)下面這幅圖來(lái)理解它的執(zhí)行流程:

llama_index中query_engine的response_mode詳解
理解:非常適合用于關(guān)鍵詞的詢問(wèn)。如果某段文本與提問(wèn)的關(guān)鍵詞無(wú)關(guān),則會(huì)保留原本的答案,如果有關(guān)系,則會(huì)進(jìn)一步的更新回答。

6. ResponseMode: compact (較省token)

當(dāng)設(shè)置ResponseMode為compact時(shí),生成的回答會(huì)將多個(gè)文本塊(text_chunk)壓縮到設(shè)定的最大長(zhǎng)度,并生成一次回答。然后,根據(jù)后續(xù)內(nèi)容對(duì)以往的答案進(jìn)行改進(jìn)和完善(即進(jìn)行多次迭代)。這種模式實(shí)際上是Compact And Refine的方式。

理解:refine的升級(jí)版,可以更加節(jié)約token。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-489952.html

到了這里,關(guān)于llama_index中query_engine的response_mode詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 解決異常 java.net.URISyntaxException: Illegal character in query at index

    java.net.URISyntaxException 表示你在嘗試創(chuàng)建一個(gè) URI 對(duì)象時(shí),傳遞了一個(gè)非法的 URI 字符串 這個(gè)異常通常是因?yàn)?URI 字符串中包含了不合法的字符,比如空格、特殊字符等。在 URI 中,某些字符是需要進(jìn)行編碼的,例如空格會(huì)被編碼為 %20 。 要解決這個(gè)異常,親測(cè)以下幾個(gè)方法:

    2024年02月05日
    瀏覽(46)
  • 使用Llama index構(gòu)建多代理 RAG

    使用Llama index構(gòu)建多代理 RAG

    檢索增強(qiáng)生成(RAG)已成為增強(qiáng)大型語(yǔ)言模型(LLM)能力的一種強(qiáng)大技術(shù)。通過(guò)從知識(shí)來(lái)源中檢索相關(guān)信息并將其納入提示,RAG為L(zhǎng)LM提供了有用的上下文,以產(chǎn)生基于事實(shí)的輸出。 但是現(xiàn)有的單代理RAG系統(tǒng)面臨著檢索效率低下、高延遲和次優(yōu)提示的挑戰(zhàn)。這些問(wèn)題在限制了真實(shí)世

    2024年02月07日
    瀏覽(24)
  • 探索創(chuàng)新:LLAMA Index - 一個(gè)智能數(shù)據(jù)分析利器

    項(xiàng)目地址:https://gitcode.com/run-llama/llama_index LLAMA Index 是一款強(qiáng)大的數(shù)據(jù)預(yù)處理和分析工具,旨在簡(jiǎn)化大數(shù)據(jù)處理過(guò)程,幫助數(shù)據(jù)科學(xué)家、分析師及開(kāi)發(fā)者更高效地探索和理解數(shù)據(jù)。該項(xiàng)目基于Python構(gòu)建,利用先進(jìn)的機(jī)器學(xué)習(xí)算法,提供了一套自動(dòng)化的工作流程,讓用戶可以輕松

    2024年04月14日
    瀏覽(33)
  • llama-index調(diào)用qwen大模型實(shí)現(xiàn)RAG

    llama-index調(diào)用qwen大模型實(shí)現(xiàn)RAG

    llama-index在實(shí)現(xiàn)RAG方案的時(shí)候多是用的llama等英文大模型,對(duì)于國(guó)內(nèi)的諸多模型案例較少,本次將使用qwen大模型實(shí)現(xiàn)llama-index的RAG方案。 llamaindex需要預(yù)裝很多包,這里先把我成功的案例里面的pip包配置發(fā)出來(lái),在requirements.txt里面。 ? ? ? llamaindex實(shí)現(xiàn)RAG中很關(guān)鍵的一環(huán)就是知

    2024年04月09日
    瀏覽(19)
  • 通過(guò)Llama Index實(shí)現(xiàn)大模型的SQL生成的三種方法詳解

    文中使用了chatglm的llm和embedding modle,利用的智譜的免費(fèi)token Text2SQL其實(shí)就是從文本到SQL,也是NLP中的一種實(shí)踐,這可以降低用戶和數(shù)據(jù)庫(kù)交互的門檻,無(wú)需懂SQL就可以拿到數(shù)據(jù)庫(kù)數(shù)據(jù)。Text2SQL實(shí)現(xiàn)了從自然語(yǔ)言到SQL語(yǔ)言的生成,更加進(jìn)一步的是直接給出數(shù)據(jù)中的結(jié)果。在開(kāi)始

    2024年04月14日
    瀏覽(30)
  • 圖技術(shù)在 LLM 下的應(yīng)用:知識(shí)圖譜驅(qū)動(dòng)的大語(yǔ)言模型 Llama Index

    圖技術(shù)在 LLM 下的應(yīng)用:知識(shí)圖譜驅(qū)動(dòng)的大語(yǔ)言模型 Llama Index

    LLM 如火如荼地發(fā)展了大半年,各類大模型和相關(guān)框架也逐步成型,可被大家應(yīng)用到業(yè)務(wù)實(shí)際中。在這個(gè)過(guò)程中,我們可能會(huì)遇到一類問(wèn)題是:現(xiàn)有的哪些數(shù)據(jù),如何更好地與 LLM 對(duì)接上。像是大家都在用的知識(shí)圖譜,現(xiàn)在的圖譜該如何借助大模型,發(fā)揮更大的價(jià)值呢? 在本文

    2024年02月15日
    瀏覽(25)
  • LLaMa 原理+源碼——拆解 (KV-Cache, Rotary Positional Embedding, RMS Norm, Grouped Query Attention, SwiGLU)

    LLaMa 原理+源碼——拆解 (KV-Cache, Rotary Positional Embedding, RMS Norm, Grouped Query Attention, SwiGLU)

    Vanilla Transformer 與 LLaMa 的對(duì)比:LLaMa與普通的Transformer架構(gòu)不同的地方,包括采用了 前置 了層歸一化(Pre-normalization)并使用 RMSNorm 歸一化函數(shù)(Normalizing Function)、使用了 旋轉(zhuǎn)位置嵌入(RoPE) 、激活函數(shù)由ReLU更換為 SwiGLU ,并且將self-attention改進(jìn)為 使用KV-Cache的Grouped Quer

    2024年01月25日
    瀏覽(18)
  • Vue 刪除query中個(gè)別參數(shù)或清除query

    在寫項(xiàng)目過(guò)程中涉及到一個(gè)需求,大概形容一下就是第一次進(jìn)入會(huì)有一個(gè)編輯彈窗,如果點(diǎn)擊編輯彈窗的保存按鈕后,刷新頁(yè)面,彈窗則不在彈出。

    2024年02月16日
    瀏覽(20)
  • Elasticsearch 基本使用(五)查詢條件匹配方式(query & query_string)

    Elasticsearch 基本使用(五)查詢條件匹配方式(query & query_string)

    ES中常用的查詢類型往大了分可以分為簡(jiǎn)單查詢,復(fù)合查詢,聚合查詢等; 而復(fù)合查詢及聚合查詢都是基于簡(jiǎn)單查詢的;簡(jiǎn)單查詢里面對(duì)條件的匹配方式又分為不同類型。term[s],match,match_all,match_phrase 等等 term 單詞查詢,在字段的倒排索引(發(fā)生分詞)或者直接在字段值(

    2024年02月09日
    瀏覽(25)
  • TensorRT創(chuàng)建Engine并推理engine

    NVIDIA TensorRT是一個(gè)高性能的深度學(xué)習(xí)推理庫(kù),專為部署神經(jīng)網(wǎng)絡(luò)模型而設(shè)計(jì)。TensorRT通過(guò)優(yōu)化和高效的內(nèi)存管理來(lái)提高模型的推理速度,從而提高整體應(yīng)用程序的性能。以下是使用TensorRT創(chuàng)建Engine并進(jìn)行推理的步驟: 安裝TensorRT庫(kù): 首先,確保您已經(jīng)安裝了TensorRT庫(kù)。請(qǐng)?jiān)L問(wèn)

    2023年04月14日
    瀏覽(16)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包