精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于Llama 3和LangChain,使用自然語言進行SQL查詢 精華

發布于 2024-7-16 08:48
瀏覽
0收藏

在數據泛濫的今天,如何高效地從海量信息中提取有價值的洞察,已成為開發者面臨的共同挑戰。本文介紹一個創新項目——基于Streamlit的應用程序,它能夠理解自然語言并直接與SQL數據庫進行交互,從而簡化數據分析流程。

1 環境設置

在本項目中,我們選擇PostgreSQL作為后端數據庫。用戶需自行安裝并配置PostgreSQL,同時需要搭建Ollama環境以及OpenWebUI界面。具體的安裝和配置步驟,建議參考相應的官方文檔或社區指南進行操作。

2 創建用于生成SQL的自定義模型

接著是創建自定義LLM,根據用戶輸入生成SQL查詢。這里會使用OpenWebUI完成這項任務。以下是設置方法:

創建新模型文件:

  • 命名并描述您的自定義模型。
  • 定義模型內容,基于Llama 3,溫度設置為零。
  • 在系統消息中,指示模型為PostgreSQL生成SQL,整合數據庫架構和關系。

模型內容定義:

  • 提供數據庫架構。
  • 包括有關查詢結構和表連接的指南。
  • 專注于SQL查詢生成,忽略響應中的格式。

保存模型:

  • 添加提示建議和相關類別。
  • 保存模型文件,使其在Ollama生態系統中可用。

3 構建LangChain集成

LangChain是開源的框架,用于構建基于大型語言模型的應用程序。它通過將語言模型與內部數據源相結合,自動化地串聯起一系列操作,生成智能響應。

利用LangChain,我們能夠實現數據庫與自然語言之間的無縫交互。這一解決方案的實現,是通過在Python的??app.py??文件中編寫代碼來完成的。

首先,確保環境已安裝以下包:

  • langchain
  • langchain-community
  • streamlit

4 建立數據庫連接

將數據庫憑據保存在本地變量中,并創建一個使用LangChain的SQLDatabase包裝器建立連接的函數。

pwd = os.environ['PGPASS']
uid = os.environ['PGUID']
server = "localhost"
db = "adventureworks"
port = 5432

def init_database() -> SQLDatabase:
  db_uri = f"postgresql://{uid}:{pwd}@{server}:{port}/{db}"
  return SQLDatabase.from_uri(db_uri, schema="sales")

5 使用自定義LLM生成SQL查詢

創建自定義函數,根據用戶輸入生成SQL。這個函數使用Ollama訪問自定義模型。

def llm_query(question):
  # 第一個sql llm
  llm = ChatOllama(model="llama-sql")
  prompt = ChatPromptTemplate.from_template(" {topic}")
  # 鏈
  chain = prompt | llm | StrOutputParser()
  # 鏈調用
  sql = chain.invoke({"topic": f"{question}"})
  sql = re.sub(r'(?:(?<=_) | (?=_))','',sql)
  # 返回sql查詢
  return sql

6 創建完整鏈

開發一個功能強大的函數,它能夠實現與數據庫的自然語言交互。該函數能夠接收用戶的查詢、數據庫的連接信息以及之前的聊天記錄,從而為用戶提供一個連貫且上下文相關的交互體驗。

def get_response(user_query: str, db: SQLDatabase, chat_history: list):
  sql_query = llm_query(user_query)

  template = """
  您是公司中經驗豐富的數據分析師。您正在與詢問公司數據庫問題的用戶進行交互。
  根據表架構、問題、SQL查詢和SQL響應,用自然語言編寫回答。

  對話歷史:{chat_history}
  用戶問題:{question}
  SQL響應:{response}
  """

  prompt = ChatPromptTemplate.from_template(template)

  # llm
  llm = ChatOllama(model="llama3",  temperature=0)

  chain = (
    RunnablePassthrough.assign(
        response=lambda vars: db.run(sql_query),
    )
    | prompt
    | llm
    | StrOutputParser()
  )

  return chain.invoke({
    "question": user_query,
    "chat_history": chat_history,
  })

7 構建Streamlit應用程序

創建Streamlit組件以存儲聊天歷史和管理用戶交互。

初始化數據庫:

# 初始化數據庫
db = init_database()
st.session_state.db = db
st.success("已連接到數據庫!")

處理用戶輸入:

user_query = st.chat_input("輸入一個問題...")
if user_query is not None and user_query.strip() != "":
    st.session_state.chat_history.append(HumanMessage(content=user_query))
    
    with st.chat_message("用戶"):
        st.markdown(user_query)
        
    with st.chat_message("AI"):
        response = get_response(user_query, st.session_state.db, st.session_state.chat_history)
        st.markdown(response)

8 測試應用程序

用幾個查詢來測試應用程序,以確保其能正常運行。

1)總銷售額:

  • Query: “What is the total sales?”

基于Llama 3和LangChain,使用自然語言進行SQL查詢-AI.x社區

2)銷售額Top 10

  • Query: “What are the top ten products by sales?”

基于Llama 3和LangChain,使用自然語言進行SQL查詢-AI.x社區

3)按國家/地區銷售情況:

  • Query: “Show me the sales by country.”

基于Llama 3和LangChain,使用自然語言進行SQL查詢-AI.x社區

LangChain和LLM的這種集成為數據分析打開了無數可能性,特別是對于特定的架構。用戶現在可以使用自然語言獲取答案,從而增強和補充現有的商業智能解決方案。

本文轉載自 ??AI科技論談??,作者: AI科技論談

收藏
回復
舉報
回復
相關推薦
成人a视频在线观看| 日韩精品一区二区三区视频| 久热这里只精品99re8久| 日韩av黄色片| 欧美午夜寂寞| 色哟哟亚洲精品| http;//www.99re视频| 久久精品久久精品久久| 日韩激情啪啪| 欧洲一区二区三区免费视频| 亚洲自拍的二区三区| 99久久免费国产精精品| 欧美久久视频| 亚洲欧洲xxxx| 97成人在线观看视频| 九一在线视频| 久久国产成人午夜av影院| 欧美成人午夜免费视在线看片| 中文在线字幕观看| 欧美aa在线| 91蝌蚪国产九色| 国产美女精品视频免费观看| 久久99久久久| 欧美猛男做受videos| 欧美日本在线视频| www.成年人视频| 色呦呦视频在线| 久久综合影视| 欧美成人性色生活仑片| 亚洲黄色在线网站| 99综合久久| 欧美日韩国产一中文字不卡| 一区二区三区四区免费视频| 人妻精品一区二区三区| 青青草97国产精品免费观看 | 宅男av一区二区三区| 天天干天天插天天操| 国产精品正在播放| 国产欧美精品在线播放| 在线观看日韩中文字幕| 一区在线播放| 欧美高清激情视频| 夫妻性生活毛片| 欧美中文字幕一区二区| 国产丝袜一区视频在线观看 | 最近2019中文字幕大全第二页| 中国av免费看| 欧美xxxx在线| 亚洲国产成人久久综合一区| 日本成人在线免费观看| 精品视频成人| 这里只有精品99re| 日韩一区二区三区久久| 深夜视频一区二区| 在线观看av一区| 精品久久久久久久无码| av在线日韩| 欧美视频中文字幕| 日本肉体xxxx裸体xxx免费| 亚洲1234区| 欧美亚男人的天堂| 岛国av在线免费| **国产精品| 欧美一级高清片| 日本xxxx免费| 欧美黄色录像| 亚洲乱码一区二区| 91激情视频在线观看| 欧美一区二区性| 日韩中文字幕视频| 国产三级国产精品国产国在线观看| 日韩精品免费| 欧美成aaa人片免费看| 国产盗摄一区二区三区在线| 亚洲色图插插| 久久免费视频在线观看| 你懂的国产在线| 日韩综合小视频| 国产欧美一区二区三区四区| 国产精品综合在线| 成人午夜视频福利| 欧美亚洲免费高清在线观看 | 久久久午夜精品| 视频一区三区| 国产三级在线播放| 亚洲国产精品麻豆| 成熟老妇女视频| 亚洲国产91视频| 亚洲成年人在线| 麻豆av免费观看| 999精品在线| 久久久免费精品视频| 草莓视频18免费观看| 激情五月婷婷综合| 国产丝袜不卡| 午夜老司机在线观看| 亚洲激情av在线| 97在线播放视频| 国产精品视频一区视频二区 | 又黄又爽的网站| 国产一区二区三区四区| 成年人精品视频| 日韩人妻精品中文字幕| 国产一区在线精品| 久久99九九| av网址在线| 色又黄又爽网站www久久| 肉色超薄丝袜脚交| 九九久久电影| 欧美激情视频在线| 欧美日韩 一区二区三区| 日韩精品免费专区| 成人网欧美在线视频| 天堂а√在线8种子蜜桃视频 | 欧洲精品一区色| a级毛片免费观看在线| 日韩欧美国产一区二区| 人妻精油按摩bd高清中文字幕| 欧美精品色图| 久久免费观看视频| 精品久久在线观看| 欧美国产精品久久| 俄罗斯av网站| 91精品啪在线观看国产手机 | 国产黄色录像视频| 99精品免费视频| 99久久99久久精品国产片| 成人免费一区二区三区视频网站| 亚洲电影一区二区三区| 亚洲国产欧美91| 99国产精品免费视频观看| 日产日韩在线亚洲欧美| 色婷婷中文字幕| 亚洲第一福利一区| 99国产精品免费视频| 久久综合国产| 国产精品久久久久秋霞鲁丝| 深夜福利视频在线观看| 亚州成人在线电影| 中文字幕视频观看| 欧美成人高清| 亚洲影院在线看| 国产丝袜在线| 日韩天堂在线观看| √天堂中文官网8在线| 麻豆国产精品视频| 亚洲成人精品电影在线观看| 中文日产幕无线码一区二区| 亚洲国内精品视频| 亚洲黄色三级视频| 9色porny自拍视频一区二区| 18禁裸男晨勃露j毛免费观看| 欧州一区二区三区| 欧美日韩爱爱视频| 黄色小视频免费观看| 亚洲一区精品在线| 奇米777第四色| 国产精品入口| 欧美在线一二三区| 蜜桃精品在线| www.久久色.com| 国产精品人妻一区二区三区| 亚洲你懂的在线视频| 韩国一区二区在线播放| 欧美精品国产一区二区| 97国产超碰| 交100部在线观看| 亚洲丝袜一区在线| 亚洲熟妇av乱码在线观看| 国产精品国产三级国产普通话99| 亚洲欧美aaa| 欧美日一区二区在线观看 | 欧美极品欧美精品欧美图片| 最新精品国偷自产在线| 国产精品爱久久久久久久| 91xxx在线观看| 欧美一区在线视频| 日韩精品成人在线| 国产亚洲一区字幕| 涩多多在线观看| 亚洲成人在线| 午夜精品亚洲一区二区三区嫩草 | 国产精品乱码一区二区三区| 亚洲风情在线资源| 日韩在线视频网站| 亚洲美女性生活| 日韩欧美在线视频日韩欧美在线视频 | 欧美成人精品三级网站| xxxxx成人.com| 后进极品白嫩翘臀在线视频| 色哟哟日韩精品| 精国产品一区二区三区a片| 91网址在线看| www.51色.com| 亚洲女同同性videoxma| 尤物国产精品| 欧美日日夜夜| 成人一区二区电影| 无遮挡爽大片在线观看视频| xxx一区二区| 日韩精品系列| 91精品国产综合久久精品性色 | 欧美尤物美女在线| 亚洲国产精品人人爽夜夜爽| 最新中文字幕免费| 亚洲国产aⅴ天堂久久| 国产精品视频在| 99热精品一区二区| 午夜福利123| 首页欧美精品中文字幕| 神马午夜伦理影院| 精品久久精品| 精选一区二区三区四区五区| 日韩在线你懂得| 欧美整片在线观看| 黄色影院在线看| 日韩在线观看你懂的| 日色在线视频| 亚洲第一天堂av| 国产精品女人久久久| 91国在线观看| 久久久久久久伊人| 亚洲欧美日韩国产一区二区三区| 国产精品扒开腿做爽爽| 成人黄色综合网站| 亚洲熟女乱综合一区二区| 久久精品国产色蜜蜜麻豆| 69堂免费视频| 亚洲激情国产| 日韩亚洲欧美一区二区| 四季av一区二区三区免费观看| 免费在线一区二区| 久久中文字幕导航| 97视频资源在线观看| 欧美日韩国产一区二区在线观看| 国产精品久久久久久中文字| 经典三级一区二区| 日韩美女在线观看| 中文字幕在线直播| 欧美一级电影久久| 欧美激情网站| 18性欧美xxxⅹ性满足| 国产嫩草在线视频| 欧美黑人巨大精品一区二区| 色呦呦在线播放| 欧美成人免费播放| 亚洲性图自拍| 欧美黑人又粗大| 福利小视频在线| 久久久在线观看| 精品丝袜在线| 992tv成人免费影院| 擼擼色在线看观看免费| 97超视频免费观看| 亚洲人体视频| 国产精品福利网| 成人午夜一级| 成人免费观看网址| 精品视频一二| 国产精品国产精品国产专区蜜臀ah | 亚洲国产老妈| 日韩精品久久一区二区| 激情久久久久久久| 久久国产亚洲精品无码| 久久国产日本精品| 国产九九在线观看| 国产成人在线影院| 黄色免费视频网站| 2021久久国产精品不只是精品| 天天躁日日躁aaaa视频| 国产精品进线69影院| 私库av在线播放| 亚洲高清三级视频| 福利网址在线观看| 欧美日韩国产综合一区二区三区| 国产手机av在线| 亚洲国产精品成人va在线观看| 欧美孕妇性xxxⅹ精品hd| 一区二区日韩精品| 在线中文字幕视频观看| 97国产在线视频| 成人做爰免费视频免费看| 成人免费淫片视频软件| 国产精品一区二区三区美女| 欧美在线日韩精品| 午夜天堂精品久久久久| 国产无套内射久久久国产| 美女在线一区二区| 国产白袜脚足j棉袜在线观看| 久久影院电视剧免费观看| 美国黄色片视频| 亚洲v中文字幕| 亚洲天堂视频在线| 亚洲国产精品成人av| 97视频精彩视频在线观看| 欧美激情18p| 日韩另类视频| 国产伦精品一区二区三区照片| 不卡中文一二三区| 成人性免费视频| 美国十次了思思久久精品导航| 97人妻精品一区二区三区免费| 久久久久久毛片| 久久99久久久| 欧美久久久久中文字幕| 性高潮久久久久久久久久| 久久成人18免费网站| 欧美精品总汇| 精品国产乱码久久久久久久软件 | 国产香蕉一区二区三区在线视频| 1区2区在线观看| 亚洲天堂黄色片| 国产亚洲欧美一区在线观看| 欧美精品色哟哟| 日本精品视频一区二区| 成人免费视频国产| 爱福利视频一区| 成人免费av电影| 久久99久久精品国产| 欧美一区二区三区免费看| 久热精品在线观看视频| 26uuu亚洲| 日本少妇久久久| 日韩三级视频在线观看| 色开心亚洲综合| 国产成人免费av| 婷婷综合电影| 成人一区二区免费视频| 国产精品亚洲专一区二区三区| 在线观看亚洲大片短视频| 狠狠爱在线视频一区| 高清毛片aaaaaaaaa片| 欧美精品一本久久男人的天堂| 久久久久久久性潮| 色噜噜一区二区| 久久亚洲影院| 在线观看福利片| 岛国av在线不卡| 青青色在线视频| 97精品国产91久久久久久| 超碰97久久| 野外做受又硬又粗又大视频√| 国产精品综合一区二区| www.97视频| 91精品国产黑色紧身裤美女| 秋霞影院午夜丰满少妇在线视频| 国产精品羞羞答答| 日韩在线观看一区| 91高清国产视频| 亚洲欧洲国产专区| 国产免费黄色片| 欧美成人精品一区二区| 欧美成年网站| 久久亚洲a v| av不卡免费在线观看| 在线观看免费国产视频| 亚洲女人天堂色在线7777| 国产精欧美一区二区三区蓝颜男同| 麻豆91蜜桃| 免费人成黄页网站在线一区二区 | 91精品人妻一区二区三区果冻| 中文字幕精品网| 国产一区二区视频在线看 | 午夜一区不卡| 久久久久久久久久久国产精品| 色婷婷综合久久久中文一区二区| 国产视频第一页在线观看| 国产精品嫩草视频| 亚洲精品成人无限看| 国产乱淫av片| 日韩欧美国产骚| 日本中文字幕视频在线| 亚洲最大成人在线| 日韩午夜在线| 欧美日韩中文字幕视频| 69久久99精品久久久久婷婷| 9191在线播放| 精品一区二区三区视频日产| 日韩av不卡在线观看| 99成人在线观看| 亚洲电影中文字幕| 香蕉成人av| 日韩视频 中文字幕| 久久婷婷国产综合精品青草| 在线观看免费黄色小视频| 欧美日韩国产成人| 免费av一区| 一级日本黄色片| 色综合天天视频在线观看| 午夜在线视频播放| 国产一区二区不卡视频| 日本美女一区二区三区视频| 91精品国产高清一区二区三蜜臀| 精品视频中文字幕| www.久久草.com| 九色在线视频观看| 亚洲欧美日韩中文字幕一区二区三区 | 欧美精品自拍偷拍| 欧美裸体视频| 国产激情片在线观看|