Python 后端

在本节中,您将设置和配置项目的后端部分。

安装 Python 依赖项

为了遵循 Python 最佳实践,现在要创建一个虚拟环境,这是一个专用于本项目的私有 Python 安装,所有依赖项都可以安装在其中。请执行以下命令:

python3 -m venv .venv

该命令以.venv文件格式创建 Python 虚拟环境。(dot-venv) 目录。您可以将.venv 替换为您喜欢的任何其他名称。请注意,在某些 Python 安装中,可能需要使用python 而不是python3 来调用 Python 解释器。

下一步是激活虚拟环境,使该虚拟环境成为所处终端会话的活动 Python 环境。如果您使用的是基于 UNIX 的操作系统(如 Linux 或 macOS),请按以下步骤激活虚拟环境:

source .venv/bin/activate

如果您在 Microsoft Windows 计算机上的 WSL 环境中工作,上述激活命令也同样有效。但如果使用的是 Windows 命令提示符或 PowerShell,激活命令则有所不同:

.venv\Scripts\activate

激活虚拟环境后,命令行提示符会更改为显示环境名称:

(.venv) $ _

配置 Python 环境的最后一步是安装启动程序所需的一些软件包。确保虚拟环境已在上一步中激活,然后运行以下命令安装这些依赖项:

pip install -r requirements.txt

编写配置文件

在上一节下载的代码主目录中,有一个名为env.example 的文件。该文件包含应用程序支持的所有配置变量。

复制该文件,并命名为.env

cp env.example .env

如果您在 Windows 上学习该教程,请使用copy 代替上述命令中的cp

在最喜欢的文本编辑器中打开.env查看应用程序配置,并查看以下小节,了解如何配置应用程序。

Elasticsearch 设置

认证

如果使用的是 Elastic Cloud 账户,则必须设置ELASTICSEARCH_URLELASTIC_API_KEY 变量:

ELASTICSEARCH_URL="paste your Elasticsearch endpoint URL here"
ELASTIC_API_KEY="paste your API Key here"

有关获取 ELASTICSEARCH_URL 和 API 密钥的帮助,请参阅有关如何创建 Elastic Cloud 部署的说明。

如果使用的是自托管 Elasticsearch 实例,则应注释ELASTIC_API_KEY ,并将ELASTICSEARCH_URL 设置为 Elasticsearch 端点:

ELASTICSEARCH_URL=http://localhost:9200
# ELASTIC_API_KEY=

索引

该应用程序使用两个 Elasticsearch 索引。ES_INDEXES_INDEX_CHAT_HISTORY 配置变量允许你为这些索引提供名称。配置文件中包含的默认值在大多数情况下都没有问题。

ES_INDEX=workplace-app-docs
ES_INDEX_CHAT_HISTORY=workplace-app-docs-chat-history

LLM 设置

该申请还需要访问您的 LLM。如果使用的是 OpenAI,请使用以下配置变量:

LLM_TYPE=openai
OPENAI_API_KEY="paste your OpenAI Key here"

该应用程序支持任何与Langchain 集成的 LLM。除 OpenAI 外,配置文件中的注释还将指导您配置一些常用的 LLM。您还可以使用任何其他未预置的 LLM,只需对应用程序做最小的改动即可。

加载样本数据集

应用程序自带一个示例数据集,存储在data/data.json文件中。请随时用文本编辑器打开该文件,熟悉其中包含的文件。

使用以下命令将数据集导入应用程序:

flask create-index

启动后端

完成上述所有步骤后,就可以使用以下命令启动 Python 后端了:

flask run --port=3001

让后端继续运行,然后打开一个新的终端会话,继续本教程的其余部分。

准备好打造最先进的搜索体验了吗?

足够先进的搜索不是一个人的努力就能实现的。Elasticsearch 由数据科学家、ML 操作员、工程师以及更多和您一样对搜索充满热情的人提供支持。让我们联系起来,共同打造神奇的搜索体验,让您获得想要的结果。

亲自试用