องค์กรของคุณต้องการ Smart Chatbot แบบหลายช่องทางและเครื่องมือค้นหาที่สามารถเข้าใจข้อมูลประเภทต่างๆ ที่กระจัดกระจายไปตามสถานที่ต่างๆ นอกจากนี้ แชทบอทแบบสนทนาควรจะสามารถให้คำตอบสำหรับคำถาม พร้อมด้วยแหล่งที่มาและคำอธิบายว่าได้รับคำตอบอย่างไรและที่ไหน กล่าวอีกนัยหนึ่ง คุณต้องการ ChatGPT ที่เป็นส่วนตัวและปลอดภัยสำหรับองค์กรของคุณที่สามารถตีความ เข้าใจ และตอบคำถามเกี่ยวกับข้อมูลธุรกิจของคุณได้
เป้าหมายของ POC คือการแสดง/พิสูจน์คุณค่าของ GPT Virtual Assistant ที่สร้างด้วย Azure Services ด้วยข้อมูลของคุณเองในสภาพแวดล้อมของคุณเอง สิ่งที่ส่งมอบคือ:
Backend Bot API ที่สร้างด้วย Bot Framework และเปิดเผยผ่านหลายช่องทาง (Web Chat, MS Teams, SMS, Email, Slack ฯลฯ)
เว็บแอปพลิเคชันส่วนหน้าพร้อมการค้นหาและ Bot UI
Repo จัดทำขึ้นเพื่อสอนคุณทีละขั้นตอนเกี่ยวกับวิธีสร้าง Smart Search Engine ที่ใช้ OpenAI โน้ตบุ๊กแต่ละเครื่องจะสร้างทับกันและสิ้นสุดด้วยการสร้างแอปพลิเคชันทั้งสอง
สำหรับ Microsoft FTE: นี่คือ VBD ที่ได้รับทุนจากลูกค้า ซึ่งอยู่ต่ำกว่าสินทรัพย์สำหรับการจัดส่ง
รายการ | คำอธิบาย | ลิงค์ |
---|---|---|
ข้อมูล VBD SKU และเอกสารข้อมูล | CSAM จะต้องจัดส่งเป็น "ลูกค้าลงทุน" กับเครดิต/ชั่วโมงของ Unified Support Contract ลูกค้าตัดสินใจว่า 3 หรือ 5 วัน | หน้า ESXP SKU |
การรับรองระบบ VBD สำหรับ CSA | ลิงก์สำหรับ CSA เพื่อขอรับการรับรองที่จำเป็นในการส่งมอบเวิร์กช็อป | ลิงค์ 1 , ลิงค์ 2 |
VBD 3-5 วัน สินทรัพย์ POC (IP) | MVP ที่จะส่งมอบ (repo GitHub นี้) | Azure-Cognitive-Search-Azure-OpenAI-Accelerator |
ดาดฟ้าการประชุมเชิงปฏิบัติการ VBD | ดาดฟ้าแนะนำและอธิบายการประชุมเชิงปฏิบัติการ | แนะนำ AOAI GPT Azure Smart Search Engine Accelerator.pptx |
วิดีโอการฝึกอบรม CSA | การฝึกอบรม 2 ชั่วโมงสำหรับ Microsoft CSA | การบันทึกการฝึกอบรม POC VBD (วิดีโอใหม่จะมาเร็ว ๆ นี้!) |
ข้อกำหนดเบื้องต้น ลูกค้า 3-5 วัน POC
การสมัครสมาชิก Azure
ยอมรับแอปพลิเคชัน Azure Open AI รวมถึง GPT-4o หากลูกค้าไม่ได้รับการอนุมัติ GPT-4o Microsoft CSA สามารถให้ยืมได้ในระหว่างเวิร์กช็อป
ควรเพิ่มสมาชิก Microsoft เป็นผู้เยี่ยมชมในไคลเอนต์ Azure AD หากเป็นไปไม่ได้ ลูกค้าสามารถออก ID องค์กรให้กับสมาชิกของ Microsoft ได้
จำเป็นต้องตั้งค่ากลุ่มทรัพยากร (RG) สำหรับ POC ของเวิร์กชอปนี้ในผู้เช่า Azure ของลูกค้า
ทีมลูกค้าและทีม Microsoft ต้องมีสิทธิ์ผู้สนับสนุนในกลุ่มทรัพยากรนี้ เพื่อให้สามารถตั้งค่าทุกอย่างได้ 2 สัปดาห์ก่อนการประชุมเชิงปฏิบัติการ
ต้องตั้งค่าบัญชีการจัดเก็บข้อมูลใน RG
ข้อมูล/เอกสารลูกค้าจะต้องอัปโหลดไปยังบัญชีพื้นที่จัดเก็บ Blob อย่างน้อยสองสัปดาห์ก่อนวันเวิร์กช็อป
ลูกค้าจะต้องสร้างการลงทะเบียนแอปหลายผู้เช่า (บริการหลัก) (บันทึกรหัสลูกค้าและค่าลับ)
ลูกค้าต้องจัดเตรียมคำถาม 10-20 ข้อ (จากง่ายไปยาก) ให้กับทีม Microsoft ว่าพวกเขาต้องการให้บอทตอบสนองอย่างถูกต้อง
สำหรับการทำงานร่วมกันของ IDE และการทำให้เป็นมาตรฐานในระหว่างเวิร์กช็อป อินสแตนซ์การประมวลผล AML กับ Jupyper Lab จะถูกนำมาใช้ ด้วยเหตุนี้ Azure Machine Learning Workspace จะต้องถูกปรับใช้ใน RG
หมายเหตุ: โปรดตรวจสอบให้แน่ใจว่าคุณมีโควต้าการประมวลผลหลักเพียงพอในพื้นที่ทำงาน Azure Machine Learning ของคุณ
ผู้ใช้ถามคำถาม
ในแอป OpenAI LLM จะใช้พรอมต์อันชาญฉลาดเพื่อกำหนดแหล่งที่มาที่จะใช้โดยอิงตามอินพุตของผู้ใช้
มีแหล่งที่มาห้าประเภท:
สำเนาบทสนทนาของทุกตอนของรายการทีวี: FRIENDS
บทคัดย่อสิ่งพิมพ์เกี่ยวกับโควิด 90,000 รายการ
หนังสือ PDF ยาว 4 เล่ม
3ก. ฐานข้อมูล Azure SQL - มีสถิติที่เกี่ยวข้องกับ COVID ในสหรัฐอเมริกา
3บี API Endpoints - RESTful OpenAPI 3.0 API ที่มีสถิติล่าสุดเกี่ยวกับ Covid
3ค. Azure Bing Search API - ให้การเข้าถึงอินเทอร์เน็ตที่อนุญาตฉากเช่น: QnA บนเว็บไซต์สาธารณะ
3d. Azure AI Search - มีเอกสารเสริม AI จาก Blob Storage:
3ฟ. ไฟล์ตาราง CSV - มีสถิติที่เกี่ยวข้องกับ COVID ในสหรัฐอเมริกา
แอปจะดึงผลลัพธ์จากแหล่งที่มาและสร้างคำตอบ
สิ่งอันดับ (คำถามและคำตอบ) จะถูกบันทึกลงใน CosmosDB เป็นหน่วยความจำถาวรและสำหรับการวิเคราะห์เพิ่มเติม
คำตอบจะถูกส่งไปยังผู้ใช้
https://gptsmartsearchapp.azurewebsites.net/
หลาม 100%
ใช้บริการ Azure Cognitive Services เพื่อจัดทำดัชนีและเพิ่มประสิทธิภาพเอกสารที่ไม่มีโครงสร้าง: OCR บนรูปภาพ การแยกส่วน และการทำเวกเตอร์อัตโนมัติ
ใช้ความสามารถในการค้นหาแบบไฮบริดของ Azure AI Search เพื่อให้คำตอบเชิงความหมายที่ดีที่สุด (การค้นหาข้อความและเวกเตอร์รวมกัน)
ใช้ LangChain เป็น wrapper สำหรับการโต้ตอบกับ Azure OpenAI ร้านค้าเวกเตอร์ การสร้างพร้อมท์ และสร้างตัวแทน
หลายภาษา (นำเข้า จัดทำดัชนี และเข้าใจภาษาใดก็ได้)
หลายดัชนี -> ดัชนีการค้นหาหลายรายการ
คำถามและคำตอบข้อมูลแบบตารางพร้อมไฟล์ CSV และฐานข้อมูลรสชาติ SQL
ใช้ Azure AI Document Intelligence SDK (เดิมคือ Form Recognizer) เพื่อแยกวิเคราะห์เอกสาร PDF ที่ซับซ้อน/ขนาดใหญ่
ใช้ Bing Search API เพื่อขับเคลื่อนการค้นหาทางอินเทอร์เน็ตและการถามตอบผ่านเว็บไซต์สาธารณะ
เชื่อมต่อกับแหล่งข้อมูล API โดยการแปลงคำถามที่เป็นภาษาธรรมชาติเป็นการเรียก API
ใช้ CosmosDB เป็นหน่วยความจำถาวรเพื่อบันทึกการสนทนาของผู้ใช้
ใช้ Streamlit เพื่อสร้างเว็บแอปพลิเคชันส่วนหน้าใน python
ใช้ Bot Framework และบริการ Bot เพื่อโฮสต์แบ็กเอนด์ Bot API และเปิดเผยไปยังหลายช่องทาง รวมถึง MS Teams
ยังใช้ LangServe/FastAPI เพื่อปรับใช้ API แบ็กเอนด์ทางเลือกพร้อมความสามารถในการสตรีม
หมายเหตุ: (ข้อกำหนดเบื้องต้น) คุณต้องมีบริการ Azure OpenAI ที่สร้างไว้แล้ว
แยก repo นี้ไปยังบัญชี Github ของคุณ
ในสตูดิโอ Azure OpenAI ให้ปรับใช้โมเดลเหล่านี้ (รุ่นเก่ากว่าที่ระบุไว้ด้านล่างจะไม่ทำงาน):
"gpt-4o"
"gpt-4o-มินิ"
"การฝังข้อความ-ada-002 (หรือใหม่กว่า)"
สร้างกลุ่มทรัพยากรที่จะเป็นทรัพย์สินทั้งหมดของตัวเร่งความเร็วนี้ Azure OpenAI อาจอยู่ใน RG ที่แตกต่างกันหรือการสมัครใช้งานที่แตกต่างกัน
คลิกด้านล่างเพื่อสร้างโครงสร้างพื้นฐาน Azure ทั้งหมดที่จำเป็นในการรันโน้ตบุ๊ก (Azure AI Search, Cognitive Services ฯลฯ):
หมายเหตุ : หากคุณไม่เคยสร้าง Azure AI Services Multi-Service account
มาก่อน โปรดสร้างบัญชีด้วยตนเองในพอร์ทัล Azure เพื่ออ่านและยอมรับข้อกำหนด AI ที่รับผิดชอบ เมื่อปรับใช้แล้ว ให้ลบสิ่งนี้แล้วใช้ปุ่มปรับใช้ด้านบน
โคลน Repo Forked ของคุณไปยัง AML Compute Instance ของคุณ หาก repo ของคุณเป็นแบบส่วนตัว โปรดดูด้านล่างในส่วนการแก้ไขปัญหาวิธีการโคลน repo ส่วนตัว
ตรวจสอบให้แน่ใจว่าคุณรันโน้ตบุ๊กใน สภาพแวดล้อม Python 3.10 conda หรือใหม่กว่า
ติดตั้งการขึ้นต่อกันบนเครื่องของคุณ (ตรวจสอบให้แน่ใจว่าคุณใช้คำสั่ง pip ด้านล่างในสภาพแวดล้อม conda เดียวกันกับที่คุณจะเรียกใช้โน้ตบุ๊ก ตัวอย่างเช่น ในการเรียกใช้อินสแตนซ์การประมวลผล AZML:
conda activate azureml_py310_sdkv2 pip install -r ./common/requirements.txt
คุณอาจได้รับข้อผิดพลาดเกี่ยวกับการอ้างอิง pip แต่ไม่เป็นไร ไลบรารีได้รับการติดตั้งอย่างถูกต้องโดยไม่คำนึงถึงข้อผิดพลาด
แก้ไขไฟล์ credentials.env
ด้วยค่าของคุณเองจากบริการที่สร้างขึ้นในขั้นตอนที่ 4
สำหรับ BLOB_SAS_TOKEN และ BLOB_CONNECTION_STRING ไปที่บัญชีที่เก็บข้อมูล>ความปลอดภัย + เครือข่าย>ลายเซ็นการเข้าถึงที่ใช้ร่วมกัน>สร้าง SAS
เรียกใช้โน้ตบุ๊กตามลำดับ พวกมันก่อตัวทับซ้อนกัน
เหตุใดจึงใช้เครื่องมือค้นหา Azure AI เพื่อให้บริบทสำหรับ LLM และไม่ปรับแต่ง LLM แทน
ตอบ: การอ้างอิงเอกสาร OpenAI: "GPT-3 ได้รับการฝึกอบรมล่วงหน้าเกี่ยวกับข้อความจำนวนมหาศาลจากอินเทอร์เน็ตแบบเปิด เมื่อได้รับพร้อมต์พร้อมตัวอย่างเพียงไม่กี่ตัวอย่าง ก็มักจะทราบได้ว่าคุณกำลังพยายามดำเนินการและสร้างงานใด ความสำเร็จที่เป็นไปได้ มักเรียกว่า "การเรียนรู้แบบไม่กี่ช็อต" การปรับแต่งอย่างละเอียดช่วยปรับปรุงการเรียนรู้แบบไม่กี่ช็อตโดยการฝึกตัวอย่างต่างๆ มากมายเกินกว่าจะพอดีกับข้อความแจ้ง ช่วยให้คุณได้รับผลลัพธ์ที่ดีขึ้นในงานต่างๆ มากมาย เมื่อโมเดลได้รับการปรับแต่งอย่างละเอียดแล้ว คุณไม่จำเป็นต้องแสดงตัวอย่างในพร้อมท์อีกต่อไป ซึ่ง จะช่วยประหยัดค่าใช้จ่ายและทำให้คำขอมีเวลาแฝงน้อยลง "
อย่างไรก็ตาม การปรับแต่งโมเดลอย่างละเอียดจำเป็นต้องจัดเตรียมสิ่งทูเพิลพร้อมท์และการดำเนินการให้เสร็จสิ้นนับร้อยหรือหลายพันรายการ ซึ่งเป็นตัวอย่างการตอบสนองต่อแบบสอบถามเป็นหลัก วัตถุประสงค์ของการปรับแต่งอย่างละเอียดไม่ใช่เพื่อให้ความรู้ LLM เกี่ยวกับข้อมูลของบริษัท แต่เพื่อให้มีตัวอย่างเพื่อให้สามารถทำงานได้ดีโดยไม่ต้องมีตัวอย่างในทุกการแจ้งเตือน
มีกรณีที่จำเป็นต้องมีการปรับแต่งอย่างละเอียด เช่น เมื่อตัวอย่างมีข้อมูลที่เป็นกรรมสิทธิ์ซึ่งไม่ควรเปิดเผยโดยทันที หรือเมื่อภาษาที่ใช้มีความเชี่ยวชาญสูง เช่น ในการดูแลสุขภาพ ร้านขายยา หรืออุตสาหกรรมอื่นๆ หรือกรณีการใช้งานที่ภาษาที่ใช้ ไม่พบเห็นได้ทั่วไปบนอินเทอร์เน็ต
ขั้นตอนในการโคลน repo ส่วนตัว:
บน Terminal ของคุณ ให้วางข้อความด้านล่าง แทนที่ในที่อยู่อีเมล GitHub ของคุณ สร้างคีย์ SSH ใหม่
ssh-keygen -t ed25519 -C "[email protected]"
คัดลอกคีย์สาธารณะ SSH ไปยังคลิปบอร์ดของคุณ เพิ่มคีย์ SSH ใหม่
cat ~/.ssh/id_ed25519.pub# จากนั้นเลือกและคัดลอกเนื้อหาของไฟล์ id_ed25519.pub# ที่แสดงในเทอร์มินัลไปยังคลิปบอร์ดของคุณ
บน GitHub ไปที่ การตั้งค่า -> คีย์ SSH และ GPG -> คีย์ SSH ใหม่
ในช่อง "ชื่อ" ให้เพิ่มป้ายกำกับที่สื่อความหมายสำหรับคีย์ใหม่ "การคำนวณ AML" ในช่อง "คีย์" ให้วางคีย์สาธารณะของคุณ
โคลน repo ส่วนตัวของคุณ
git clone [email protected]:ชื่อผู้ใช้ของคุณ/ของคุณ-REPOSITORY.git
โครงการนี้ยินดีรับการสนับสนุนและข้อเสนอแนะ การบริจาคส่วนใหญ่กำหนดให้คุณยอมรับข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล (CLA) โดยประกาศว่าคุณมีสิทธิ์ที่จะให้สิทธิ์แก่เราในการใช้การบริจาคของคุณจริงๆ สำหรับรายละเอียด โปรดไปที่ https://cla.opensource.microsoft.com
เมื่อคุณส่งคำขอดึง บอท CLA จะกำหนดโดยอัตโนมัติว่าคุณจำเป็นต้องจัดเตรียม CLA และตกแต่ง PR อย่างเหมาะสมหรือไม่ (เช่น การตรวจสอบสถานะ ความคิดเห็น) เพียงทำตามคำแนะนำที่ได้รับจากบอท คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวกับ repos ทั้งหมดโดยใช้ CLA ของเรา
โครงการนี้ได้นำหลักจรรยาบรรณของ Microsoft Open Source มาใช้ สำหรับข้อมูลเพิ่มเติม โปรดดูคำถามที่พบบ่อยเกี่ยวกับจรรยาบรรณหรือติดต่อ [email protected] หากมีคำถามหรือความคิดเห็นเพิ่มเติม
โครงการนี้อาจมีเครื่องหมายการค้าหรือโลโก้สำหรับโครงการ ผลิตภัณฑ์ หรือบริการ การใช้เครื่องหมายการค้าหรือโลโก้ของ Microsoft โดยได้รับอนุญาตจะอยู่ภายใต้และต้องปฏิบัติตามแนวทางเครื่องหมายการค้าและแบรนด์ของ Microsoft การใช้เครื่องหมายการค้าหรือโลโก้ของ Microsoft ในเวอร์ชันแก้ไขของโครงการนี้จะต้องไม่ทำให้เกิดความสับสนหรือบ่งบอกถึงการสนับสนุนของ Microsoft การใช้เครื่องหมายการค้าหรือโลโก้ของบุคคลที่สามจะต้องเป็นไปตามนโยบายของบุคคลที่สามเหล่านั้น