aws bedrock runtime that integrates with your knowledge based

 First of all we need to setup our knowledge base as shown here where we can specify the source of our knowledge.  Once we created it, we can referenced it in our code, next. 



And these are the code that we can use to harness our knowledge base. 


import boto3

client = boto3.client("bedrock-agent-runtime", region_name="ap-southeast-2")

# AgenticRetrieveStream - streaming, agent-driven multi-step retrieval
response = client.agentic_retrieve_stream(
    messages=[{"role": "user", "content": {"text": "your query here"}}],
    retrievers=[{"configuration": {"knowledgeBase": {"knowledgeBaseId": "YOUR-KNOWLEDGE-BASE-ID"}}}],
    agenticRetrieveConfiguration={"foundationModelType": "MANAGED", "maxAgentIteration": 5},
    generateResponse=True,
)
for event in response["stream"]:
    if "responseEvent" in event:            # generated answer, streamed token-by-token
        print(event["responseEvent"].get("text", ""), end="", flush=True)
    elif "result" in event:                 # final retrieved chunks and citations
        for item in event["result"].get("results", []):
            print("Source:", item.get("content", {}).get("text"))
    elif "traceEvent" in event:             # agent planning / retrieval steps
        attrs = event["traceEvent"].get("attributes", {})
        print(f"[{attrs.get('step')}/{attrs.get('status')}] {attrs.get('message')}")

# Retrieve
retrieve = client.retrieve(
    knowledgeBaseId="2BTMQDJEGQ",
    retrievalQuery={"text": "your query here"},
)
print("Retrieve:", retrieve["retrievalResults"])


Comments

Popular posts from this blog

Windows SSH: Permissions for 'private-key' are too open

NodeJS: Error: spawn EINVAL in window for node version 20.20 and 18.20