File size: 2,334 Bytes
7abe6e1 ccbcbae 7abe6e1 adbeb82 332de37 6b17270 90397f3 df78852 b34c465 50a12bf 6b17270 7abe6e1 555ef07 7abe6e1 f9bc4fc ef6a2a0 adbeb82 a337d72 adbeb82 e207b76 370c03f ef6a2a0 370c03f ef6a2a0 52d9836 ef6a2a0 13b6f87 ef6a2a0 709bce3 13b6f87 ef6a2a0 370c03f af7cd6b 7abe6e1 e4a070f df78852 dfa34b3 7abe6e1 2d34c43 370c03f 801487f 04e5ddd 9468ae4 dfa34b3 2d34c43 7abe6e1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
import gradio as gr
import boto3, json, os
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
aws_access_key_id = os.environ["AWS_ACCESS_KEY_ID"]
aws_secret_access_key = os.environ["AWS_SECRET_ACCESS_KEY"]
config = {
"max_tokens_to_sample": 1000,
"model": "anthropic.claude-v2",
"temperature": 0,
"top_k": 250,
"top_p": 0.999,
}
bedrock_runtime = boto3.client(
aws_access_key_id = aws_access_key_id,
aws_secret_access_key = aws_secret_access_key,
service_name = "bedrock-runtime",
region_name = "us-west-2"
)
def invoke(prompt):
if (prompt == ""):
raise gr.Error("Prompt is required.")
raise gr.Error("Clone and bring your own credentials.")
completion = ""
try:
body = json.dumps({"prompt": "Human: " + prompt + "Assistant: ",
"max_tokens_to_sample": config["max_tokens_to_sample"],
"temperature": config["temperature"],
"top_k": config["top_k"],
"top_p": config["top_p"],
"stop_sequences": ["Human: "]})
modelId = config["model"]
accept = "application/json"
contentType = "application/json"
response = bedrock_runtime.invoke_model(body = body,
modelId = modelId,
accept = accept,
contentType = contentType)
response_body = json.loads(response.get("body").read())
completion = response_body["completion"]
except Exception as e:
completion = e
raise gr.Error(e)
return completion
description = """<a href='https://www.gradio.app/'>Gradio</a> UI using the <a href='https://aws.amazon.com/bedrock/'>Amazon Bedrock</a> API
with <a href='https://www.anthropic.com/'>Anthropic</a> Claude 2 model."""
gr.close_all()
demo = gr.Interface(fn = invoke,
inputs = [gr.Textbox(label = "Prompt", value = "hi", lines = 1)],
outputs = [gr.Textbox(label = "Completion", lines = 1)],
title = "Generative AI - LLM",
description = description)
demo.launch() |