发布于 2026-01-06 3 阅读
0

智能搜索与LLM的结合:AWS赋能的检索增强型生成 🤖🔍 智能搜索与LLM的结合:AWS赋能的检索增强型生成

智能搜索与LLM的结合:AWS赋能的检索增强型生成

🤖🔍 智能搜索与LLM的结合:AWS赋能的检索增强型生成

🤖🔍 智能搜索与LLM的结合:AWS赋能的检索增强型生成

利用 AWS 原生服务构建一个检索增强生成 (RAG)代理,该代理可以根据您的内部知识库回答问题。使用Amazon BedrockOpenSearchLangChain创建智能、安全且可扩展的问答系统。

🛠️ 技术栈

  • LangChain——用于构建 RAG 管道
  • Amazon Bedrock – 适用于 LLM(Claude、Titan 等)
  • OpenSearchBedrock Knowledge Base – 用于矢量存储
  • S3 – 用于存储文档
  • Titan Embeddings——用于语义搜索

📦 安装依赖项

pip install langchain boto3 openai
Enter fullscreen mode Exit fullscreen mode

🔐 AWS 身份验证
设置 AWS CLI 或环境变量:

aws configure
Enter fullscreen mode Exit fullscreen mode

或者:

export AWS_ACCESS_KEY_ID=your_key
export AWS_SECRET_ACCESS_KEY=your_secret
export AWS_REGION=us-east-1
Enter fullscreen mode Exit fullscreen mode

📄 代码:RAG Agent 与 AWS Vector Store

import boto3
from langchain.llms.bedrock import Bedrock
from langchain.chains import RetrievalQA
from langchain.vectorstores import OpenSearchVectorSearch
from langchain.embeddings import BedrockEmbeddings

# 1. Configure LLM and Embeddings
llm = Bedrock(model_id="anthropic.claude-v2", region_name="us-east-1")
embedding = BedrockEmbeddings(model_id="amazon.titan-embed-text-v1", region_name="us-east-1")

# 2. Connect to OpenSearch (or use Bedrock Knowledge Base)
opensearch = OpenSearchVectorSearch(
    opensearch_url="https://your-domain.us-east-1.es.amazonaws.com",
    index_name="your-index-name",
    embedding=embedding
)

# 3. Create RAG pipeline
qa = RetrievalQA.from_chain_type(llm=llm, retriever=opensearch.as_retriever(), return_source_documents=True)

# 4. Ask a question
query = "How does the AWS knowledge base vector search work?"
result = qa({"query": query})

print("Answer:", result["result"])
print("Sources:", result["source_documents"])
Enter fullscreen mode Exit fullscreen mode

📚 可选:使用 AWS Bedrock 知识库
您可以使用 Amazon Bedrock 知识库简化矢量存储:

将您的文档上传到S3。

通过 AWS 控制台创建知识库。

AWS 负责处理数据分块、嵌入和搜索。

使用 Bedrock API 或 LangChain 的 BedrockRetriever 获取结果。

📁 文件夹结构示例

.
├── docs/
│   └── knowledge_base/         # Local or S3 documents
└── rag_aws_agent.py            # Main script
Enter fullscreen mode Exit fullscreen mode

🔄接下来是什么?
🧾支持更多文件类型(PDF、CSV、Markdown)

🧠 添加具有内存和工具的代理

🌐 使用 Streamlit 或 FastAPI 创建 Web 界面

🔐 使用 IAM 角色实现安全访问

💾 存储响应日志和审计跟踪

💡 您可以使用的吸引人的标题
:“与您的 AWS 文档聊天:使用 Amazon Bedrock 构建 RAG 代理”

“RAG即服务:在AWS上使用LangChain实现可扩展的AI问答”

从 S3 到智能搜索:在 AWS 上构建 RAG 机器人

“Amazon Bedrock 与 LangChain 强强联合:创建您自己的问答助手”

✅ 总结:
您现在拥有一个可正常运行的 RAG 代理,它:

从您托管在 AWS 上的知识库中检索内容

使用 Titan Embeddings 和 Claude 来获得智能答案

具有可扩展性、安全性和易于扩展性

想把它变成完整的代码库、Streamlit 演示或 Docker 包吗?尽管开口!

文章来源:https://dev.to/moni121189/smart-search-meets-llm-aws-powered-retrieval-augmented- Generation-2hn7