跳至主要內容

Bedrock 知識庫

AWS Bedrock Knowledge Bases 可讓您將 LLM 連接至您組織的資料,讓模型擷取並參照與您業務相關的資訊。

屬性詳細資訊
說明Bedrock Knowledge Bases 將您的資料連接至 LLM,讓它們能在回應中擷取並參照您組織的資訊。
LiteLLM 提供者路由bedrock 於 litellm vector_store_registry 中
提供者文件AWS Bedrock Knowledge Bases ↗

快速開始

LiteLLM Python SDK

Example using LiteLLM Python SDK
import os
import litellm

from litellm.vector_stores.vector_store_registry import VectorStoreRegistry, LiteLLM_ManagedVectorStore

# Init vector store registry with your Bedrock Knowledge Base
litellm.vector_store_registry = VectorStoreRegistry(
vector_stores=[
LiteLLM_ManagedVectorStore(
vector_store_id="YOUR_KNOWLEDGE_BASE_ID", # KB ID from AWS Bedrock
custom_llm_provider="bedrock"
)
]
)

# Make a completion request using your Knowledge Base
response = await litellm.acompletion(
model="anthropic/claude-3-5-sonnet",
messages=[{"role": "user", "content": "What does our company policy say about remote work?"}],
tools=[
{
"type": "file_search",
"vector_store_ids": ["YOUR_KNOWLEDGE_BASE_ID"]
}
],
)

print(response.choices[0].message.content)

LiteLLM Proxy

1. 設定您的 vector_store_registry

model_list:
- model_name: claude-3-5-sonnet
litellm_params:
model: anthropic/claude-3-5-sonnet
api_key: os.environ/ANTHROPIC_API_KEY

vector_store_registry:
- vector_store_name: "bedrock-company-docs"
litellm_params:
vector_store_id: "YOUR_KNOWLEDGE_BASE_ID"
custom_llm_provider: "bedrock"
vector_store_description: "Bedrock Knowledge Base for company documents"
vector_store_metadata:
source: "Company internal documentation"

2. 使用 vector_store_ids 參數發出請求

curl http://localhost:4000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $LITELLM_API_KEY" \
-d '{
"model": "claude-3-5-sonnet",
"messages": [{"role": "user", "content": "What does our company policy say about remote work?"}],
"tools": [
{
"type": "file_search",
"vector_store_ids": ["YOUR_KNOWLEDGE_BASE_ID"]
}
]
}'

篩選結果

依中繼資料屬性篩選。

運算子(OpenAI 樣式,自動轉譯):

  • eq, ne, gt, gte, lt, lte, in, nin

AWS 運算子(直接使用):

  • equals, notEquals, greaterThan, greaterThanOrEquals, lessThan, lessThanOrEquals, in, notIn, startsWith, listContains, stringContains
response = await litellm.acompletion(
model="anthropic/claude-3-5-sonnet",
messages=[{"role": "user", "content": "What are the latest updates?"}],
tools=[{
"type": "file_search",
"vector_store_ids": ["YOUR_KNOWLEDGE_BASE_ID"],
"filters": {
"key": "category",
"value": "updates",
"operator": "eq"
}
}]
)

存取搜尋結果

了解如何在回應中存取 vector store 搜尋結果:

延伸閱讀

Vector Stores:

🚅
LiteLLM Enterprise
為正式環境打造的 SSO/SAML、稽核記錄、支出追蹤、多團隊管理與防護欄。
深入瞭解 →