นี่คือตัวอย่างสมุดบันทึกและเว็บแอปพลิเคชันที่แสดงให้เห็นว่า Amazon Bedrock และ Titan สามารถใช้กับ Neo4j ได้อย่างไร เราจะสำรวจวิธีใช้ประโยชน์จาก Generative AI เพื่อสร้างและใช้กราฟความรู้ใน Neo4j
ชุดข้อมูลที่เราใช้นั้นมาจากระบบ EDGAR ของ SEC มันถูกดาวน์โหลดโดยใช้สคริปต์เหล่านี้
กระแสข้อมูลในการสาธิตนี้ประกอบด้วยสองส่วน:
หากต้องการเริ่มต้นการตั้งค่าการสาธิต ให้โคลน repo นี้ในสภาพแวดล้อม SageMaker Studio จากนั้นเรียกใช้สมุดบันทึกหมายเลข 1 และ 2
การสาธิตนี้ต้องใช้อินสแตนซ์ Neo4j คุณสามารถปรับใช้ได้โดยใช้รายการ AWS Marketplace ที่นี่
ข้อมูลประจำตัว AWS ที่คุณรับจากสภาพแวดล้อมโน้ตบุ๊กของคุณ (ซึ่งก็คือ บทบาทการดำเนินการ Studio/โน้ตบุ๊ก จาก SageMaker หรืออาจเป็นบทบาทหรือผู้ใช้ IAM สำหรับโน้ตบุ๊กที่จัดการด้วยตนเอง) ต้องมีสิทธิ์ AWS IAM เพียงพอที่จะเรียกใช้บริการ Amazon Bedrock
หากต้องการให้สิทธิ์ Bedrock เข้าถึงข้อมูลประจำตัวของคุณ คุณสามารถ:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "BedrockFullAccess",
"Effect": "Allow",
"Action": ["bedrock:*"],
"Resource": "*"
}
]
}
หมายเหตุ: ด้วย Amazon SageMaker โดยทั่วไปบทบาทการดำเนินการสมุดบันทึกของคุณจะ แยก จากผู้ใช้หรือบทบาทที่คุณเข้าสู่ระบบ AWS Console ด้วย หากคุณต้องการสำรวจ AWS Console สำหรับ Amazon Bedrock คุณจะต้องให้สิทธิ์แก่ผู้ใช้/บทบาทคอนโซลของคุณด้วย
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการดำเนินการอย่างละเอียดและการอนุญาตทรัพยากรใน Bedrock โปรดดูคู่มือนักพัฒนา Bedrock
แอปพลิเคชัน UI ขึ้นอยู่กับ Streamlit ในตัวอย่างนี้ เราจะแสดงวิธีรันบน AWS EC2 Instance (EC2) VM ขั้นแรก ปรับใช้ VM คุณสามารถใช้คู่มือนี้เพื่อแยก Amazon Linux VM ได้
เราจะใช้ AWS CLI คุณต้องทำตามขั้นตอนเหล่านี้เพื่อกำหนดค่าข้อมูลประจำตัวเพื่อใช้ตัวเลือก CLI
เข้าสู่ระบบโดยใช้ข้อมูลรับรอง AWS ผ่าน aws
cli
aws configure
จากนั้น เข้าสู่ระบบอินสแตนซ์ VM ใหม่โดยใช้ AWS CLI:
export INSTANCE_ID=
aws ec2-instance-connect ssh --instance-id $INSTANCE_ID
เราจะใช้งานแอปพลิเคชันบนพอร์ต 80 ซึ่งต้องมีการเข้าถึงรูท ดังนั้นก่อนอื่น:
sudo su
จากนั้นคุณจะต้องติดตั้ง git และโคลน repo นี้:
yum install -y git
mkdir -p /app
cd /app
git clone https://github.com/neo4j-partners/neo4j-generative-ai-aws.git
cd neo4j-generative-ai-aws
มาติดตั้ง python & pip ก่อน:
yum install -y python
yum install -y pip
ตอนนี้ เรามาสร้างสภาพแวดล้อมเสมือนเพื่อแยกสภาพแวดล้อม Python ของเราและเปิดใช้งานกัน
yum install -y virtualenv
python3 -m venv /app/venv/genai
source /app/venv/genai/bin/activate
หากต้องการติดตั้ง Streamlit และการอ้างอิงอื่นๆ:
cd ui
pip install -r requirements.txt
ตรวจสอบว่าคำสั่ง streamlit
สามารถเข้าถึงได้จาก PATH หรือไม่โดยการรันคำสั่งนี้:
streamlit --version
ถ้าไม่ คุณต้องเพิ่ม streamlit
binary ให้กับตัวแปร PATH ดังนี้:
export PATH="/app/venv/genai/bin:$PATH"
ถัดไปคุณจะต้องสร้างไฟล์ลับเพื่อให้แอปใช้งานได้ เปิดไฟล์และแก้ไข:
cd streamlit
cd .streamlit
cp secrets.toml.example secrets.toml
vi secrets.toml
ตอนนี้คุณจะต้องแก้ไขไฟล์นั้นเพื่อแสดงข้อมูลประจำตัวของคุณ ไฟล์มีตัวแปรดังต่อไปนี้:
SERVICE_NAME = "" #e.g. bedrock-runtime
REGION_NAME = "" #e.g. us-west-2
CYPHER_MODEL = "" #e.g. anthropic.claude-v2
ACCESS_KEY = "AWS ACCESS KEY" #provide the access key with bedrock access
SECRET_KEY = "AWS SECRET KEY" #provide the secret key with bedrock access
NEO4J_HOST = "" #NEO4J_AURA_DS_URL
NEO4J_PORT = "7687"
NEO4J_USER = "neo4j"
NEO4J_PASSWORD = "" #Neo4j password
NEO4J_DB = "neo4j"
ตอนนี้เราสามารถรันแอพด้วยคำสั่ง:
cd ..
streamlit run Home.py --server.port=80
หรือคุณสามารถเรียกใช้แอปในเซสชันหน้าจออื่นเพื่อให้แน่ใจว่าแอปยังคงทำงานต่อไปแม้ว่าคุณจะยกเลิกการเชื่อมต่อจากอินสแตนซ์ ec2:
screen -S run_app
cd ..
streamlit run Home.py --server.port=80
คุณสามารถใช้ Ctrl+a
d
เพื่อออกจากหน้าจอโดยที่แอปยังคงทำงานอยู่และกลับเข้าสู่หน้าจอด้วย screen -r
หากต้องการปิดเซสชันหน้าจอ ให้ใช้คำสั่ง screen -XS run_app quit
บน VM เพื่อทำงานบนพอร์ต 80:
เมื่อใช้งานแล้ว คุณจะสามารถดูแดชบอร์ดและ UI แชทได้:
จาก Chat UI คุณสามารถถามคำถามเช่น: