Nenhuma descrição

ling 088cec0290 update README 3 meses atrás
file_loader 041ad256b6 add new_information loader 3 meses atrás
.gitignore bcdee032d2 update agent and add local llm agent 3 meses atrás
Indexing_Split.py bf1c706ac0 Integrate Llama 3.1 with RAG using LangChain's Huggingface module 4 meses atrás
RAG_app.py c70d6c8b9d Add a new node 'Additional Explanation' to the workflow and create new app file 4 meses atrás
RAG_strategy.py eac4569456 adjust to gpt4o version, adjust agent flow, add chat history 4 meses atrás
README.md 088cec0290 update README 3 meses atrás
agent_workflow.png c70d6c8b9d Add a new node 'Additional Explanation' to the workflow and create new app file 4 meses atrás
ai_agent.ipynb bcdee032d2 update agent and add local llm agent 3 meses atrás
ai_agent.py bcdee032d2 update agent and add local llm agent 3 meses atrás
ai_agent_llama.py bcdee032d2 update agent and add local llm agent 3 meses atrás
conda_env.txt bf1c706ac0 Integrate Llama 3.1 with RAG using LangChain's Huggingface module 4 meses atrás
faiss_index.py bcdee032d2 update agent and add local llm agent 3 meses atrás
local_llm.py bf1c706ac0 Integrate Llama 3.1 with RAG using LangChain's Huggingface module 4 meses atrás
pip_env.txt 80e4332a99 新增 database_description 4 meses atrás
post_processing_sqlparse.py f32ae83c55 add new column '範疇' 4 meses atrás
rewrite_question.py eac4569456 adjust to gpt4o version, adjust agent flow, add chat history 4 meses atrás
semantic_search.py bcdee032d2 update agent and add local llm agent 3 meses atrás
sql_qa_test.py bcdee032d2 update agent and add local llm agent 3 meses atrás
systex_app.py bcdee032d2 update agent and add local llm agent 3 meses atrás
text_to_sql.py c70d6c8b9d Add a new node 'Additional Explanation' to the workflow and create new app file 4 meses atrás
text_to_sql2.py 16c9e5af51 update ai agents 4 meses atrás
text_to_sql_private.py bcdee032d2 update agent and add local llm agent 3 meses atrás

README.md

SYSTEX Multi-agent

此專案建立了 multi-agent AI chatbot,主要包含兩個 agent:一個負責處理客戶自有資料的 Text-to-SQL agent,另一個則是使用檢索增強生成(RAG)技術處理專業知識的agent。整體 multi-agent 架構是使用 langgraph 完成。

目錄

系統說明

此 multi-agent 系統旨在透過判斷使用者提問而選擇使用客戶自有資料庫或外部專業知識來源,回答使用者提問。系統包含兩個主要代理:

  1. 客戶自有資料 agent:使用 Text-to-SQL 技術,用於處理客戶自有的結構化數據。
  2. 外部專業知識 agent:使用 RAG 技術,並以 FAISS 實現 RAG 的 retriever 功能,用於從外部非結構化知識中檢索並生成答案。

使用方式

啟動 app:

conda activate llama3
python systex_app.py

FastAPI Link: https://cmm.ai:8989/docs

共有四個 API,如下:

  1. /agent: 完整的 multi-agent 架構,包含自有數據與知識問答,使用的 LLM 是 GPT-4o-mini
  2. /knowledge: 僅有知識問答,使用的 LLM 是 GPT-4o-mini
  3. /local_agents: 完整的 multi-agent 架構,包含自有數據與知識問答,使用的 LLM 是 local LLM,根據不同任務選擇使用不同的 local LLM
  4. /history: 所有問答紀錄(使用前三個 API 的問答紀錄)

主要檔案說明

  • systex_app.py:API file。
  • ai_agent.py:定義 multi-agent 架構,包括 Text-to-SQL 和 RAG agent。該架構使用 langgraph 框架建立。
  • ai_agent_llama.py:同 ai_agent.py,改為使用 local LLM
  • faiss_index.py:處理 RAG 所需的 retriever 功能,用來處理文字向量資料。
  • tex_to_sql_private.py:將自然語言轉換為 SQL query,用來處理客戶自有資料。

VectorDB

  • 如果 new_information 有更新可按以下步驟更新:

    cd file_loader/
    python new_information_loader.py
    # tmux [systex] window 0 shutdown first
    python systex_app.py