- Akamai Cloud 帐户和 API 令牌
- OpenAI API 密钥
- 本地安装 Terraform
- 本地安装 kubectl
- 本地安装 s3cmd
- GitHub 存储库访问权限
- 用于部署密钥的 SSH 密钥对
开始之前
准备好所需的凭据和命令行工具,以便配置基础架构、上传文档并部署应用程序。
四步构建 RAG 聊天机器人
配置基础架构、上传知识库、部署应用程序,并验证已完成的聊天机器人。
克隆项目:
git clone https://github.com/akamai-developers/rag-langgraph-k8s-quickstart.git
cd rag-langgraph-k8s-quickstart
复制 Terraform 示例文件,并配置 Akamai Cloud API 令牌及偏好的资源设置:
cp terraform/terraform.tfvars.example terraform/terraform.tfvars
配置 LKE 集群、两个 PostgreSQL 数据库和 Object Storage 桶:
cd terraform
terraform init
terraform plan
terraform apply
确保 Terraform 输出安全。它们包含敏感的连接信息。
将 Terraform 输出结果加载到环境变量中:
export S3_BUCKET=$(terraform output -raw S3_BUCKET_NAME)
export S3_ENDPOINT=$(terraform output -raw S3_ENDPOINT)
export S3_ACCESS_KEY=$(terraform output -raw S3_ACCESS_KEY)
export S3_SECRET_KEY=$(terraform output -raw S3_SECRET_KEY)
上传所附的航空公司政策文档:
s3cmd sync ../documents/ s3://${S3_BUCKET}/ \
--host=${S3_ENDPOINT} \
--host-bucket=${S3_ENDPOINT} \
--access_key=${S3_ACCESS_KEY} \
--secret_key=${S3_SECRET_KEY}
您可以用自己的 PDF、HTML 或文本文件来替换示例中的政策文档。
设置生成的 kubeconfig:
export KUBECONFIG=./kubeconfig.yaml
从 keycloak 命名空间获取 App Platform 的初始凭据并登录。
在 App Platform 上:
- 安装 Harbor 容器注册表。
- 生成一个 GitHub 部署密钥。
- 将公钥添加到存储库中。
- 将私钥存储为 Sealed Secret。
- 接入代码存储库。
- 构建应用程序镜像。
- 为 OpenAI、PostgreSQL、Object Storage 和管理员 API 密钥创建 Sealed Secret。
- 为两个 PostgreSQL 数据库添加网络策略。
- 使用 charts/workflow.example.yaml 创建工作负载。
- 为应用程序创建一个公共服务。
请勿将凭据硬编码在存储库或工作负载配置中。
验证应用程序是否正在运行:
curl http://<your-service-endpoint>/api/health
初始化数据库:
curl -X POST \
--header "x-api-key: <your-admin-api-key>" \
http://<your-service-endpoint>/api/admin/initialize_databases
为政策文档建立索引:
curl -X POST \
--header "x-api-key: <your-admin-api-key>" \
http://<your-service-endpoint>/api/admin/index_documents
使用返回的作业 ID 检查进度:
curl -X GET \
--header "x-api-key: <your-admin-api-key>" \
http://<your-service-endpoint>/api/admin/index_documents/<job-id>
索引建立完成后,打开服务端点并询问有关已上传政策的问题。
常见问题
常见问题
该应用程序可以处理存储在 Object Storage 中的 PDF、HTML 和文本文件。
一个数据库用于存储向量嵌入,以支持语义检索。另一个用于保存对话历史和 LangGraph 的运行状态。
不需要。当前项目通过 OpenAI API 生成嵌入和聊天回复。后续,您也可以根据需要进行调整,在配备 GPU 的 LKE 节点上运行开源模型。
可以。在上传文档之前,请用您自己的受支持文件替换文档目录中的示例航空公司政策文件。
该项目使用 Sealed Secrets 来保护 OpenAI、数据库、Object Storage、部署密钥以及管理员凭据。
索引端点会返回一个作业 ID。在测试聊天机器人之前,请使用状态端点来监控作业。
不可以。Akamai Cloud 抵扣额度只能用于支付符合条件的 Akamai Cloud 基础架构费用。OpenAI API 的使用费需另行支付。