通過合併外部數據,檢索增強發電(RAG)可顯著增強大語言模型(LLM)的準確性和可靠性。這是將答案的上下文化,並允許更新而無需再培訓。 但是,抹布並不是普遍有效的。本文詳細介紹了構建強大的抹布管道,探索限制並提供解決方案。
OpenAi基本原理(簡短提及,不需要擴展)> >了解有關使用OpenAI API的更多信息。
>現在開始>抹布的工作方式:
(llamaindex文檔的圖像)
> 抹布管道包括三個階段:索引,檢索和一代。
> 使用相同的嵌入模型對用戶查詢進行矢量進行
生成:
抹布的限制:
索引:
嘈雜的數據導致無用的LLM響應。 檢索:安裝必要的軟件包:
設置您的OpenAI API密鑰:
>加載wikipedia數據並構建索引:
創建一個提示模板,以確保基於上下文的答案:
!pip install llama-index openai wikipedia
(為簡潔而省略了最初的查詢和較低的響應。重點是改進策略。)
import os os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY"通過塊來改進:
from llama_index.core import (VectorStoreIndex, ServiceContext, download_loader) WikipediaReader = download_loader("WikipediaReader") loader = WikipediaReader() pages = ['Emma_Stone', 'La_La_Land', 'Ryan_Gosling'] documents = loader.load_data(pages=pages, auto_suggest=False, redirect=False) from llama_index.llms import OpenAI from llama_index.embeddings import OpenAIEmbedding, OpenAIEmbeddingModelType gpt3 = OpenAI(temperature=0, model="gpt-3.5-turbo-instruct", api_key=os.environ["OPENAI_API_KEY"]) embed_model = OpenAIEmbedding(model=OpenAIEmbeddingModelType.TEXT_EMBED_ADA_002, api_key=os.environ["OPENAI_API_KEY"]) service_context_gpt3 = ServiceContext.from_defaults(llm=gpt3, chunk_size=256, chunk_overlap=0, embed_model=embed_model) index = VectorStoreIndex.from_documents(documents, service_context=service_context_gpt3) retriever = index.as_retriever(similarity_top_k=3)調整
>和
infrom llama_index.core.prompts import PromptTemplate template = ( "We have provided context information below. \n" "---------------------\n" "{context_str}" "\n---------------------\n" "Given this information, please answer the question: {query_str}\n" "Don't give an answer unless it is supported by the context above.\n" ) qa_template = PromptTemplate(template)優化檢索。
>
通過重新排名進行改進:
(flagembeddingreranker和rankgptrerank的代碼示例省略了,但描述仍然存在)
>使用擁抱的臉部重新排行模型(例如,)來提高相關性。 需要一個擁抱的臉部訪問令牌。
BAAI/bge-reranker-base
使用llm(例如,)基於語義理解重新排列塊。
gpt-3.5-turbo-0125
通過查詢轉換:
> (HYDE和多步查詢轉換的代碼示例是為了簡短的,但仍保留了描述)
hyde(假設文件嵌入):
多步查詢轉換:將復雜的查詢分解為更簡單的子查詢,以進行更有效的處理。
結論:
以上是如何改善抹布性能:5個與示例的關鍵技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!