เทมเพลต Terraform ทำให้การปรับใช้แบบ end-to-end ของแอปพลิเคชัน Azure OpenAI โดยใช้ Redis Enterprise เป็นฐานข้อมูลเวกเตอร์

ในสคริปต์ terraform เดียวมันปรับใช้:
text-davinci-003 และ text-embedding-ada-002./docsแอปพลิเคชั่นตัวอย่างที่ใช้ใน repo นี้ช่วยให้คุณใช้ ChatGPT เพื่อวิเคราะห์เอกสารซึ่งไม่ทราบก่อนหน้านี้กับ ChatGPT และ/หรือภายในองค์กรของคุณ
มีการไหลของข้อมูลสองครั้งในแอพ ครั้งแรก - การสร้างแบทช์ของการฝังจากบริบทเอกสาร การฝังตัวเหล่านี้จะถูกเก็บไว้ใน Azure Redis Enterprise ประการที่สอง - การใช้การฝังตัวเหล่านี้เพื่อสร้างพรอมต์ที่รับรู้บริบทเพื่อ ChatGPT ดังนั้นจึงตอบคำถามตามบริบทของเอกสารภายใน
คำถามที่คุณสามารถลอง:
อะไรคือความแตกต่างหลักระหว่างสามประเภทเครื่องยนต์ที่มีให้สำหรับ Chevy Colorado? จัดรูปแบบการตอบกลับเป็นตารางที่มีโมเดลเป็นคอลัมน์แรก
มีตัวเลือกสีอะไรบ้าง? รูปแบบเป็นรายการ
เครดิตแอพ-https://github.com/redisventures/llm-document-chat
รับรองความถูกต้อง Azure CLI ไปยังบัญชี Azure ของคุณ:
az login
ปรับใช้การกำหนดค่า Terraform:
terraform init
terraform apply
คุณสามารถเพิ่มเอกสารของคุณเองลงในโฟลเดอร์ ./docs (PDF หรือข้อความธรรมดา) เพื่อให้สามารถอัปโหลดไปยังถังระหว่างการปรับใช้
อาจใช้เวลานานถึง 20 นาทีในการจัดเตรียมโครงสร้างพื้นฐานที่จำเป็นทั้งหมด
ในตอนท้ายสคริปต์ Terraform จะส่งออกพวงของตัวแปร
app-url = "redis-openai-83903-webapp.azurewebsites.net"
openai-endpoint = "https://redis-openai-83903.openai.azure.com/"
openai-key = <sensitive>
redis-endpoint = "redis-openai-83903-redisenterprise.southcentralus.redisenterprise.cache.azure.net"
redis-password = <sensitive>
redis-port = 10000
storage-account = "redisopenai83903bucket"
storage-account-connection-string = <sensitive>
storage-container = "data"
App-URL สามารถใช้เพื่อเข้าถึงแอปพลิเคชันทันที
ใช้ terraform.tfvars หรือ terraform apply -var="name_prefix=my-deployment" เพื่อแทนที่คำนำหน้าชื่อทรัพยากรเริ่มต้นและภาพคอนเทนเนอร์เพื่อปรับใช้กับ WebApp
หากต้องการเปลี่ยนแอปพลิเคชันให้ปรับใช้เป็นแอป Azure Web - เปลี่ยน app_docker_image และ app_docker_tag ค่าใน terraform.tfvars ซอร์สโค้ดสำหรับแอปพลิเคชันเริ่มต้นจะรวมอยู่ใน repo นี้ภายใต้โฟลเดอร์ ./app
บัญชี Azure, Azure CLI, Terraform CLI ติดตั้งในพื้นที่
Azure Open AI ปัจจุบัน (พฤษภาคม 2023) อยู่ในตัวอย่างส่วนตัว คุณต้องส่งคำขอไปยัง Microsoft เพื่อเปิดใช้งานบัญชีของคุณ
Azure Openai Embedding API ในปัจจุบันมีข้อ จำกัด ที่เข้มงวดเกี่ยวกับความถี่คำขอซึ่งอาจทำให้ไม่สามารถทำได้สำหรับการสร้างแบบฝังจำนวนมาก พิจารณาใช้การฝังในท้องถิ่นเช่น:
from langchain.embeddings import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
ในขณะที่ Azure Openai และ Azure Redis Enterprise ไม่สามารถใช้งานได้ในเครื่อง แต่คุณสามารถใช้เครื่องในพื้นที่ของคุณเพื่อทดสอบแอปพลิเคชันเอง
หลังจากใช้งาน terraform apply คุณสามารถใช้บริการ Azure ที่สร้างขึ้นเพื่อทดสอบรหัสแอปพลิเคชันของคุณในเครื่อง ใช้. env.template เป็นตัวอย่างและเติมด้วยปุ่มและ URL จริง
docker build -t llm-chat .
docker run -it -p 80:80 --env-file=.env llm-chat
การสร้าง/ผลักดันภาพมัลติเพล็ก (มีประโยชน์สำหรับการพัฒนาในท้องถิ่นบน Mac/ARM):
docker buildx build --platform linux/amd64,linux/arm64 -t antonum/llmchat:latest --push .
azurerm_cognitive_account.openai ติดอยู่ใน creating เฟส ในช่วงเวลาของการเขียน (พฤษภาคม 2023) Azure บางครั้งประสบปัญหาในการปรับใช้บริการ OpenAI ลองปรับใช้สแต็กในภูมิภาคอื่น ตัวอย่างเช่นตั้งค่า azure_region = "southcentralus" แทน eastus
SpecialFeatureOrQuotaIdRequired: The subscription does not have QuotaId/Feature required by SKU 'S0' from kind 'OpenAI'บัญชี Azure ของคุณไม่ได้เปิดใช้งาน Azure Openai ในช่วงเวลาของการเขียน (พฤษภาคม 2023) Azure Openai อยู่ในพรีวิวส่วนตัว คุณต้องส่งคำขอไปยัง Microsoft เพื่อเปิดใช้งานสำหรับการสมัครสมาชิกของคุณ
เพื่อทำลายทรัพยากรทั้งหมดที่ใช้งาน Run:
terraform destroy