這是對話代理的休息後世,它允許嵌入文檔,使用語義搜索搜索它們,根據文檔進行質量檢查,並使用大語言模型進行文檔處理。
目前,我正在重新工作langgraph,因此,並非所有版本的所有版本都會與所有提供商一起使用。我將在接下來的幾週內更新提供商。請使用發行版獲得工作版本。
如果您只想使用Aleph Alpha後端,我會推薦我的其他後端:https://github.com/mfmezger/aleph-alpha-rag。
要使用Docker運行完整的系統,請使用此命令:
git clone https://github.com/mfmezger/conversational-agent-langchain.git
cd conversational-agent-langchain
從.env-template創建.ENV文件,並設置QDRANT API鍵。對於測試,只需將其設置為測試即可。 qdrant_api_key =“測試”
然後以
docker compose up -d
然後訪問http://127.0.0.1:8001/docs或http://127.0.0.0.1:8001/redoc查看API文檔。
前端:Local主機:8501 QDRANT儀表板:Local主機:6333/儀表板
該項目是一種對話代理,它使用Aleph Alpha和OpenAI大語模型來生成對用戶查詢的響應。該代理還包括一個矢量數據庫和使用FastAPI構建的REST API。
特徵
語義搜索是一種高級搜索技術,旨在了解用戶查詢的含義和上下文,而不是匹配關鍵字。它涉及自然語言處理(NLP)和機器學習算法,以分析和解釋用戶意圖,同義詞,單詞之間的關係以及內容的結構。通過考慮這些因素,語義搜索提高了搜索結果的準確性和相關性,從而提供了更直觀和個性化的用戶體驗。
Langchain是用於自然語言處理和機器學習的圖書館。 FastAPI是一個基於標準Python型提示,用於使用Python 3.7+構建API的現代化(高性能)Web框架。 vectordatabase是一個存儲向量的數據庫,可用於相似性搜索和其他機器學習任務。
可用的兩種管理API鍵的方法,最簡單的方法是將請求中的API令牌發送為令牌。另一種可能性是創建.env文件並在此處添加API令牌。如果您直接使用Azure或OpenAI的OpenAI,則需要在.env文件中設置正確的參數。
在Linux或Mac上,您需要調整 /etc /hosts文件以包括以下行:
127.0.0.1 qdrant
首先安裝python依賴性:
如果要使用它來同步要求lock文件,則需要安裝黑麥。黑麥安裝。
rye sync
# or if you do not want to use rye
pip install -r requirements.lock
使用以下方式開始完整的系統:
docker compose up -d
要運行QDRANT數據庫本地運行:
docker compose up qdrant
要運行後端使用此命令在root Directory中:
poetry run uvicorn agent.api:app --reload
要運行測試,您可以使用此命令:
poetry run coverage run -m pytest -o log_cli=true -vvv tests
在root目錄中運行前端使用此命令:
poetry run streamlit run gui.py --theme.base= " dark "
mypy rag-解釋包裝版
QDRANT儀表板可從http://127.0.0.1:6333/dashboard獲得。您需要輸入API鍵。
要使用QDRANT API,您需要在.env文件中設置正確的參數。 QDRANT_API_KEY是QDRANT API的API鍵。並且您需要在配置文件夾中的qdrant.yaml文件中更改它。
如果您想攝入大量數據,我建議您使用位於代理/攝入中的腳本。
要測試API,我會推薦Bruno。 API請求存儲在RescagentBruno文件夾中。