การปลดล็อกคำตอบที่ถูกต้องและเจาะลึกจากข้อความจำนวนมหาศาลถือเป็นความสามารถอันน่าตื่นเต้นที่เกิดจากโมเดลภาษาขนาดใหญ่ (LLM) เมื่อสร้างแอปพลิเคชัน LLM มักจะจำเป็นต้องเชื่อมต่อและสืบค้นแหล่งข้อมูลภายนอกเพื่อให้บริบทที่เกี่ยวข้องกับโมเดล แนวทางหนึ่งที่ได้รับความนิยมคือการใช้ Retrieval Augmented Generation (RAG) เพื่อสร้างระบบถามตอบที่เข้าใจข้อมูลที่ซับซ้อนและให้การตอบสนองต่อคำถามที่เป็นธรรมชาติ RAG ช่วยให้โมเดลสามารถเข้าถึงฐานความรู้อันกว้างใหญ่และนำเสนอบทสนทนาที่เหมือนมนุษย์สำหรับแอปพลิเคชัน เช่น แชทบอทและผู้ช่วยค้นหาระดับองค์กร
ในโพสต์นี้ เราจะสำรวจวิธีควบคุมพลังของ ลามะดัชนี, ลามะ 2-70B-Chatและ หลังเชน เพื่อสร้างแอปพลิเคชันถามตอบที่มีประสิทธิภาพ ด้วยเทคโนโลยีล้ำสมัยเหล่านี้ คุณสามารถนำเข้าคลังข้อความ จัดทำดัชนีความรู้ที่สำคัญ และสร้างข้อความที่ตอบคำถามของผู้ใช้ได้อย่างแม่นยำและชัดเจน
ลามะ 2-70B-Chat
Llama 2-70B-Chat เป็น LLM ที่ทรงพลังซึ่งแข่งขันกับรุ่นชั้นนำ ได้รับการฝึกอบรมล่วงหน้าเกี่ยวกับโทเค็นข้อความสองล้านล้านรายการ และ Meta ตั้งใจที่จะใช้เพื่อช่วยเหลือผู้ใช้ในการแชท ข้อมูลก่อนการฝึกอบรมได้มาจากข้อมูลที่เปิดเผยต่อสาธารณะและสรุป ณ เดือนกันยายน 2022 และข้อมูลการปรับแต่งจะสรุปในเดือนกรกฎาคม 2023 สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับกระบวนการฝึกอบรมของแบบจำลอง ข้อควรพิจารณาด้านความปลอดภัย การเรียนรู้ และการใช้งานตามวัตถุประสงค์ โปรดดูรายงาน Llama 2: Open Foundation และโมเดลการแชทที่ได้รับการปรับแต่ง- รุ่น Llama 2 มีวางจำหน่ายแล้วที่ Amazon SageMaker JumpStart เพื่อการปรับใช้ที่รวดเร็วและตรงไปตรงมา
ลามะดัชนี
ลามะดัชนี เป็นเฟรมเวิร์กข้อมูลที่เปิดใช้งานการสร้างแอปพลิเคชัน LLM มีเครื่องมือที่มีตัวเชื่อมต่อข้อมูลเพื่อนำเข้าข้อมูลที่มีอยู่ของคุณด้วยแหล่งที่มาและรูปแบบต่างๆ (PDF, เอกสาร, API, SQL และอื่นๆ) ไม่ว่าคุณจะมีข้อมูลที่จัดเก็บไว้ในฐานข้อมูลหรือในรูปแบบ PDF LlamaIndex จะทำให้การนำข้อมูลนั้นไปใช้กับ LLM เป็นเรื่องง่าย ดังที่เราสาธิตในโพสต์นี้ LlamaIndex API ทำให้การเข้าถึงข้อมูลเป็นเรื่องง่าย และช่วยให้คุณสร้างแอปพลิเคชันและเวิร์กโฟลว์ LLM แบบกำหนดเองที่มีประสิทธิภาพ
หากคุณกำลังทดลองและสร้างด้วย LLM คุณน่าจะคุ้นเคยกับ LangChain ซึ่งมีเฟรมเวิร์กที่แข็งแกร่ง ซึ่งทำให้การพัฒนาและการปรับใช้แอปพลิเคชันที่ขับเคลื่อนด้วย LLM ง่ายขึ้น เช่นเดียวกับ LangChain LlamaIndex มีเครื่องมือมากมาย รวมถึงตัวเชื่อมต่อข้อมูล ดัชนีข้อมูล กลไก และเอเจนต์ข้อมูล รวมถึงการบูรณาการแอปพลิเคชัน เช่น เครื่องมือและความสามารถในการสังเกต การติดตาม และการประเมินผล LlamaIndex มุ่งเน้นไปที่การเชื่อมช่องว่างระหว่างข้อมูลและ LLM ที่มีประสิทธิภาพ เพิ่มความคล่องตัวให้กับงานข้อมูลด้วยคุณสมบัติที่ใช้งานง่าย LlamaIndex ได้รับการออกแบบเป็นพิเศษและปรับให้เหมาะสมสำหรับการสร้างแอปพลิเคชันการค้นหาและการเรียกข้อมูล เช่น RAG เนื่องจากมีอินเทอร์เฟซที่เรียบง่ายสำหรับการสืบค้น LLM และเรียกค้นเอกสารที่เกี่ยวข้อง
ภาพรวมโซลูชัน
ในโพสต์นี้ เราจะสาธิตวิธีสร้างแอปพลิเคชันที่ใช้ RAG โดยใช้ LlamaIndex และ LLM แผนภาพต่อไปนี้แสดงสถาปัตยกรรมทีละขั้นตอนของโซลูชันนี้ตามที่ระบุไว้ในส่วนต่อไปนี้
RAG ผสมผสานการดึงข้อมูลเข้ากับการสร้างภาษาธรรมชาติเพื่อสร้างการตอบสนองที่ลึกซึ้งยิ่งขึ้น เมื่อได้รับแจ้ง ก่อนอื่น RAG จะค้นหาข้อความ corpora เพื่อดึงตัวอย่างที่เกี่ยวข้องกับอินพุตมากที่สุด ในระหว่างการสร้างการตอบสนอง โมเดลจะพิจารณาตัวอย่างเหล่านี้เพื่อเพิ่มขีดความสามารถ ด้วยการรวมข้อความที่เกี่ยวข้องเข้าด้วยกัน การตอบสนองของ RAG มีแนวโน้มที่จะเป็นข้อเท็จจริง สอดคล้องกัน และสอดคล้องกับบริบทมากกว่าเมื่อเปรียบเทียบกับแบบจำลองกำเนิดพื้นฐาน กรอบงานการดึงข้อมูลนี้ใช้ประโยชน์จากจุดแข็งของทั้งการดึงข้อมูลและการสร้าง ซึ่งช่วยแก้ไขปัญหาต่างๆ เช่น การทำซ้ำและการขาดบริบทที่อาจเกิดขึ้นจากโมเดลการสนทนาแบบถดถอยอัตโนมัติล้วนๆ RAG แนะนำแนวทางที่มีประสิทธิภาพสำหรับการสร้างตัวแทนการสนทนาและผู้ช่วย AI ด้วยการตอบกลับตามบริบทและมีคุณภาพสูง
การสร้างโซลูชันประกอบด้วยขั้นตอนต่อไปนี้:
- จัดตั้งขึ้น สตูดิโอ Amazon SageMaker เป็นสภาพแวดล้อมการพัฒนาและติดตั้งการพึ่งพาที่จำเป็น
- ปรับใช้โมเดลการฝังจากฮับ Amazon SageMaker JumpStart
- ดาวน์โหลดข่าวประชาสัมพันธ์เพื่อใช้เป็นฐานความรู้ภายนอกของเรา
- สร้างดัชนีจากข่าวประชาสัมพันธ์เพื่อให้สามารถสืบค้นและเพิ่มเป็นบริบทเพิ่มเติมในพรอมต์ได้
- สอบถามฐานความรู้
- สร้างแอปพลิเคชันถามตอบโดยใช้ตัวแทน LlamaIndex และ LangChain
รหัสทั้งหมดในโพสต์นี้มีอยู่ใน repo GitHub.
เบื้องต้น
สำหรับตัวอย่างนี้ คุณต้องมีบัญชี AWS พร้อมโดเมน SageMaker และเหมาะสม AWS Identity และการจัดการการเข้าถึง สิทธิ์ (IAM) สำหรับคำแนะนำในการตั้งค่าบัญชี โปรดดู สร้างบัญชี AWS- หากคุณยังไม่มีโดเมน SageMaker โปรดดูที่ โดเมน Amazon SageMaker ภาพรวมเพื่อสร้างหนึ่ง ในโพสต์นี้เราใช้ AmazonSageMakerFullAccess บทบาท. ไม่แนะนำให้คุณใช้ข้อมูลประจำตัวนี้ในสภาพแวดล้อมการใช้งานจริง คุณควรสร้างและใช้บทบาทที่มีสิทธิ์สิทธิ์น้อยที่สุดแทน คุณยังสามารถสำรวจวิธีการใช้งานได้อีกด้วย ผู้จัดการบทบาทของ Amazon SageMaker เพื่อสร้างและจัดการบทบาท IAM ตามลักษณะบุคคลสำหรับความต้องการการเรียนรู้ของเครื่องทั่วไปโดยตรงผ่านคอนโซล SageMaker
นอกจากนี้ คุณต้องเข้าถึงขนาดอินสแตนซ์ขั้นต่ำต่อไปนี้:
- มล.g5.2xlarge สำหรับการใช้งานปลายทางเมื่อปรับใช้ กอดหน้า GPT-J โมเดลการฝังข้อความ
- มล.g5.48xlarge สำหรับการใช้งานตำแหน่งข้อมูลเมื่อปรับใช้ตำแหน่งข้อมูลโมเดล Llama 2-Chat
หากต้องการเพิ่มโควต้าของคุณ โปรดดูที่ ขอเพิ่มโควต้า.
ปรับใช้โมเดลการฝัง GPT-J โดยใช้ SageMaker JumpStart
ส่วนนี้ให้สองทางเลือกแก่คุณเมื่อปรับใช้โมเดล SageMaker JumpStart คุณสามารถใช้การปรับใช้โค้ดโดยใช้โค้ดที่ให้มา หรือใช้อินเทอร์เฟซผู้ใช้ (UI) ของ SageMaker JumpStart
ปรับใช้ด้วย SageMaker Python SDK
คุณสามารถใช้ SageMaker Python SDK เพื่อปรับใช้ LLM ดังที่แสดงใน รหัส ที่มีอยู่ในพื้นที่เก็บข้อมูล ทำตามขั้นตอนต่อไปนี้:
- กำหนดขนาดอินสแตนซ์ที่จะใช้สำหรับการปรับใช้โมเดลการฝังโดยใช้
instance_type = "ml.g5.2xlarge"
- ค้นหารหัสโมเดลที่จะใช้สำหรับการฝัง ใน SageMaker JumpStart จะมีการระบุว่าเป็น
model_id = "huggingface-textembedding-gpt-j-6b-fp16"
- ดึงคอนเทนเนอร์โมเดลที่ได้รับการฝึกล่วงหน้าและปรับใช้เพื่อการอนุมาน
SageMaker จะส่งคืนชื่อของจุดสิ้นสุดของโมเดลและข้อความต่อไปนี้เมื่อปรับใช้โมเดลที่ฝังสำเร็จ:
ปรับใช้ด้วย SageMaker JumpStart ใน SageMaker Studio
หากต้องการปรับใช้โมเดลโดยใช้ SageMaker JumpStart ใน Studio ให้ทำตามขั้นตอนต่อไปนี้:
- บนคอนโซล SageMaker Studio ให้เลือก JumpStart ในบานหน้าต่างนำทาง
- ค้นหาและเลือกรุ่น GPT-J 6B Embedding FP16
- เลือกปรับใช้และปรับแต่งการกำหนดค่าการใช้งาน
- สำหรับตัวอย่างนี้ เราจำเป็นต้องมีอินสแตนซ์ ml.g5.2xlarge ซึ่งเป็นอินสแตนซ์เริ่มต้นที่แนะนำโดย SageMaker JumpStart
- เลือกปรับใช้อีกครั้งเพื่อสร้างตำแหน่งข้อมูล
ตำแหน่งข้อมูลจะใช้เวลาประมาณ 5-10 นาทีในการให้บริการ
หลังจากที่คุณปรับใช้โมเดลการฝังแล้ว เพื่อที่จะใช้การผสานรวม LangChain กับ SageMaker API คุณจะต้องสร้างฟังก์ชันเพื่อจัดการอินพุต (ข้อความดิบ) และแปลงเป็นการฝังโดยใช้โมเดล คุณทำได้โดยการสร้างคลาสที่เรียกว่า ContentHandler
ซึ่งรับ JSON ของข้อมูลที่ป้อน และส่งกลับ JSON ของการฝังข้อความ: class ContentHandler(EmbeddingsContentHandler).
ส่งผ่านชื่อจุดสิ้นสุดของโมเดลไปที่ ContentHandler
ฟังก์ชั่นการแปลงข้อความและส่งคืนการฝัง:
คุณสามารถค้นหาชื่อตำแหน่งข้อมูลได้ในเอาต์พุตของ SDK หรือในรายละเอียดการปรับใช้ใน SageMaker JumpStart UI
คุณสามารถทดสอบได้ว่า ContentHandler
ฟังก์ชั่นและจุดสิ้นสุดทำงานตามที่คาดไว้โดยการป้อนข้อความดิบและเรียกใช้ embeddings.embed_query(text)
การทำงาน. คุณสามารถใช้ตัวอย่างที่ให้ไว้ text = "Hi! It's time for the beach"
หรือลองข้อความของคุณเอง
ปรับใช้และทดสอบ Llama 2-Chat โดยใช้ SageMaker JumpStart
ตอนนี้คุณสามารถปรับใช้โมเดลที่สามารถสนทนาแบบโต้ตอบกับผู้ใช้ของคุณได้ ในกรณีนี้ เราเลือกหนึ่งในโมเดลแชท Llama 2 ที่ระบุผ่าน
จำเป็นต้องปรับใช้โมเดลกับปลายทางแบบเรียลไทม์โดยใช้ predictor = my_model.deploy()
- SageMaker จะส่งคืนชื่อตำแหน่งข้อมูลของโมเดล ซึ่งคุณสามารถใช้สำหรับ endpoint_name
ตัวแปรเพื่อใช้อ้างอิงในภายหลัง
คุณกำหนดก print_dialogue
ฟังก์ชั่นเพื่อส่งข้อมูลไปยังโมเดลการแชทและรับการตอบกลับเอาต์พุต เพย์โหลดมีไฮเปอร์พารามิเตอร์สำหรับโมเดล ซึ่งรวมถึงสิ่งต่อไปนี้:
- max_new_tokens – หมายถึงจำนวนโทเค็นสูงสุดที่โมเดลสามารถสร้างได้ในเอาต์พุต
- ท็อป_พี – หมายถึงความน่าจะเป็นสะสมของโทเค็นที่โมเดลสามารถเก็บรักษาไว้ได้เมื่อสร้างเอาต์พุต
- อุณหภูมิ – หมายถึงการสุ่มของเอาต์พุตที่สร้างโดยแบบจำลอง อุณหภูมิที่มากกว่า 0 หรือเท่ากับ 1 จะทำให้ระดับการสุ่มเพิ่มขึ้น ในขณะที่อุณหภูมิ 0 จะสร้างโทเค็นที่เป็นไปได้มากที่สุด
คุณควรเลือกไฮเปอร์พารามิเตอร์ตามกรณีการใช้งานของคุณและทดสอบอย่างเหมาะสม รุ่นต่างๆ เช่น ตระกูล Llama ต้องการให้คุณรวมพารามิเตอร์เพิ่มเติมที่ระบุว่าคุณได้อ่านและยอมรับข้อตกลงใบอนุญาตผู้ใช้ปลายทาง (EULA):
หากต้องการทดสอบโมเดล ให้แทนที่ส่วนเนื้อหาของเพย์โหลดอินพุต: "content": "what is the recipe of mayonnaise?"
- คุณสามารถใช้ค่าข้อความของคุณเองและอัปเดตไฮเปอร์พารามิเตอร์เพื่อให้เข้าใจได้ดีขึ้น
เช่นเดียวกับการปรับใช้โมเดลการฝัง คุณสามารถปรับใช้ Llama-70B-Chat ได้โดยใช้ SageMaker JumpStart UI:
- บนคอนโซล SageMaker Studio เลือก เริ่มกระโดด ในบานหน้าต่างนำทาง
- ค้นหาและเลือก
Llama-2-70b-Chat model
- ยอมรับ EULA และเลือก ปรับใช้โดยใช้อินสแตนซ์เริ่มต้นอีกครั้ง
เช่นเดียวกับโมเดลการฝัง คุณสามารถใช้การผสานรวม LangChain ได้โดยการสร้างเทมเพลตตัวจัดการเนื้อหาสำหรับอินพุตและเอาต์พุตของโมเดลแชทของคุณ ในกรณีนี้ คุณกำหนดอินพุตเป็นอินพุตที่มาจากผู้ใช้ และระบุว่าอินพุตเหล่านั้นอยู่ภายใต้การควบคุมของ system prompt
. system prompt
แจ้งโมเดลบทบาทในการช่วยเหลือผู้ใช้ในกรณีการใช้งานเฉพาะ
จากนั้นตัวจัดการเนื้อหานี้จะถูกส่งผ่านเมื่อเรียกใช้โมเดล นอกเหนือจากไฮเปอร์พารามิเตอร์และแอตทริบิวต์แบบกำหนดเองที่กล่าวมาข้างต้น (การยอมรับ EULA) คุณแยกวิเคราะห์แอตทริบิวต์เหล่านี้ทั้งหมดโดยใช้รหัสต่อไปนี้:
เมื่อปลายทางพร้อมใช้งาน คุณสามารถทดสอบได้ว่าปลายทางทำงานตามที่คาดไว้หรือไม่ คุณสามารถอัปเดตได้ llm("what is amazon sagemaker?")
ด้วยข้อความของคุณเอง คุณต้องกำหนดความเฉพาะเจาะจงด้วย ContentHandler
เพื่อเรียกใช้ LLM โดยใช้ LangChain ดังที่แสดงใน รหัส และข้อมูลโค้ดต่อไปนี้:
ใช้ LlamaIndex เพื่อสร้าง RAG
หากต้องการดำเนินการต่อ ให้ติดตั้ง LlamaIndex เพื่อสร้างแอปพลิเคชัน RAG คุณสามารถติดตั้ง LlamaIndex ได้โดยใช้ pip: pip install llama_index
ก่อนอื่นคุณต้องโหลดข้อมูลของคุณ (ฐานความรู้) ลงใน LlamaIndex เพื่อทำดัชนี ซึ่งเกี่ยวข้องกับขั้นตอนไม่กี่ขั้นตอน:
- เลือกตัวโหลดข้อมูล:
LlamaIndex มีตัวเชื่อมต่อข้อมูลจำนวนหนึ่งที่พร้อมใช้งาน ลามะฮับ สำหรับประเภทข้อมูลทั่วไป เช่น JSON, CSV และไฟล์ข้อความ รวมถึงแหล่งข้อมูลอื่นๆ ช่วยให้คุณสามารถนำเข้าชุดข้อมูลได้หลากหลาย ในโพสต์นี้เราใช้ SimpleDirectoryReader
เพื่อนำเข้าไฟล์ PDF บางไฟล์ตามที่แสดงในโค้ด ตัวอย่างข้อมูลของเราคือข่าวประชาสัมพันธ์ของ Amazon สองฉบับในรูปแบบ PDF ใน ข่าวประชาสัมพันธ์ โฟลเดอร์ในที่เก็บโค้ดของเรา หลังจากที่คุณโหลด PDF คุณจะเห็นว่ามีการแปลงเป็นรายการองค์ประกอบ 11 รายการ
แทนที่จะโหลดเอกสารโดยตรง คุณยังสามารถปกปิดข้อมูลได้อีกด้วย Document
วัตถุเข้า Node
วัตถุก่อนที่จะส่งไปยังดัชนี ทางเลือกระหว่างการส่งทั้งหมด Document
วัตถุดัชนีหรือแปลงเอกสารเป็น Node
ออบเจ็กต์ก่อนการจัดทำดัชนีจะขึ้นอยู่กับกรณีการใช้งานเฉพาะของคุณและโครงสร้างข้อมูลของคุณ โดยทั่วไปแนวทางโหนดเป็นตัวเลือกที่ดีสำหรับเอกสารขนาดยาว โดยที่คุณต้องการแยกและดึงข้อมูลเฉพาะส่วนของเอกสาร แทนที่จะเป็นเอกสารทั้งหมด สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เอกสาร/โหนด.
- สร้างอินสแตนซ์ของตัวโหลดและโหลดเอกสาร:
ขั้นตอนนี้จะเริ่มต้นคลาสตัวโหลดและการกำหนดค่าที่จำเป็น เช่น ว่าจะละเว้นไฟล์ที่ซ่อนหรือไม่ สำหรับรายละเอียดเพิ่มเติม โปรดดูที่ SimpleDirectoryReader.
- โทรหาคนโหลด
load_data
วิธีแยกวิเคราะห์ไฟล์ต้นฉบับและข้อมูลของคุณ แล้วแปลงเป็นออบเจ็กต์ LlamaIndex Document พร้อมสำหรับการจัดทำดัชนีและการสืบค้น คุณสามารถใช้โค้ดต่อไปนี้เพื่อดำเนินการนำเข้าข้อมูลและเตรียมการค้นหาข้อความแบบเต็มโดยใช้ความสามารถในการจัดทำดัชนีและการเรียกค้นของ LlamaIndex:
- สร้างดัชนี:
คุณลักษณะสำคัญของ LlamaIndex คือความสามารถในการสร้างดัชนีที่มีการจัดระเบียบเหนือข้อมูล ซึ่งแสดงเป็นเอกสารหรือโหนด การจัดทำดัชนีอำนวยความสะดวกในการสืบค้นข้อมูลอย่างมีประสิทธิภาพ เราสร้างดัชนีของเราด้วยที่เก็บเวกเตอร์ในหน่วยความจำเริ่มต้นและด้วยการกำหนดค่าการตั้งค่าที่เรากำหนดไว้ ลามะอินเด็กซ์ การตั้งค่า เป็นออบเจ็กต์การกำหนดค่าที่ให้ทรัพยากรและการตั้งค่าที่ใช้กันทั่วไปสำหรับการจัดทำดัชนีและการสืบค้นในแอปพลิเคชัน LlamaIndex โดยจะทำหน้าที่เป็นออบเจ็กต์ซิงเกิลตัน เพื่อให้คุณตั้งค่าการกำหนดค่าส่วนกลางได้ ในขณะเดียวกันก็ช่วยให้คุณสามารถแทนที่ส่วนประกอบเฉพาะภายในเครื่องได้ด้วยการส่งต่อไปยังอินเทอร์เฟซโดยตรง (เช่น LLM, โมเดลที่ฝัง) ที่ใช้ส่วนประกอบเหล่านั้น เมื่อไม่ได้ระบุส่วนประกอบใดไว้อย่างชัดเจน กรอบงาน LlamaIndex จะถอยกลับไปเป็นการตั้งค่าที่กำหนดไว้ใน Settings
วัตถุเป็นค่าเริ่มต้นทั่วโลก หากต้องการใช้โมเดลการฝังและ LLM ของเรากับ LangChain และกำหนดค่า Settings
เราจำเป็นต้องติดตั้ง llama_index.embeddings.langchain
และ llama_index.llms.langchain
- เราสามารถกำหนดค่า Settings
วัตถุตามรหัสต่อไปนี้:
โดยค่าเริ่มต้น VectorStoreIndex
ใช้หน่วยความจำใน SimpleVectorStore
ที่เริ่มต้นเป็นส่วนหนึ่งของบริบทการจัดเก็บข้อมูลเริ่มต้น ในกรณีการใช้งานจริง คุณมักจะต้องเชื่อมต่อกับร้านค้าเวกเตอร์ภายนอก เช่น บริการ Amazon OpenSearch. ดูรายละเอียดเพิ่มเติมได้ที่ Vector Engine สำหรับ Amazon OpenSearch แบบไร้เซิร์ฟเวอร์.
ตอนนี้คุณสามารถเรียกใช้การถามตอบกับเอกสารของคุณได้โดยใช้ query_engine จาก LlamaIndex. โดยส่งดัชนีที่คุณสร้างไว้ก่อนหน้านี้สำหรับข้อความค้นหาและถามคำถามของคุณ กลไกการสืบค้นเป็นอินเทอร์เฟซทั่วไปสำหรับการสืบค้นข้อมูล ใช้แบบสอบถามภาษาธรรมชาติเป็นอินพุตและส่งกลับการตอบสนองที่หลากหลาย โดยทั่วไปแล้วกลไกการสืบค้นจะถูกสร้างขึ้นจากหนึ่งหรือหลายรายการ ดัชนี การใช้ รีทรีฟเวอร์.
คุณจะเห็นว่าโซลูชัน RAG สามารถดึงคำตอบที่ถูกต้องจากเอกสารที่ให้มา:
ใช้เครื่องมือและตัวแทนของ LangChain
Loader
ระดับ. ตัวโหลดได้รับการออกแบบมาเพื่อโหลดข้อมูลลงใน LlamaIndex หรือต่อมาเป็นเครื่องมือใน ตัวแทน LangChain- สิ่งนี้จะทำให้คุณมีพลังและความยืดหยุ่นมากขึ้นในการใช้สิ่งนี้เป็นส่วนหนึ่งของแอปพลิเคชันของคุณ คุณเริ่มต้นด้วยการกำหนดของคุณ เครื่องมือ จากคลาสตัวแทน LangChain ฟังก์ชันที่คุณส่งต่อไปยังเครื่องมือของคุณจะสอบถามดัชนีที่คุณสร้างไว้เหนือเอกสารของคุณโดยใช้ LlamaIndex
จากนั้น คุณเลือกประเภทตัวแทนที่ถูกต้องที่คุณต้องการใช้สำหรับการนำ RAG ของคุณไปใช้ ในกรณีนี้ คุณใช้ chat-zero-shot-react-description
ตัวแทน. ด้วยตัวแทนนี้ LLM จะใช้เครื่องมือที่มีอยู่ (ในสถานการณ์นี้ RAG บนฐานความรู้) เพื่อให้การตอบสนอง จากนั้นคุณเริ่มต้นเอเจนต์โดยส่งเครื่องมือ, LLM และประเภทเอเจนต์:
มองเห็นตัวแทนผ่านไปได้เลย thoughts
, actions
และ observation
ใช้เครื่องมือ (ในสถานการณ์นี้ ให้สอบถามเอกสารที่จัดทำดัชนีของคุณ) และส่งคืนผลลัพธ์:
คุณสามารถค้นหาโค้ดการใช้งานแบบ end-to-end ได้ในเอกสารแนบ repo GitHub.
ทำความสะอาด
เพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่จำเป็น คุณสามารถล้างข้อมูลทรัพยากรของคุณได้ โดยใช้ส่วนย่อยโค้ดต่อไปนี้หรือ Amazon JumpStart UI
หากต้องการใช้ Boto3 SDK ให้ใช้โค้ดต่อไปนี้เพื่อลบจุดสิ้นสุดของโมเดลการฝังข้อความและจุดสิ้นสุดของโมเดลการสร้างข้อความ รวมถึงการกำหนดค่าจุดสิ้นสุด:
หากต้องการใช้คอนโซล SageMaker ให้ทำตามขั้นตอนต่อไปนี้:
- บนคอนโซล SageMaker ใต้การอนุมานในบานหน้าต่างนำทาง ให้เลือกจุดสิ้นสุด
- ค้นหาจุดสิ้นสุดการฝังและการสร้างข้อความ
- บนหน้ารายละเอียดปลายทาง ให้เลือก ลบ
- เลือกลบอีกครั้งเพื่อยืนยัน
สรุป
สำหรับกรณีการใช้งานที่เน้นไปที่การค้นหาและการเรียกข้อมูล LlamaIndex มอบความสามารถที่ยืดหยุ่น มีความเป็นเลิศในการจัดทำดัชนีและการดึงข้อมูลสำหรับ LLM ทำให้เป็นเครื่องมือที่มีประสิทธิภาพสำหรับการสำรวจข้อมูลในเชิงลึก LlamaIndex ช่วยให้คุณสร้างดัชนีข้อมูลที่จัดระเบียบ ใช้ LLM ที่หลากหลาย เพิ่มข้อมูลเพื่อประสิทธิภาพ LLM ที่ดีขึ้น และสืบค้นข้อมูลด้วยภาษาที่เป็นธรรมชาติ
โพสต์นี้แสดงให้เห็นถึงแนวคิดและความสามารถที่สำคัญของ LlamaIndex เราใช้ GPT-J สำหรับการฝังและ Llama 2-Chat เป็น LLM เพื่อสร้างแอปพลิเคชัน RAG แต่คุณสามารถใช้โมเดลที่เหมาะสมแทนได้ คุณสามารถสำรวจรุ่นต่างๆ มากมายที่มีอยู่ใน SageMaker JumpStart
นอกจากนี้เรายังแสดงให้เห็นว่า LlamaIndex สามารถจัดหาเครื่องมือที่มีประสิทธิภาพและยืดหยุ่นในการเชื่อมต่อ สร้างดัชนี ดึงข้อมูล และรวมข้อมูลเข้ากับเฟรมเวิร์กอื่นๆ เช่น LangChain ได้อย่างไร ด้วยการผสานรวม LlamaIndex และ LangChain คุณสามารถสร้างแอปพลิเคชัน LLM ที่ทรงพลัง อเนกประสงค์ และลึกซึ้งยิ่งขึ้น
เกี่ยวกับผู้เขียน
ดร.โรมินา ชาริฟปูร์ เป็นสถาปนิกอาวุโสด้าน Machine Learning และปัญญาประดิษฐ์ที่ Amazon Web Services (AWS) เธอใช้เวลากว่า 10 ปีในการเป็นผู้นำการออกแบบและการนำโซลูชันที่เป็นนวัตกรรมแบบ end-to-end มาใช้โดยความก้าวหน้าใน ML และ AI พื้นที่ที่น่าสนใจของ Romina คือการประมวลผลภาษาธรรมชาติ โมเดลภาษาขนาดใหญ่ และ MLOps
นิโคล ปินโต เป็นสถาปนิกโซลูชันผู้เชี่ยวชาญด้าน AI/ML ในเมืองซิดนีย์ ประเทศออสเตรเลีย ภูมิหลังของเธอในด้านบริการด้านสุขภาพและการเงินทำให้เธอมีมุมมองที่ไม่เหมือนใครในการแก้ปัญหาของลูกค้า เธอมีความหลงใหลในการช่วยให้ลูกค้าผ่านการเรียนรู้ของเครื่องและส่งเสริมผู้หญิงรุ่นต่อไปใน STEM
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- PlatoData.Network Vertical Generative Ai เพิ่มพลังให้กับตัวเอง เข้าถึงได้ที่นี่.
- เพลโตไอสตรีม. Web3 อัจฉริยะ ขยายความรู้ เข้าถึงได้ที่นี่.
- เพลโตESG. คาร์บอน, คลีนเทค, พลังงาน, สิ่งแวดล้อม แสงอาทิตย์, การจัดการของเสีย. เข้าถึงได้ที่นี่.
- เพลโตสุขภาพ เทคโนโลยีชีวภาพและข่าวกรองการทดลองทางคลินิก เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/build-knowledge-powered-conversational-applications-using-llamaindex-and-llama-2-chat/
- :มี
- :เป็น
- :ไม่
- :ที่ไหน
- $ ขึ้น
- 1
- 10
- 100
- 11
- 13
- 14
- 15%
- 16
- 2022
- 2023
- 22
- 500
- 7
- 8
- 9
- a
- ความสามารถ
- สามารถ
- เกี่ยวกับเรา
- การยอมรับ
- ได้รับการยอมรับ
- ยอมรับ
- เข้า
- ตาม
- ลงชื่อเข้าใช้
- ถูกต้อง
- การกระทำ
- เพิ่ม
- นอกจากนี้
- เพิ่มเติม
- ที่อยู่
- ความก้าวหน้า
- ความได้เปรียบ
- หลังจาก
- อีกครั้ง
- ตัวแทน
- ตัวแทน
- ข้อตกลง
- AI
- วิจัยไอ
- AI / ML
- ทั้งหมด
- การอนุญาต
- ช่วยให้
- แล้ว
- ด้วย
- อเมซอน
- อเมซอน SageMaker
- Amazon SageMaker JumpStart
- Amazon Web Services
- Amazon Web Services (AWS)
- จำนวน
- an
- และ
- คำตอบ
- ตอบ
- คำตอบ
- ใด
- APIs
- การใช้งาน
- การใช้งาน
- เข้าใกล้
- เหมาะสม
- อย่างเหมาะสม
- ประมาณ
- สถาปัตยกรรม
- เป็น
- พื้นที่
- เกิดขึ้น
- เทียม
- ปัญญาประดิษฐ์
- AS
- ถาม
- ความช่วยเหลือ
- ผู้ช่วย
- การให้ความช่วยเหลือ
- At
- แอตทริบิวต์
- เสริม
- เติม
- ออสเตรเลีย
- ใช้ได้
- หลีกเลี่ยง
- AWS
- กลับ
- พื้นหลัง
- ฐาน
- ตาม
- ขั้นพื้นฐาน
- BE
- ชายหาด
- เพราะ
- รับ
- ก่อน
- ดีกว่า
- ระหว่าง
- ทั้งสอง
- ทำลาย
- การแก้
- นำมาซึ่ง
- สร้าง
- การก่อสร้าง
- สร้าง
- แต่
- by
- ที่เรียกว่า
- CAN
- ความสามารถในการ
- ความสามารถ
- กรณี
- กรณี
- พูดคุย
- chatbots
- ทางเลือก
- Choose
- ชั้น
- ปลาเดยส์
- อย่างเห็นได้ชัด
- ไคลเอนต์
- รหัส
- สอดคล้องกัน
- รวม
- มา
- ร่วมกัน
- อย่างธรรมดา
- บริษัท
- เมื่อเทียบกับ
- แข่งขันกับ
- สมบูรณ์
- ซับซ้อน
- ส่วนประกอบ
- ส่วนประกอบ
- เข้าใจ
- ครอบคลุม
- แนวความคิด
- สรุป
- องค์ประกอบ
- การกำหนดค่า
- ยืนยัน
- เชื่อมต่อ
- การเชื่อมต่อ
- การพิจารณา
- พิจารณา
- คงเส้นคงวา
- ประกอบ
- ปลอบใจ
- สร้าง
- ภาชนะ
- เนื้อหา
- สิ่งแวดล้อม
- ต่อ
- การสนทนา
- การสนทนา
- แปลง
- แปลง
- การแปลง
- แก้ไข
- ราคา
- ประหยัดค่าใช้จ่าย
- ค่าใช้จ่าย
- ได้
- สร้าง
- ที่สร้างขึ้น
- การสร้าง
- หนังสือรับรอง
- วิกฤติ
- ประเพณี
- ลูกค้า
- ลูกค้า
- ปรับแต่ง
- ตัด
- ข้อมูล
- การเข้าถึงข้อมูล
- ฐานข้อมูล
- ชุดข้อมูล
- ลึก
- ค่าเริ่มต้น
- กำหนด
- กำหนด
- การกำหนด
- ส่งมอบ
- สาธิต
- แสดงให้เห็นถึง
- การอ้างอิง
- ขึ้นอยู่กับ
- ปรับใช้
- นำไปใช้
- ปรับใช้
- การใช้งาน
- ออกแบบ
- ได้รับการออกแบบ
- รายละเอียด
- พัฒนาการ
- แผนภาพ
- บทสนทนา
- Dict
- โดยตรง
- หลาย
- do
- เอกสาร
- เอกสาร
- เอกสาร
- โดเมน
- Dont
- ขับเคลื่อน
- ในระหว่าง
- ก่อน
- มีประสิทธิภาพ
- ที่มีประสิทธิภาพ
- ง่ายดาย
- ทั้ง
- องค์ประกอบ
- การฝัง
- เพิ่มขีดความสามารถ
- เปิดการใช้งาน
- ช่วยให้
- การเปิดใช้งาน
- ปลาย
- จบสิ้น
- ปลายทาง
- เครื่องยนต์
- เครื่องยนต์
- Enterprise
- ทั้งหมด
- สิ่งแวดล้อม
- เท่ากัน
- การประเมินผล
- ตัวอย่าง
- ตัวอย่าง
- น่าตื่นเต้น
- ที่มีอยู่
- ที่คาดหวัง
- ทดลอง
- อย่างชัดเจน
- การสำรวจ
- สำรวจ
- ภายนอก
- ใบหน้า
- อำนวยความสะดวก
- ฟอลส์
- คุ้นเคย
- ครอบครัว
- ลักษณะ
- คุณสมบัติ
- สองสาม
- ไฟล์
- ทางการเงิน
- บริการทางการเงิน
- หา
- ชื่อจริง
- ความยืดหยุ่น
- มีความยืดหยุ่น
- มุ่งเน้น
- มุ่งเน้นไปที่
- ดังต่อไปนี้
- สำหรับ
- รากฐาน
- กรอบ
- กรอบ
- ราคาเริ่มต้นที่
- ฟังก์ชัน
- ช่องว่าง
- โดยทั่วไป
- สร้าง
- สร้าง
- การสร้าง
- รุ่น
- กำเนิด
- จะช่วยให้
- เหตุการณ์ที่
- ไป
- ดี
- ปกครอง
- มากขึ้น
- จัดการ
- เทียม
- มี
- การดูแลสุขภาพ
- การช่วยเหลือ
- เธอ
- ซ่อนเร้น
- ที่มีคุณภาพสูง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- อย่างไรก็ตาม
- HTML
- HTTPS
- Hub
- ID
- ระบุ
- เอกลักษณ์
- if
- ไม่สนใจ
- การดำเนินงาน
- การปรับปรุง
- in
- ประกอบด้วย
- รวมถึง
- รวมทั้ง
- ผสมผสาน
- เพิ่ม
- เพิ่มขึ้น
- ดัชนี
- การจัดทำดัชนี
- ดัชนี
- แสดง
- การแสดง
- ข้อมูล
- แจ้ง
- โครงสร้างพื้นฐาน
- นักวิเคราะห์ส่วนบุคคลที่หาโอกาสให้เป็นไปได้มากที่สุด
- นวัตกรรม
- อินพุต
- ปัจจัยการผลิต
- กำลังป้อนข้อมูล
- ที่ชาญฉลาด
- ติดตั้ง
- ตัวอย่าง
- แทน
- คำแนะนำการใช้
- รวบรวม
- บูรณาการ
- การผสานรวม
- Intelligence
- ตั้งใจว่า
- การโต้ตอบ
- อยากเรียนรู้
- อินเตอร์เฟซ
- อินเตอร์เฟซ
- เข้าไป
- เปิดตัว
- ที่เกี่ยวข้องกับการ
- ปัญหา
- IT
- ITS
- jpg
- JSON
- กรกฎาคม
- คีย์
- ความรู้
- ไม่มี
- ภาษา
- ใหญ่
- ต่อมา
- ชั้นนำ
- การเรียนรู้
- ชั้น
- License
- กดไลก์
- น่าจะ
- รายการ
- ดูรายละเอียด
- LLM
- โหลด
- loader
- โหลด
- ในท้องถิ่น
- นาน
- เครื่อง
- เรียนรู้เครื่อง
- ทำ
- ทำให้
- การทำ
- จัดการ
- สูงสุด
- อาจ..
- กล่าวถึง
- ข่าวสาร
- Meta
- วิธี
- การโยกย้าย
- การโยกย้าย
- ขั้นต่ำ
- นาที
- ML
- ม.ป.ป
- แบบ
- โมเดล
- ข้อมูลเพิ่มเติม
- มากที่สุด
- มาก
- ชื่อ
- โดยธรรมชาติ
- ประมวลผลภาษาธรรมชาติ
- การเดินเรือ
- จำเป็น
- จำเป็นต้อง
- จำเป็น
- ความต้องการ
- ถัดไป
- โหนด
- จำนวน
- วัตถุ
- วัตถุ
- of
- เสนอ
- เสนอ
- มักจะ
- on
- ONE
- เพียง
- ไปยัง
- เปิด
- การดำเนินงาน
- การดำเนินการ
- การปรับให้เหมาะสม
- Options
- or
- ใบสั่ง
- Organized
- อื่นๆ
- ของเรา
- ออก
- ที่ระบุไว้
- เอาท์พุต
- เอาท์พุท
- เกิน
- แทนที่
- ภาพรวม
- ของตนเอง
- หน้า
- บานหน้าต่าง
- กระดาษ
- พารามิเตอร์
- พารามิเตอร์
- ส่วนหนึ่ง
- ในสิ่งที่สนใจ
- ส่วน
- ส่ง
- ทางเดิน
- ผ่าน
- ที่ผ่านไป
- หลงใหล
- รูปแบบไฟล์ PDF
- การปฏิบัติ
- สิทธิ์
- มุมมอง
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- ยอดนิยม
- โพสต์
- อำนาจ
- ที่มีประสิทธิภาพ
- อย่างแม่นยำ
- Predictor
- การจัดเตรียม
- กด
- ข่าวประชาสัมพันธ์
- ข่าวประชาสัมพันธ์
- ปัญหาที่เกิดขึ้น
- กระบวนการ
- การประมวลผล
- ก่อ
- การผลิต
- ให้
- ให้
- ให้
- สาธารณชน
- บริสุทธิ์
- หลาม
- Q & A
- คำสั่ง
- การสอบถาม
- คำถาม
- คำถาม
- รวดเร็ว
- เศษผ้า
- สุ่ม
- พิสัย
- ค่อนข้าง
- ดิบ
- อ่าน
- พร้อม
- เรียลไทม์
- รับ
- สูตร
- แนะนำ
- ลดลง
- อ้างอิง
- การอ้างอิง
- หมายถึง
- ลงทุนใหม่
- ปล่อย
- สัมพันธ์
- ตรงประเด็น
- แทนที่
- กรุ
- เป็นตัวแทนของ
- ต้องการ
- จำเป็นต้องใช้
- การวิจัย
- วิจัยและพัฒนา
- แหล่งข้อมูล
- คำตอบ
- การตอบสนอง
- ผล
- การแก้ไข
- กลับ
- รับคืน
- รวย
- ขวา
- แข็งแรง
- บทบาท
- บทบาท
- วิ่ง
- วิ่ง
- s
- ความปลอดภัย
- sagemaker
- ตัวอย่าง
- เงินออม
- สถานการณ์
- SDK
- ค้นหา
- ค้นหา
- Section
- ส่วน
- เห็น
- เลือก
- ตนเอง
- ส่ง
- การส่ง
- ระดับอาวุโส
- กันยายน
- บริการ
- บริการ
- ชุด
- การตั้งค่า
- การตั้งค่า
- การติดตั้ง
- เธอ
- น่า
- แสดงให้เห็นว่า
- แสดง
- แสดงให้เห็นว่า
- คล้ายคลึงกัน
- ง่าย
- ลดความซับซ้อน
- ตั้งแต่
- ขนาด
- ขนาด
- เศษเล็กเศษน้อย
- So
- ทางออก
- โซลูชัน
- การแก้
- บาง
- แหล่ง
- ที่มา
- แหล่งที่มา
- ผู้เชี่ยวชาญ
- โดยเฉพาะ
- เฉพาะ
- การใช้จ่าย
- เริ่มต้น
- รัฐของศิลปะ
- สหรัฐอเมริกา
- ก้านดอก
- ขั้นตอน
- ขั้นตอน
- การเก็บรักษา
- จัดเก็บ
- เก็บไว้
- ร้านค้า
- ซื่อตรง
- การทำให้เพรียวลม
- จุดแข็ง
- โครงสร้าง
- สตูดิโอ
- ต่อจากนั้น
- ประสบความสำเร็จ
- อย่างเช่น
- เหมาะสม
- ซิดนีย์
- ระบบ
- ระบบ
- เอา
- ใช้เวลา
- แตะเบา ๆ
- งาน
- เทคโนโลยี
- เทมเพลต
- มีแนวโน้ม
- ทดสอบ
- ข้อความ
- กว่า
- ที่
- พื้นที่
- พวกเขา
- แล้วก็
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- นี้
- เหล่านั้น
- ตลอด
- เวลา
- ไปยัง
- ราชสกุล
- เครื่องมือ
- เครื่องมือ
- ด้านบน
- การติดตาม
- การฝึกอบรม
- แปลง
- ล้านล้าน
- ลอง
- สอง
- ชนิด
- ชนิด
- เป็นปกติ
- ui
- ภายใต้
- เข้าใจ
- เป็นเอกลักษณ์
- ไม่จำเป็น
- บันทึก
- การใช้
- ใช้
- ใช้กรณี
- มือสอง
- มีประโยชน์
- ผู้ใช้งาน
- ส่วนติดต่อผู้ใช้
- ที่ใช้งานง่าย
- ผู้ใช้
- ใช้
- การใช้
- ความคุ้มค่า
- ตัวแปร
- ความหลากหลาย
- ต่างๆ
- กว้างใหญ่
- อเนกประสงค์
- รุ่น
- ผ่านทาง
- ต้องการ
- we
- เว็บ
- บริการเว็บ
- ดี
- อะไร
- ความหมายของ
- เมื่อ
- แต่ทว่า
- ว่า
- ที่
- ในขณะที่
- จะ
- กับ
- ผู้หญิง
- ขั้นตอนการทำงาน
- การทำงาน
- จะ
- ปี
- คุณ
- ของคุณ
- ลมทะเล