这是对话代理的休息后世,它允许嵌入文档,使用语义搜索搜索它们,根据文档进行质量检查,并使用大语言模型进行文档处理。
目前,我正在重新工作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文件夹中。