搜尋
首頁科技週邊人工智慧Google Cloud上的抹佈到SQL

文本到SQL技術經常難以捕獲用戶請求的完整上下文和含義,從而導致查詢與預期不完全匹配。儘管開發人員努力增強這些系統,但值得質疑是否有更好的方法。

輸入抹佈到SQL - 一種新方法,將自然語言理解與強大的數據檢索結合起來,以生成準確的SQL查詢。通過將最佳的自然語言處理和信息檢索融合在一起,RAG-to-SQL提供了一種更可靠的方式,將日常語言轉化為數據庫中有意義的見解。

在本文中,我們將探討如何使用BigQuery和Vertex AI等Google Cloud Services(例如Google Cloud Services)來改變與數據庫交互的方式。

學習目標

  • 在準確捕獲用戶意圖中確定文本到SQL系統的局限性。
  • 了解抹佈到SQL的優勢,是生成更可靠的SQL查詢的新範式。
  • 使用BigQuery和Vertex AI等Google Cloud Services實現了抹佈到SQL方法。
  • 了解如何集成並利用多個Google雲工具進行抹佈到SQL實現。

本文作為數據科學博客馬拉鬆的一部分發表

目錄

  • 學習目標
  • 傳統文本到SQL方法的局限性
  • 什麼是抹佈到SQL?
  • 用Google雲設置抹佈到SQL:逐步指南
    • 代碼先決條件
    • 代碼流程圖
    • 步驟1:安裝所需庫
    • 步驟2:配置您的Google雲項目和憑據
    • 步驟3:構建用於表模式存儲的矢量數據庫
    • 步驟4:實例化SQL查詢,解釋和代理鏈的LLM模型
    • 步驟5:構建SQL查詢鏈
    • 步驟6:完善SQL鏈輸出以解釋
    • 步驟7:建立解釋鏈以查詢結果
    • 步驟8:實現動態查詢路由的代理鏈
  • 結論
    • 關鍵要點
  • 常見問題

傳統文本到SQL方法的局限性

LLM SQL模型的文本背後的主要思想是使那些不了解SQL的人與數據庫進行交互並使用自然語言獲得信息。現有的文本2 SQL框架主要依賴於LLM知識能夠將自然語言查詢轉換為SQL查詢。這可能導致SQL查詢的錯誤或無效的公式。這是SQL的新方法抹布來進行我們的救援,這在下一節中進行了解釋。

什麼是抹佈到SQL?

為了克服文本對SQL的缺點,我們可以使用抹布的創新方法對SQL。有關數據庫的域信息的集成是每個文本到SQL軟件面對的主要問題。 RAG2SQL架構通過添加上下文數據(元數據,DDL,查詢等)來解決這一困難。然後,“訓練”了此數據並用於使用。
此外,“獵犬”評估並轉發最相關的上下文以響應用戶查詢。最終結果大大提高了精度。

用Google雲設置抹佈到SQL:逐步指南

遵循詳細指南,使用Google Cloud Services(例如BigQuery和Vertex AI)實現抹佈到SQL。

代碼先決條件

為了遵循和運行此代碼,您需要設置GCP(帶有付款信息的Google Cloud帳戶)。最初,他們提供90天的免費300美元試用期,因此不會產生任何費用。帳戶設置的詳細信息:鏈接

代碼流程圖

以下是代碼流程圖,在較高級別的各個代碼塊中描述。在進行過程中,我們可以將其引用。

Google Cloud上的抹佈到SQL

代碼實現可以分為3個主要塊:

  • SQL查詢鏈:此鏈負責根據用戶問題和從向量DB獲取的表格生成適當的SQL查詢。
  • 解釋鏈:該鏈從上一個鏈中獲取SQL查詢,以BigQuery運行,然後使用結果使用適當的提示來生成響應。
  • 代理鏈:這是封裝上述兩個鏈的最終鏈。每當使用用戶問題時,它將決定是調用SQL查詢工具還是直接回答問題。它根據回答問題所需的任務將用戶查詢路由到各種工具。

步驟1:安裝所需庫

在COLAB筆記本電腦中,我們必須安裝此實施所需的以下庫。

呢pip安裝langchain == 0.0.340  -  quiet
呢pip安裝chromadb == 0.4.13  -  quiet
呢PIP安裝Google-cloud-bigquery [pandas]  -  quiet
呢PIP安裝Google-cloud-aiplatform -quiet#import csv

步驟2:配置您的Google雲項目和憑據

現在,我們必須聲明一些變量來初始化我們的GCP項目和大查詢數據集。使用此變量,我們可以在筆記本中使用GCP訪問大查詢中的表。

您可以在GCP雲控制台中查看此詳細信息。在BigQuery中,您可以創建一個數據集,並且在數據集中您可以添加或上傳表以獲取詳細信息,請參閱創建數據集和創建表。

 vertex_project =“您的GCP項目ID”#@param {type:“ string”}
vertex_region =“ us-central1”#@param {type:“ string”}

bigquery_dataset =“大查詢數據集名稱”#@param {type:“ string”}
bigquery_project =“ vertex project id”#@param {type:“ string”}

現在,使用COLAB中的以下代碼從筆記本中進行身份驗證並登錄到您的GCP頂點AI。

來自Google.Colab Import auth
auth.authenticate_user()

導入Vertexai
vertexai.init(project = vertex_project,location = vertex_region)

步驟3:構建用於表模式存儲的矢量數據庫

現在,我們必須創建一個矢量數據庫,該矢量DB包含數據集中存在的各種表格的架構,我們將在此矢量數據庫的頂部創建一個獵犬,以便我們可以將RAG納入工作流程中。

使用BQ客戶端在Python中連接到大查詢,並獲取表格的架構。

來自Google.Cloud Import BigQuery
進口JSON

#桌子的圖案

bq_client = bigquery.client(project = vertex_project)
bq_tables = bq_client.list_tables(dataset = f“ {bigquery_project}。{bigquery_dataset}”)
模式= []
對於bq_tables中的bq_table:
   t = bq_client.get_table(f“ {bigquery_project}。{bigquery_dataset}。{bq_table.table_id}”)
   schema_fields = [f.to_api_repr()for t.schema中的f]
   schema = f“表{bq_table.table_id}的架構如下:\ n```````
   schemas.append(架構)

print(f“在數據集中找到{len(schemas)}表{bigquery_project}:{bigquery_dataset}”)#import csv

將架構存儲在載體DB中,例如色度DB。我們需要創建一個稱為“數據”的文件夾

來自langchain。
來自langchain.VectorStores進口色度

嵌入= vertexaiembeddings()
嘗試:#避免重複的文檔
  vector_store.delete_collection()
除了:
  打印(“無需清潔矢量商店”)
vector_store = chroma.from_texts(架構,嵌入=嵌入,persist_directory ='。/data')
n_docs = len(vector_store.get()['ids'])
retriever = vector_store.as_retriever(search_kwargs = {'k':2})
print(f“ vector Store具有{n_docs}文檔”)

步驟4:實例化SQL查詢,解釋和代理鏈的LLM模型

我們將對3個不同鏈的3個LLM模型實例化。

第一個模型是查詢模型,該模型負責基於用戶問題和從類似於用戶問題的向量數據庫檢索的表格架構生成SQL查詢。為此,我們使用“ Codechat-Bison”模型 。該模型專門用於以不同的編碼語言生成代碼,因此適合我們的用例。

其他2個模型是Chatvertexai中的默認LLM型號,該模型是“ Gemini-1.5-Flash-001 ”,這是最新的Gemini模型,用於聊天和快速響應。

來自langchain.chat_models導入chatvertexai
從langchain.llms導入vertexai

query_model = chatvertexai(model_name =“ codechat-bison”,max_output_tokens = 1000)
drivent_data_model = chatvertexai(max_output_tokens = 1000)
Agent_model = chatvertexai(max_output_tokens = 1024)

步驟5:構建SQL查詢鏈

以下是用於生成輸入用戶問題的SQL查詢的SQL提示。

 SQL_PROMPT =“”“您是SQL且BigQuery專家。

您的工作是在SQL中為BigQuery創建查詢。

以下段落包含用於查詢的表的架構。它以JSON格式編碼。

{情境}

使用上表創建以下用戶輸入的BigQuery SQL查詢。
並僅使用模式中提到的列進行SQL查詢

到目前為止,用戶和代理商已經完成了此對話:
{chat_history}

嚴格遵循這些限制:
 - 僅返回SQL代碼。
 - 請勿添加反擊或任何標記。僅將查詢寫為輸出。別無其他。
 - 從開始,始終使用``{project}`作為project''和`{dataset}`作為數據集使用完整的表路徑。
 - 始終將國家名稱轉換為完整的大寫。例如,如果該國是日本,則應在查詢中使用日本。

用戶輸入:{問題}

SQL查詢:
”“”

現在,我們將定義一個函數,該函數將檢索相關文檔,即用於用戶問題輸入的模式。

從langchain.schema.VectorStore Import VectorStorerEtriever
def get_documents(retriever:vectorStorerEtriever,問題:str) - > str:
  #僅返回第一個文檔
  輸出=“”
  對於retiever.get_relevant_documents(問題):
    輸出= d.page_content
    輸出=“ \ n”
    返回輸出

然後,我們使用Langchain表達語言語法定義LLM鏈。請注意,我們使用5個佔位符變量定義提示,然後我們通過填寫2個佔位符變量項目和數據集來定義部分提示。其餘的變量將通過輸入,聊天歷史記錄和上下文variable組成的輸入請求字典來填充填充的函數。

從操作員導入itemgetter
來自langchain.prompts導入提示網板
從langchain.schema導入strutputparser

提示_template = stripttemplate(
    input_variables = [“ context”,“ chat_history”,“問題”,“ project”,“ dataset”],
    模板= sql_prompt)

partial_prompt = stript_template.partial(project = bigquery_project,
                                         dataset = bigquery_dataset)

#輸入將就像{“輸入”:“ some_question”,“ chat_history”:“ history”}
docs = {“ context”:lambda x:get_documents(retiever,x ['input'])}}
問題= {“問題”:itemgetter(“ input”)}
chat_history = {“ chat_history”:itemgetter(“ chat_history”)}
query_chain = docs |問題| chat_history | partial_prompt | query_model
查詢= query_chain | StroutputParser()

讓我們使用Langchain的回調處理程序測試我們的鏈,該回調將詳細顯示鏈執行的每個步驟。

從langchain.callbacks.tracers導入consolecallbackhandler
# 例子
X = {“ Input”:“起跑站來自Atlantic Ave&Fort Greene PL”,“ CHAT_HISTORY”:“”}
print(query.invoke(x,config = {'callbacks':[consolecallbackhandler()]})) 

Google Cloud上的抹佈到SQL

Google Cloud上的抹佈到SQL

步驟6:完善SQL鏈輸出以解釋

我們需要完善上述SQL鏈輸出,以便它也將其他變量包含在其外部,然後將其傳遞到第二鏈 -解釋鏈中。

從langchain.output_parsers導入響應響應,構造outputparser
來自langchain.schema.lunnable Import runnableLambda

#refine鏈輸出以在詞典格式中包含其他變量
def _dict_to_json(x:dict) - > str:
  返回“

query_response_schema = [
    響應(name =“ query”,description =“ sql查詢以求解用戶問題)。”),,,
    響應(name =“問題”,description =“用戶問的問題”。”),,
    響應呼應(名稱=“上下文”,描述=“從矢量存儲中檢索的文檔。”)
  這是給出的
query_output_parser = structuredoutputparser.from_response_schemas(query_response_schema)
query_output_json = docs |問題| {“ query”:query} | runnablelambda(_dict_to_json)| StroutputParser()
query_output = query_output_json | query_output_parser

讓我們嘗試執行此鏈。

 # 例子
x = {“ input”:“給我前2個起始站點,其中旅行持續時間最高?”,“ chat_history”:“”}
output = query_output.invoke(x)#現在是一個字典,下一個鏈的輸入

Google Cloud上的抹佈到SQL

在上面,我們可以看到精製鏈的輸出是SQL查詢。

步驟7:建立解釋鏈以查詢結果

現在,我們必須構建下一個鏈條,該鏈將採用上面定義的SQL查詢鏈的輸出。該鏈將從上一個鏈中獲取SQL查詢,並在大查詢中運行它,然後將其結果用於使用適當的提示來生成響應。

 drivent_prompt =“”“您是一位大型專家。您也是從CSV中提取數據的專家。

以下段落描述了用於查詢的表的架構。它以JSON格式編碼。

{情境}

用戶問這個問題:
{問題}

為了找到答案,以下SQL查詢在BigQuery中運行:
````````
{詢問}
````````

該查詢的結果是下表的CSV格式:
````````
{結果}
````````

根據這些結果,對用戶問題提供了簡短的答案。

嚴格遵循這些限制:
 - 不要添加有關如何獲得答案的任何解釋,只需寫答案即可。
 - 僅從查詢結果中提取與答案相關的任何值。不要使用任何其他數據源。
 - 只需寫答案,省略您的答案問題,這是聊天,只需提供答案即可。
 - 如果您在結果中找不到答案,請不要彌補任何數據,只需說“我找不到答案”
”“”
來自Google.Cloud Import BigQuery
def get_bq_csv(bq_client:bigquery.client,查詢:str) - > str:
  cleaned_query = clean_query(查詢)
  df = bq_client.query(cleaned_query,location =“ us”)。to_dataframe()
  返回df.to_csv(index = false)


def clean_query(查詢:str):
  query = query.replace(“`````s sql',“”)
  cleaned_query = query.replace(“`````'',“”)

  返回cleaned_query

我們將定義兩個函數一個是clean_query -這將清潔撇號和其他不必要的字符的SQL查詢,而另一個是GET_BQ_CSV -這將在大查詢中運行清潔的SQL查詢,並以CSV格式獲得輸出表。

 #獲取先前鏈的輸出


query = {“ query”:itemgetter(“ query”)}
context = {“ context”:itemgetter(“ context”)}
問題= {“問題”:itemgetter(“ Question”)}
#cleaned_query = {“ result”:lambda x:clean_query(x [“ query”])}
query_result = {“結果”:lambda x:get_bq_csv(bq_client,x [“ query”])}}

提示=提示網板(
    input_variables = [“問題”,“查詢”,“結果”,“上下文”],
    template = drivent_prompt)

run_bq_chain =上下文|問題|查詢| query_result |迅速的
run_bq_result = run_bq_chain | drivent_data_model | StroutputParser()

讓我們執行鏈條並進行測試。

 # 例子
x = {“ input”:“給我前2個起始站點,其中旅行持續時間最高?”,“ chat_history”:“”}
final_response = run_bq_result.invoke(query_output.invoke(x))
打印(final_response)

Google Cloud上的抹佈到SQL

步驟8:實現動態查詢路由的代理鏈

現在,我們將構建最終鏈,即代理鏈。當用戶提出問題時,它決定是使用SQL查詢工具還是直接回答。基本上,它根據必須完成的工作以回答用戶的查詢,將用戶查詢發送到各種工具。

我們定義Agent_memory,Agent Prives,工具函數。

來自langchain.memory導入對話bufferWindowMemory

agent_memory = convertyBufferWindowMemory(
    memory_key =“ chat_history”,
    k = 10,
    return_messages = true)
 Agent_prompt =“”“您是一位非常強大的助手,可以使用BigQuery回答問題。

您可以調用工具User_question_tool使用BigQuery回答問題。

始終使用工具來回答問題。使用聊天歷史記錄進行上下文。切勿嘗試使用任何其他外部信息。

假設用戶可以用拼寫錯誤寫入,請在將問題傳遞給任何工具之前修復用戶的拼寫。

不要提及您在答案中使用的工具。
”“”
來自langchain.tools導入工具
從langchain.callbacks.tracers導入consolecallbackhandler

@工具
def user_question_tool(問題) - > str:
  ”“”“對於使用BigQuery的用戶回答自然語言問題很有用。
  config = {'callbacks':[consolecallbackhandler()]}
  config = {}
  內存= agent_memory.buffer_as_str.strip()
  問題= {“輸入”:問題,“ chat_history”:memory}
  query = query_output.invoke(問題,config = config)
  print(“ \ n \ n ************************ \ n \ n”)
  打印(查詢['query'])
  print(“ \ n \ n ************************ \ n \ n”)
  結果= run_bq_result.invoke(查詢,config = config)
  返回結果。Strip()

現在,我們將代理的所有主要組件匯總在一起,並初始化代理。

來自langchain.oxents intimptype,initialize_agent,AgentExecutor

agent_kwgards = {“ system_message”:agent_prompt}
agent_tools = [user_question_tool]

agent_memory.clear()

代理= initialize_agent(
    工具= agent_tools,
    llm = agent_model,
    agent = agentType.chat_conversational_react_description,
    內存= agent_memory,
    agent_kwgards = agent_kwgards,
    max_iterations = 5,
    早期_stopping_method ='生成',
    冗長= true)

讓我們現在運行代理。

 Q =“給我前2個起始站點,旅行持續時間最高?”
代理人(Q) 

Google Cloud上的抹佈到SQL

Google Cloud上的抹佈到SQL

對代理商的後續問題。

 Q =“這些車站名稱的能力是多少?”
代理人(Q) 

Google Cloud上的抹佈到SQL

Google Cloud上的抹佈到SQL

觀察

代理商可以準確地處理複雜的問題,並根據聊天歷史記錄為以下問題生成正確的答案,然後使用另一個表來獲取花旗自行車的容量信息。

結論

抹佈到SQL方法代表著通過合併上下文數據並利用檢索技術來解決傳統文本到SQL模型的局限性的重大進步。該方法通過從矢量數據庫中檢索相關的架構信息來提高查詢準確性,從而使SQL生成更精確。在BigQuery和Vertex AI等Google雲服務中實現抹佈到SQL,證明了其在現實應用程序中的可擴展性和有效性。通過在查詢處理中自動化決策過程,抹佈到SQL為非技術用戶提供了新的可能性,可以在保持高精度的同時與數據庫無縫互動。

關鍵要點

  • 克服文本到SQL的限制通過集成元數據來解決傳統文本到SQL模型的常見陷阱。
  • 基於代理的系統有效地決定瞭如何處理用戶查詢,從而提高了可用性。
  • 抹佈到SQL允許非技術用戶使用自然語言輸入生成複雜的SQL查詢。
  • 該方法是使用BigQuery和Vertex AI等服務成功實施的。

常見問題

Q1。 GCP頂點AI是免費的嗎?

答:不,但是如果您首次註冊,您只需要提供訪問卡的詳細信息即可獲得90天的試用期,並獲得300美元的學分。也不會從卡中扣除費用,即使您使用的是消耗超過300美元積分的任何服務,Google也會要求您啟用付款帳戶,以便可以使用該服務。因此,沒有自動扣除量。

Q2。 將抹布用於SQL的關鍵好處是什麼?

答:這使我們能夠自動化表格架構,如果我們使用多個表格,則可以將其饋送到LLM,我們不需要一次饋送所有表格架構。根據用戶查詢,可以從抹布中獲取相關的表模式。因此,提高對SQL系統的常規文本效率。

Q3。 代理如何對此用例有用?

答:如果我們要構建一個整體聊天機器人,除了SQL查詢工具外,可能還需要許多其他工具。因此,我們可以利用代理並為其提供多種工具,例如Web搜索,數據庫SQL查詢工具,其他RAG工具或功能調用API工具。這將使根據需要完成響應用戶查詢的任務處理不同類型的用戶查詢。

本文所示的媒體不由Analytics Vidhya擁有,並由作者酌情使用。

以上是Google Cloud上的抹佈到SQL的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
及時工程中的思想圖是什麼及時工程中的思想圖是什麼Apr 13, 2025 am 11:53 AM

介紹 在迅速的工程中,“思想圖”是指使用圖理論來構建和指導AI的推理過程的新方法。與通常涉及線性S的傳統方法不同

優化您的組織與Genai代理商的電子郵件營銷優化您的組織與Genai代理商的電子郵件營銷Apr 13, 2025 am 11:44 AM

介紹 恭喜!您經營一家成功的業務。通過您的網頁,社交媒體活動,網絡研討會,會議,免費資源和其他來源,您每天收集5000個電子郵件ID。下一個明顯的步驟是

Apache Pinot實時應用程序性能監視Apache Pinot實時應用程序性能監視Apr 13, 2025 am 11:40 AM

介紹 在當今快節奏的軟件開發環境中,確保最佳應用程序性能至關重要。監視實時指標,例如響應時間,錯誤率和資源利用率可以幫助MAIN

Chatgpt擊中了10億用戶? Openai首席執行官說:'短短幾週內翻了一番Chatgpt擊中了10億用戶? Openai首席執行官說:'短短幾週內翻了一番Apr 13, 2025 am 11:23 AM

“您有幾個用戶?”他扮演。 阿爾特曼回答說:“我認為我們上次說的是每週5億個活躍者,而且它正在迅速增長。” “你告訴我,就像在短短幾週內翻了一番,”安德森繼續說道。 “我說那個私人

pixtral -12b:Mistral AI'第一個多模型模型 - 分析Vidhyapixtral -12b:Mistral AI'第一個多模型模型 - 分析VidhyaApr 13, 2025 am 11:20 AM

介紹 Mistral發布了其第一個多模式模型,即Pixtral-12b-2409。該模型建立在Mistral的120億參數Nemo 12B之上。是什麼設置了該模型?現在可以拍攝圖像和Tex

生成AI應用的代理框架 - 分析Vidhya生成AI應用的代理框架 - 分析VidhyaApr 13, 2025 am 11:13 AM

想像一下,擁有一個由AI驅動的助手,不僅可以響應您的查詢,還可以自主收集信息,執行任務甚至處理多種類型的數據(TEXT,圖像和代碼)。聽起來有未來派?在這個a

生成AI在金融部門的應用生成AI在金融部門的應用Apr 13, 2025 am 11:12 AM

介紹 金融業是任何國家發展的基石,因為它通過促進有效的交易和信貸可用性來推動經濟增長。交易的便利和信貸

在線學習和被動攻擊算法指南在線學習和被動攻擊算法指南Apr 13, 2025 am 11:09 AM

介紹 數據是從社交媒體,金融交易和電子商務平台等來源的前所未有的速度生成的。處理這種連續的信息流是一個挑戰,但它提供了

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。