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

從RAG到TAG:探索表增強生成(TAG)的力量 原創 精華

發布于 2024-11-18 12:41
瀏覽
0收藏

01、概述

在人工智能(AI)不斷發展的時代,數據的交互與利用方式也隨之演變。在AI驅動的數據檢索領域,出現了兩種重要的方法:檢索增強生成(RAG)和最近嶄露頭角的表增強生成(TAG)。盡管RAG通過將AI與外部數據檢索系統結合,實現了有效的信息獲取,但TAG則通過使大型語言模型(LLM)能夠直接與結構化數據庫交互,提供了一種全新的范式。

在這篇文章中,我們將深入探討TAG,分析其如何超越RAG,并介紹由TAG-Research開發的強大LOTUS庫,提供一些使用LOTUS的理論代碼示例。同時,我們還將探討TAG在各個行業(包括金融)中的實際應用,展現其變革潛力。

02、理解RAG與TAG

什么是檢索增強生成(RAG)?

檢索增強生成(RAG)將檢索系統與LLM相結合。它使用基于向量的嵌入方法搜索和檢索相關文檔,然后利用這些文檔增強LLM的回答。這種方法在LLM需要訪問訓練數據之外的最新信息時特別有效。

從RAG到TAG:探索表增強生成(TAG)的力量-AI.x社區

RAG的工作原理:

  • 查詢編碼:用戶的自然語言查詢被轉換為向量表示。
  • 文檔檢索:系統在文檔數據庫中搜索與查詢向量最相似的文檔。
  • 響應生成:LLM使用檢索到的文檔和自身知識庫生成回答。

應用案例:

  • 客戶支持系統獲取相關政策更新。
  • 聊天機器人提供基于最新新聞文章的信息。

什么是表增強生成(TAG)?

表增強生成(TAG)提供了一種更直接和結構化的方法,允許LLM使用SQL或其他數據庫特定查詢語言查詢數據庫。TAG讓LLM能夠:

  • 直接訪問結構化數據:從關系數據庫中檢索精確的數據點。
  • 處理復雜查詢:管理涉及聚合、排序和多字段操作的查詢。
  • 綜合有意義的響應:根據精確數據生成詳細答案。

TAG的工作原理:

  • 查詢合成:LLM解釋用戶的自然語言查詢并將其轉換為SQL命令。
  • 查詢執行:SQL查詢在數據庫上執行,以檢索精確數據。
  • 答案生成:LLM根據查詢結果生成自然語言響應。

TAG的優勢:

  • 精準性:直接訪問結構化數據確保更高的準確性。
  • 復雜性:能夠處理涉及多種操作的多面查詢。
  • 效率:通過消除嵌入的需求,減少計算開銷。

03、為什么TAG優于RAG?

1. 直接訪問結構化數據帶來更高的精準度

RAG通過向量嵌入近似數據檢索,這可能導致結果不夠精確,尤其在處理細微查詢時。相比之下,TAG直接訪問結構化數據庫,允許其檢索精確的數據點。

示例:

  • RAG:搜索“被認為是經典的高票房浪漫影片”可能會檢索提到這些影片的文檔,但未必提供準確的排名。
  • TAG:執行SQL查詢直接從數據庫過濾和排名影片,確保結果準確且量身定制。

2. 處理復雜、多面查詢

TAG在管理涉及多個字段和操作(如排序、過濾和聚合)的復雜查詢方面表現優異,而RAG由于依賴相似度檢索在這方面有所欠缺。

示例:

  • 金融分析:生成季度增長排名前幾的股票清單需要聚合和排序數據,而TAG能夠輕松處理這些任務。
  • 醫療研究:確定不同人群的某項手術的平均恢復時間涉及復雜的數據處理,更適合使用TAG。

3. 降低對嵌入的依賴

像RAG這樣的基于嵌入的檢索系統在處理大型數據集時可能資源密集,而TAG通過使用SQL查詢直接訪問數據,降低計算成本,提高速度。

優勢:

  • 效率:更快的數據檢索,在實時環境中至關重要。
  • 可擴展性:在處理大型數據集時表現更佳。

04、引入LOTUS:增強TAG的能力

由TAG-Research開發的LOTUS庫是一個強大的語義查詢引擎,旨在擴展TAG的能力。它提供了一個靈活且聲明式的編程模型,能夠使LLM無縫交互結構化和非結構化數據。

LOTUS的關鍵特性

  • 語義操作符:針對表格數據的自然語言處理專用函數。
  • sem_filter:根據自然語言條件過濾行。
  • sem_join:使用基于語言的標準連接表。
  • 類似Pandas的API:提供與Pandas相似的接口,方便熟悉Python的數據科學家和工程師使用。
  • 與LLM集成:與包括OpenAI在內的各種LLM配置,利用AI進行自然語言解釋和數據處理。

優勢:

  • 簡化需要對數據進行復雜推理的AI驅動應用的開發。
  • 增強TAG在傳統SQL能力之外處理復雜數據查詢的實用性。

05、使用Azure OpenAI SDK和LOTUS實現TAG:實踐示例

為了說明TAG的實現,我們將提供使用Azure OpenAI SDK和LOTUS庫的代碼示例。

前提條件

  • Azure賬戶:訪問Azure OpenAI服務。
  • Python環境:Python 3.6或更高版本。
  • 數據庫設置:訪問關系數據庫(例如,SQL Server、PostgreSQL)。

安裝所需庫

pip install azure-ai-openai lotus-nlp pyodbc pandas

設置環境

# Azure OpenAI SDK
from azure.identity import DefaultAzureCredential
from azure.ai.openai import OpenAIClient

# LOTUS Library
import lotus
# Database Libraries
import pyodbc
import pandas as pd
# Set up Azure OpenAI Client
endpoint = "https://your-openai-resource.openai.azure.com/"
credential = DefaultAzureCredential()
openai_client = OpenAIClient(endpoint=endpoint, credential=credential)
# Set up LOTUS with OpenAI LLM
llm = lotus.OpenAI(azure_openai_client=openai_client)
# Database Connection
conn = pyodbc.connect(
    'DRIVER={ODBC Driver 17 for SQL Server};'
    'SERVER=your_server;DATABASE=your_database;UID=your_username;PWD=your_password'
)```

將數據加載到LOTUS

假設我們有一個電影表:

# Load data into a Pandas DataFrame
movies_df = pd.read_sql_query("SELECT * FROM movies", conn)

# Create a LOTUS table
movies_table = lotus.Table.from_dataframe(movies_df, name="movies", llm=llm)```

示例1:尋找高票房浪漫經典

自然語言查詢:

“列出票房最高的前5部被認為是經典的浪漫影片。”

使用LOTUS:

# Apply semantic filter
filtered_movies = movies_table.sem_filter("genre is romance and is considered a classic")

# Sort and select top 5
top_movies = filtered_movies.sort_values(by="box_office", ascending=False).head(5)
print(top_movies[['title', 'box_office']])

解釋:

  • sem_filter:利用LLM解釋自然語言條件。
  • 排序和選擇:標準的Pandas操作。

示例2:復雜的金融查詢

讓我們在金融背景下展示TAG的一個示例用例。

自然語言查詢:

“識別上個季度收入增長超過20%且市盈率低于15的科技公司。”

實現:

# Load financial data
stocks_df = pd.read_sql_query("SELECT * FROM stocks", conn)
stocks_table = lotus.Table.from_dataframe(stocks_df, name="stocks", llm=llm)

# Apply semantic filter
filtered_stocks = stocks_table.sem_filter(
    "sector is technology and revenue growth last quarter above 20% and P/E ratio below 15"
)
print(filtered_stocks[['company_name', 'revenue_growth', 'pe_ratio']])

解釋:

  • 直接交互:TAG借助LOTUS允許直接查詢復雜條件。
  • 不需要復雜的SQL:自然語言條件就足夠了。

06、TAG的實際應用

1. 醫療和醫學研究

用例

查詢:“找出50-60歲患者在X手術后的平均恢復時間。”

TAG優勢:直接查詢各個維度的患者數據,確保分析準確和相關。

實現

# Assuming patient_data_table is a LOTUS table
filtered_patients = patient_data_table.sem_filter(
    "age between 50 and 60 and underwent Procedure X"
)

average_recovery = filtered_patients['recovery_time'].mean()
print(f"Average Recovery Time: {average_recovery} days")

2. 客戶支持

用例

查詢:“找出客戶投訴的主要問題。”

TAG優勢:通過分析客戶支持表,識別投訴模式。

實現

# Assuming customers_table is a LOTUS table
high_value_customers = customers_table.sem_filter(
    "purchases over $1,000 last month and high engagement"
)

print(high_value_customers[['customer_id', 'total_purchases', 'engagement_score']])

07、結語

表增強生成(TAG)正快速成為AI驅動數據檢索的新標準,通過直接與結構化數據交互,提升了準確性和處理復雜查詢的能力。通過LOTUS庫的引入,TAG進一步擴展了其潛力,使開發人員能夠構建高效的、基于數據的應用程序,滿足不斷增長的行業需求。

隨著企業在利用數據獲取競爭優勢的過程中,TAG的實施將不僅限于提升用戶體驗,更將成為推動行業創新的核心驅動力。在金融、醫療和客戶支持等領域,TAG的實際應用展現了其變革性的潛力,未來將為更多行業的數字化轉型鋪平道路。

參考:

  1. ??https://github.com/TAG-Research/LOTUS??
  2. ??https://github.com/TAG-Research/TAG-Bench??


本文轉載自公眾號Halo咯咯 作者:基咯咯

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

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
標簽
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 国产精品久久久久久久久久久新郎 | 中文字幕成人网 | av在线播放国产 | 久久久国 | 亚洲欧美日本在线 | 国产一区不卡 | 在线免费观看成年人视频 | www.夜夜骑 | 中文字幕一区二区三区不卡 | 另类视频在线 | h小视频 | 亚洲精品一区二区另类图片 | 午夜视频在线免费观看 | 国产精品欧美一区二区 | 91中文字幕在线观看 | 激情欧美一区二区三区中文字幕 | 国产成人综合网 | 国产亚洲网站 | 97久久精品午夜一区二区 | 51ⅴ精品国产91久久久久久 | 狠狠操狠狠操 | 狠狠涩| 国产精品国产三级国产aⅴ原创 | 欧美一二三 | 日韩欧美在线观看 | 久久99久久99精品免视看婷婷 | 青青久久 | 久久久久一区 | 久草欧美视频 | 欧美一区成人 | 午夜在线视频 | www.日韩系列| 五月综合激情婷婷 | 免费人成激情视频在线观看冫 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 91网站在线看 | 成人超碰 | 欧美一区二区三区在线 | 一区二区三区国产精品 | 一区视频在线 | 久99久视频 |