偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

RAG:如何通過實(shí)時(shí)數(shù)據(jù)提升AI準(zhǔn)確性并減少“幻覺” 原創(chuàng) 精華

發(fā)布于 2024-11-8 09:09
瀏覽
0收藏

?在人工智能的發(fā)展中,內(nèi)容生成的準(zhǔn)確性始終是一個(gè)重要挑戰(zhàn),特別是當(dāng)模型生成出看似可信但實(shí)際錯(cuò)誤的回答時(shí),即所謂的“幻覺”(Hallucinations)。為了解決這一問題,出現(xiàn)了一項(xiàng)先進(jìn)的AI技術(shù)——檢索增強(qiáng)生成(Retrieval-Augmented Generation,簡(jiǎn)稱RAG),它通過結(jié)合實(shí)時(shí)檢索與內(nèi)容生成的雙重能力,顯著提升AI的回答準(zhǔn)確性。本文將深入探討RAG的原理、技術(shù)架構(gòu)、向量數(shù)據(jù)庫(kù)的應(yīng)用及其如何減少AI的常見問題,讓讀者全方位了解如何通過RAG實(shí)現(xiàn)更可靠、更貼近實(shí)際的內(nèi)容生成。

01、RAG的核心理念:什么是檢索增強(qiáng)生成?

簡(jiǎn)單來(lái)說,RAG是一種通過先檢索再生成來(lái)提升回答準(zhǔn)確性的AI方法。傳統(tǒng)的AI生成內(nèi)容通常基于模型的訓(xùn)練數(shù)據(jù),但往往無(wú)法反映實(shí)時(shí)的動(dòng)態(tài)信息,這可能導(dǎo)致回答與實(shí)際情況脫節(jié)。RAG則不同,它首先從知識(shí)庫(kù)中檢索出與問題相關(guān)的最新信息,然后基于這些信息生成回答。通過將檢索式模型與生成式模型相結(jié)合,RAG不僅顯著提升了內(nèi)容的質(zhì)量和準(zhǔn)確性,也增強(qiáng)了模型在自然語(yǔ)言處理任務(wù)中的表現(xiàn)。

02、深入解析RAG的架構(gòu)流程

RAG的流程分為兩個(gè)主要階段:檢索階段和生成階段。以下為RAG的詳細(xì)工作步驟:

1. 檢索階段

  • 輸入:用戶輸入問題或提示,例如“量子計(jì)算的最新進(jìn)展是什么?”。
  • 檢索:系統(tǒng)會(huì)在一個(gè)知識(shí)庫(kù)或文檔集合中(通常是向量數(shù)據(jù)庫(kù))進(jìn)行搜索,通過相似度檢索找到相關(guān)文檔。
  • 返回結(jié)果:系統(tǒng)將檢索出的最相關(guān)的信息片段返回(例如前5或10條最匹配的內(nèi)容)。

2. 生成階段

  • 結(jié)合信息:將檢索到的內(nèi)容與用戶的輸入整合,以提供更加全面的上下文。
  • 生成答案:使用生成式模型(如GPT等)基于這些信息生成回答,同時(shí)結(jié)合模型的已有知識(shí)與檢索內(nèi)容。
  • 輸出結(jié)果:系統(tǒng)返回基于檢索信息生成的最終回答,確保其準(zhǔn)確性和實(shí)時(shí)性。

RAG:如何通過實(shí)時(shí)數(shù)據(jù)提升AI準(zhǔn)確性并減少“幻覺”-AI.x社區(qū)

這種雙重過程使得RAG生成的回答更具可信度,特別是在知識(shí)密集型或需要實(shí)時(shí)更新的領(lǐng)域中表現(xiàn)出色。

對(duì)比RAG與傳統(tǒng)生成模式

在沒有RAG的情況下,傳統(tǒng)AI模型只能依賴已訓(xùn)練的靜態(tài)數(shù)據(jù)來(lái)回答問題,缺乏對(duì)新知識(shí)的適應(yīng)能力。這導(dǎo)致了生成的內(nèi)容往往不夠準(zhǔn)確,甚至出現(xiàn)“幻覺”或“虛構(gòu)”內(nèi)容。而RAG通過引入實(shí)時(shí)信息,彌補(bǔ)了這一短板,為AI生成的內(nèi)容增添了時(shí)效性和真實(shí)性。

03、什么是向量數(shù)據(jù)庫(kù)?RAG工作流中的關(guān)鍵角色

向量數(shù)據(jù)庫(kù)在RAG的檢索階段中起到至關(guān)重要的作用,它能夠通過語(yǔ)義相似性高效地檢索相關(guān)信息。與傳統(tǒng)的關(guān)鍵詞匹配系統(tǒng)不同,向量數(shù)據(jù)庫(kù)將文本轉(zhuǎn)化為高維空間中的向量,并將具有相似含義的文本向量放置在相鄰位置,從而實(shí)現(xiàn)更精準(zhǔn)的信息檢索。

RAG:如何通過實(shí)時(shí)數(shù)據(jù)提升AI準(zhǔn)確性并減少“幻覺”-AI.x社區(qū)

向量數(shù)據(jù)庫(kù)示例

以下為向量數(shù)據(jù)庫(kù)中一個(gè)數(shù)據(jù)點(diǎn)的結(jié)構(gòu)示例:

{
  "id": 0,
  "vector": [0.01, -0.03, 0.15, ..., -0.08],
  "payload": {
    "company": "Apple Inc.",
    "ticker": "AAPL",
    "price": 175.50,
    "market_cap": "2.8T",
    "industry": "Technology",
    "pe_ratio": 28.5
  }
}

這種結(jié)構(gòu)使得向量數(shù)據(jù)庫(kù)能夠以語(yǔ)義相似度而非簡(jiǎn)單的關(guān)鍵詞來(lái)檢索信息,非常適用于需要快速檢索相關(guān)內(nèi)容的AI系統(tǒng)。

04、RAG常用的距離度量方法

在向量數(shù)據(jù)庫(kù)中,為了更準(zhǔn)確地匹配信息,系統(tǒng)需要使用距離度量來(lái)衡量數(shù)據(jù)點(diǎn)之間的相似性。不同的距離度量適用于不同場(chǎng)景,以下是RAG常用的幾種距離度量方法:

RAG:如何通過實(shí)時(shí)數(shù)據(jù)提升AI準(zhǔn)確性并減少“幻覺”-AI.x社區(qū)

這些度量方法通過計(jì)算數(shù)據(jù)點(diǎn)間的相似性,確保RAG能夠找到最匹配的信息,從而生成更精準(zhǔn)的回答。 

05、如何利用RAG減少AI幻覺與虛構(gòu)問題?

在AI生成內(nèi)容時(shí),有時(shí)會(huì)產(chǎn)生“幻覺”,即看似合理但卻錯(cuò)誤的回答。例如:

  • 問題:“澳大利亞的首都是哪里?”
  • 錯(cuò)誤回答:“澳大利亞的首都是悉尼。”(正確答案應(yīng)為堪培拉)

這類問題源于模型試圖根據(jù)已知的模式來(lái)預(yù)測(cè)回答,卻無(wú)法訪問實(shí)時(shí)或正確的信息。RAG通過將生成過程建立在外部信息檢索之上,從根本上減少了這種錯(cuò)誤。另外,RAG還能有效應(yīng)對(duì)另一類問題,即“虛構(gòu)”,即AI模型用錯(cuò)誤的理由來(lái)支撐一個(gè)回答。RAG通過確保模型生成的內(nèi)容基于實(shí)際檢索的數(shù)據(jù),降低了生成不準(zhǔn)確信息的風(fēng)險(xiǎn)。

06、RAG實(shí)現(xiàn)步驟:從數(shù)據(jù)管理到向量數(shù)據(jù)庫(kù)檢索

以下是實(shí)現(xiàn)RAG的基本流程:

  • 數(shù)據(jù)管理:整理和驗(yàn)證用于檢索的數(shù)據(jù),確保數(shù)據(jù)的完整性。
  • 創(chuàng)建并驗(yàn)證向量嵌入:使用語(yǔ)言模型將文本轉(zhuǎn)化為向量嵌入,以便后續(xù)的相似性匹配。
  • 應(yīng)用RAG流程:將用戶的查詢轉(zhuǎn)換為向量,檢索數(shù)據(jù)庫(kù)并生成回答。

RAG:如何通過實(shí)時(shí)數(shù)據(jù)提升AI準(zhǔn)確性并減少“幻覺”-AI.x社區(qū)


示例:Python實(shí)現(xiàn)RAG流程

以下為RAG流程的Python代碼實(shí)現(xiàn)步驟:

Step 1:初始設(shè)置與配置

import pandas as pd
from sentence_transformers import SentenceTransformer

# 加載句子嵌入模型
encoder = SentenceTransformer('all-MiniLM-L6-v2')

Step 2:數(shù)據(jù)清洗

# 讀取JSON格式的數(shù)據(jù)
df = pd.read_json('../../stock_data.json')
df = pd.json_normalize(df['stocks'])
df = df[df['company'].notna()]
data = df.to_dict('records')

Step 3:初始化向量數(shù)據(jù)庫(kù)

from qdrant_client import QdrantClient

# 創(chuàng)建內(nèi)存中的向量數(shù)據(jù)庫(kù)
qdrant = QdrantClient(":memory:")

Step 4:創(chuàng)建向量集合

# 創(chuàng)建集合以存儲(chǔ)向量數(shù)據(jù)
qdrant.recreate_collection(
    collection_name="top_stocks",
    vectors_cnotallow=models.VectorParams(
        size=encoder.get_sentence_embedding_dimension(),
        distance=models.Distance.COSINE
    )
)

Step 5:數(shù)據(jù)向量化并上傳

# 向量化數(shù)據(jù)并上傳至向量數(shù)據(jù)庫(kù)
valid_data = [doc for doc in data if isinstance(doc.get("company", ""), str) and doc["company"].strip()]

qdrant.upsert(
    collection_name="top_stocks",
    points=[
        models.PointStruct(
            id=idx,
            vector=encoder.encode(doc["company"]).tolist(),
            payload=doc
        ) for idx, doc in enumerate(valid_data)
    ]
)

Step 6:執(zhí)行查詢并檢索結(jié)果

# 執(zhí)行查詢并獲取相似結(jié)果
query_prompt = "市值較高的科技公司"
query_vector = encoder.encode(query_prompt).tolist()

search_results = qdrant.search(
    collection_name="top_stocks",
    query_vector=query_vector,
    limit=3,
    with_payload=True
)

for result in search_results:
    print(f"公司:{result.payload['company']},行業(yè):{result.payload['industry']},市值:{result.payload['market_cap']}")

結(jié)合檢索結(jié)果進(jìn)行生成

RAG還可以將檢索結(jié)果傳遞給生成式模型,用于增強(qiáng)回答的準(zhǔn)確性。例如:

from openai import OpenAI

client = OpenAI(base_url="http://127.0.0.1:8080/v1", api_key="your_api_key")

completion = client.chat.completions.create(
    model="LLaMA_CPP",
    messages=[
        {"role": "system", "content": "你是股票領(lǐng)域的專家,幫助用戶選擇股票并回答他們的問題。"},
        {"role": "user", "content": "NVIDIA的市值和市盈率是多少?"},
        {"role": "assistant", "content": str(search_results)}
    ]
)

print(completion.choices[0].message["content"])

通過RAG的檢索增強(qiáng),回答不僅限于模型訓(xùn)練的靜態(tài)數(shù)據(jù),還加入了最新的市場(chǎng)動(dòng)態(tài)信息,使回答更加準(zhǔn)確和實(shí)時(shí)。

07、結(jié)語(yǔ)

在追求AI內(nèi)容生成準(zhǔn)確性和可靠性的時(shí)代,RAG技術(shù)無(wú)疑是一項(xiàng)突破。通過將外部實(shí)時(shí)數(shù)據(jù)融入到生成過程,RAG顯著降低了“幻覺”和“虛構(gòu)”現(xiàn)象的發(fā)生,使AI生成的回答更具實(shí)際意義。結(jié)合向量數(shù)據(jù)庫(kù)的語(yǔ)義搜索功能,RAG能夠?yàn)橛脩籼峁└嚓P(guān)、更符合現(xiàn)實(shí)的信息。

RAG的檢索與生成相結(jié)合,正推動(dòng)AI走向更高層次的智能化應(yīng)用,為需要知識(shí)密集型內(nèi)容的場(chǎng)景提供了新的解決方案。

參考:

  1. ??https://arxiv.org/pdf/2005.11401??


本文轉(zhuǎn)載自公眾號(hào)Halo咯咯  作者:基咯咯

原文鏈接:??https://mp.weixin.qq.com/s/8Ws6kJIdbIFVhnGlAeS7Qw??

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦