中文
SwiftChat เป็นแอปพลิเคชันแชท AI ที่รวดเร็วและตอบสนองซึ่งพัฒนาด้วย React Native และขับเคลื่อนโดย Amazon Bedrock ด้วยปรัชญาการออกแบบที่เรียบง่ายและการปกป้องความเป็นส่วนตัวที่แข็งแกร่ง ทำให้สามารถสนทนาแบบสตรีมมิ่งแบบเรียลไทม์และความสามารถในการสร้างภาพ AI บนแพลตฟอร์ม Android, iOS และ macOS
คุณสมบัติที่สำคัญ:
ตามค่าเริ่มต้น เราใช้ AWS App Runner ซึ่งมักใช้เพื่อโฮสต์เซิร์ฟเวอร์ Python FastAPI ซึ่งให้ประสิทธิภาพสูง ความสามารถในการปรับขนาด และเวลาแฝงต่ำ
หรืออีกทางหนึ่ง เรามีตัวเลือกในการแทนที่ App Runner ด้วย AWS Lambda โดยใช้ URL ฟังก์ชันสำหรับโซลูชันที่คุ้มต้นทุนมากขึ้น ดังที่แสดงในตัวอย่างนี้
ตรวจสอบให้แน่ใจว่าคุณมีสิทธิ์เข้าถึงโมเดลพื้นฐานของ Amazon Bedrock การตั้งค่าเริ่มต้นของ SwiftChat คือ:
us-west-2
Claude 3.5 Sonnet
Stable Image Core 1.0
ปฏิบัติตามคู่มือผู้ใช้ Amazon Bedrock เพื่อเปิดใช้งานโมเดลของคุณ
ลงชื่อเข้าใช้คอนโซล AWS ของคุณแล้วคลิกขวาที่ที่เก็บพารามิเตอร์เพื่อเปิดในแท็บใหม่
ตรวจสอบว่าคุณอยู่ในภูมิภาคที่รองรับหรือไม่ จากนั้นคลิกที่ปุ่ม สร้างพารามิเตอร์
กรอกพารามิเตอร์ด้านล่าง โดยปล่อยตัวเลือกอื่นๆ ไว้เป็นค่าเริ่มต้น:
ชื่อ : ป้อนชื่อพารามิเตอร์ (เช่น "SwiftChatAPIKey" จะถูกใช้เป็น ApiKeyParam
ในขั้นตอนที่ 2)
ประเภท : เลือก SecureString
ค่า : ป้อนสตริงใดๆ โดยไม่ต้องเว้นวรรค (ซึ่งจะเป็น API Key
ของคุณในขั้นตอนที่ 3)
คลิก สร้างพารามิเตอร์
คลิกปุ่มใดปุ่มหนึ่งต่อไปนี้เพื่อเปิดใช้ CloudFormation Stack ในภูมิภาคเดียวกับที่สร้างคีย์ API ของคุณ
นักวิ่งแอพ
Lambda (หมายเหตุ: สำหรับลูกค้า AWS เท่านั้น)
คลิก ถัดไป ในหน้า "ระบุรายละเอียดสแต็ก" ให้ระบุข้อมูลต่อไปนี้:
ApiKeyParam
ด้วยชื่อพารามิเตอร์ที่คุณใช้สำหรับจัดเก็บคีย์ API (เช่น "SwiftChatAPIKey")InstanceTypeParam
ตามความต้องการของคุณคลิก ถัดไป เก็บหน้า "กำหนดค่าตัวเลือกสแต็ก" ไว้เป็นค่าเริ่มต้น อ่านความสามารถ และเลือกช่องทำเครื่องหมาย "ฉันรับทราบว่า AWS CloudFormation อาจสร้างทรัพยากร IAM" ที่ด้านล่าง
คลิก ถัดไป ในส่วน "ตรวจสอบและสร้าง" ตรวจสอบการกำหนดค่าของคุณแล้วคลิก ส่ง
รอประมาณ 3-5 นาทีเพื่อให้การปรับใช้เสร็จสิ้น จากนั้นคลิก CloudFormation stack และไปที่แท็บ Outputs คุณจะพบ URL ของ API ซึ่งมีลักษณะดังนี้: https://xxx.xxx.awsapprunner.com
หรือ https://xxx.lambda-url.xxx.on.aws
ดาวน์โหลดแอป
เปิดแอป เปิดเมนูลิ้นชัก แล้วแตะ การตั้งค่า
วาง API URL
และ API Key
จากนั้นเลือกภูมิภาค
คลิกไอคอน ✓ ที่มุมขวาบนเพื่อบันทึกการกำหนดค่าและเริ่มแชท
ยินดีด้วย ? แอพ SwiftChat ของคุณพร้อมใช้งานแล้ว!
Claude 3 Haiku
ในภูมิภาคที่คุณเลือก) ความเร็วในการเปิดตัวที่รวดเร็ว
ความเร็วในการร้องขอที่รวดเร็ว
ความเร็วการเรนเดอร์ที่รวดเร็ว
useMemo
และแคชแบบกำหนดเองเพื่อสร้างแคชรองสำหรับเนื้อหาเซสชัน- ความเร็วในการจัดเก็บข้อมูลที่รวดเร็ว
ขั้นแรก โคลนที่เก็บนี้ รหัสแอปทั้งหมดอยู่ในโฟลเดอร์ react-native
ก่อนดำเนินการต่อ ให้รันคำสั่งต่อไปนี้เพื่อดาวน์โหลดการขึ้นต่อกัน
cd react-native && npm i
npm start && npm run android
npm start && npm run ios
isMac = true
ใน /src/App.tsx
และดำเนินการ npm start
ios/SwiftChat.xcworkspace
เพื่อเปิดโปรเจ็กต์ใน Xcode ของคุณMy Mac (Mac Catalyst)
จากนั้นคลิกปุ่ม ▶ Run ขั้นแรก โปรดกำหนดค่า API URL
และ API Key
ของคุณ เช่น:
export API_URL= < API URL >
export API_KEY= < API Key >
/api/converse
curl -N " ${API_URL} /api/converse "
--header ' Content-Type: application/json '
--header " Authorization: Bearer ${API_KEY} "
--data ' {
"messages": [
{
"role": "user",
"content": [
{
"text": "Hi"
}
]
}
],
"modelId": "anthropic.claude-3-5-sonnet-20240620-v1:0",
"region": "us-west-2"
} '
API นี้ใช้เพื่อใช้การสนทนาแบบสตรีมมิ่ง และจะส่งคืนเฉพาะข้อความและการใช้งานโทเค็นสำหรับการแสดงผลเท่านั้น
messages
ใต้เนื้อหาเป็นไปตามข้อกำหนดโครงสร้างข้อความใน Amazon Bedrock converse stream API โดยสมบูรณ์ คุณยังสามารถเพิ่ม image
หรือ document
ตามข้อกำหนดเพื่อรองรับการสนทนาหลายรูปแบบ
/api/image
curl " ${API_URL} /api/image "
--header ' Content-Type: application/json '
--header " Authorization: Bearer ${API_KEY} "
--data ' {
"prompt": "Beautiful countryside",
"modelId": "stability.stable-image-core-v1:0",
"region": "us-west-2",
"width": "1024",
"height": "1024"
} '
API นี้ใช้เพื่อสร้างรูปภาพและส่งกลับสตริงที่เข้ารหัส base64 ของรูปภาพ
/api/models
curl " ${API_URL} /api/models "
--header ' Content-Type: application/json '
--header ' accept: application/json '
--header " Authorization: Bearer ${API_KEY} "
--data ' {
"region": "us-west-2"
} '
API นี้ใช้เพื่อรับรายการโมเดลข้อความที่รองรับการสตรีมและโมเดลการสร้างรูปภาพทั้งหมดในภูมิภาคที่ระบุ
/api/upgrade
curl " ${API_URL} /api/upgrade "
--header ' Content-Type: application/json '
--header ' accept: application/json '
--header " Authorization: Bearer ${API_KEY} "
API นี้ใช้เพื่อรับการอัปเดตแอป SwiftChat สำหรับ Android และ macOS เวอร์ชันใหม่
รหัสลูกค้า: bedrock-api.ts
รหัสเซิร์ฟเวอร์: main.py
หมายเหตุ : หลังจากดาวน์โหลดเวอร์ชันใหม่แล้ว โปรดตรวจสอบบันทึกประจำรุ่นเพื่อดูว่าจำเป็นต้องอัปเดตเวอร์ชัน API หรือไม่
swiftchat-api
คลิกปุ่ม Deploy ที่ด้านบนขวาSwiftChatLambda-xxx
คลิกปุ่ม Deploy new image แล้วคลิก Save ดูการมีส่วนร่วมสำหรับข้อมูลเพิ่มเติม
ห้องสมุดนี้ได้รับอนุญาตภายใต้ใบอนุญาต MIT-0 ดูไฟล์ใบอนุญาต