LlamaIndex (ดัชนี GPT) เป็นเฟรมเวิร์กข้อมูลสำหรับแอปพลิเคชัน LLM ของคุณ โดยทั่วไปการสร้าง LlamaIndex จะเกี่ยวข้องกับการทำงานกับแกน LlamaIndex และชุดการผสานรวม (หรือปลั๊กอินที่เลือก) มีสองวิธีในการเริ่มต้นสร้างด้วย LlamaIndex ใน Python:
เริ่มต้น : llama-index
. แพ็คเกจ Python เริ่มต้นที่มี core LlamaIndex รวมถึงการผสานรวมที่เลือกไว้
ปรับแต่ง : llama-index-core
ติดตั้งแกน LlamaIndex และเพิ่มแพ็คเกจการรวม LlamaIndex ที่คุณเลือกบน LlamaHub ที่จำเป็นสำหรับแอปพลิเคชันของคุณ มีแพ็คเกจการรวม LlamaIndex มากกว่า 300 แพ็คเกจที่ทำงานได้อย่างราบรื่นกับคอร์ ช่วยให้คุณสร้างด้วย LLM ผู้ให้บริการร้านค้าแบบฝัง และเวกเตอร์ที่คุณต้องการ
ไลบรารี LlamaIndex Python ได้รับการกำหนดเนมสเปซเพื่อให้คำสั่งนำเข้าซึ่งรวมถึง core
บอกว่ามีการใช้แพ็คเกจหลัก ในทางตรงกันข้าม ข้อความเหล่านั้นที่ไม่มี core
บอกว่ามีการใช้แพ็คเกจการรวม
# typical pattern
from llama_index . core . xxx import ClassABC # core submodule xxx
from llama_index . xxx . yyy import (
SubclassABC ,
) # integration yyy for submodule xxx
# concrete example
from llama_index . core . llms import LLM
from llama_index . llms . openai import OpenAI
LlamaIndex.TS (ตัวพิมพ์/จาวาสคริปต์)
เอกสารประกอบ
ทวิตเตอร์
ความไม่ลงรอยกัน
หมายเหตุ : README นี้ไม่ได้รับการอัพเดตบ่อยเท่ากับเอกสารประกอบ โปรดตรวจสอบเอกสารด้านบนเพื่อดูข้อมูลอัปเดตล่าสุด!
เราต้องการชุดเครื่องมือที่ครอบคลุมเพื่อช่วยดำเนินการเสริมข้อมูลนี้สำหรับ LLM
นั่นคือที่มาของ LlamaIndex LlamaIndex คือ "กรอบงานข้อมูล" ที่จะช่วยคุณสร้างแอป LLM มันมีเครื่องมือดังต่อไปนี้:
LlamaIndex มีเครื่องมือสำหรับทั้งผู้ใช้ระดับเริ่มต้นและผู้ใช้ขั้นสูง API ระดับสูงของเราช่วยให้ผู้ใช้ระดับเริ่มต้นสามารถใช้ LlamaIndex เพื่อนำเข้าและสืบค้นข้อมูลของตนในโค้ด 5 บรรทัด API ระดับล่างของเราอนุญาตให้ผู้ใช้ขั้นสูงปรับแต่งและขยายโมดูลใดๆ (ตัวเชื่อมต่อข้อมูล ดัชนี ตัวดึงข้อมูล กลไกการสืบค้น โมดูลการจัดอันดับใหม่) เพื่อให้เหมาะกับความต้องการของพวกเขา
สนใจที่จะมีส่วนร่วม? การมีส่วนร่วมในแกน LlamaIndex รวมถึงการบูรณาการที่สร้างบนแกนหลักนั้นได้รับการยอมรับและสนับสนุนอย่างสูง! ดูคู่มือการมีส่วนร่วมของเราสำหรับรายละเอียดเพิ่มเติม
สามารถดูเอกสารฉบับเต็มได้ที่นี่
โปรดตรวจสอบบทช่วยสอน คำแนะนำวิธีใช้งาน ข้อมูลอ้างอิง และแหล่งข้อมูลอื่น ๆ ที่ทันสมัยที่สุด!
# custom selection of integrations to work with core
pip install llama-index-core
pip install llama-index-llms-openai
pip install llama-index-llms-replicate
pip install llama-index-embeddings-huggingface
ตัวอย่างอยู่ในโฟลเดอร์ docs/examples
ดัชนีอยู่ในโฟลเดอร์ indices
(ดูรายการดัชนีด้านล่าง)
วิธีสร้างดัชนีร้านค้าเวกเตอร์อย่างง่ายโดยใช้ OpenAI:
import os
os . environ [ "OPENAI_API_KEY" ] = "YOUR_OPENAI_API_KEY"
from llama_index . core import VectorStoreIndex , SimpleDirectoryReader
documents = SimpleDirectoryReader ( "YOUR_DATA_DIRECTORY" ). load_data ()
index = VectorStoreIndex . from_documents ( documents )
หากต้องการสร้างดัชนีร้านค้าเวกเตอร์อย่างง่ายโดยใช้ LLM ที่ไม่ใช่ OpenAI เช่น Llama 2 ที่โฮสต์บน Replicate ซึ่งคุณสามารถสร้างโทเค็น API ทดลองใช้ฟรีได้อย่างง่ายดาย:
import os
os . environ [ "REPLICATE_API_TOKEN" ] = "YOUR_REPLICATE_API_TOKEN"
from llama_index . core import Settings , VectorStoreIndex , SimpleDirectoryReader
from llama_index . embeddings . huggingface import HuggingFaceEmbedding
from llama_index . llms . replicate import Replicate
from transformers import AutoTokenizer
# set the LLM
llama2_7b_chat = "meta/llama-2-7b-chat:8e6975e5ed6174911a6ff3d60540dfd4844201974602551e10e9e87ab143d81e"
Settings . llm = Replicate (
model = llama2_7b_chat ,
temperature = 0.01 ,
additional_kwargs = { "top_p" : 1 , "max_new_tokens" : 300 },
)
# set tokenizer to match LLM
Settings . tokenizer = AutoTokenizer . from_pretrained (
"NousResearch/Llama-2-7b-chat-hf"
)
# set the embed model
Settings . embed_model = HuggingFaceEmbedding (
model_name = "BAAI/bge-small-en-v1.5"
)
documents = SimpleDirectoryReader ( "YOUR_DATA_DIRECTORY" ). load_data ()
index = VectorStoreIndex . from_documents (
documents ,
)
หากต้องการสอบถาม:
query_engine = index . as_query_engine ()
query_engine . query ( "YOUR_QUESTION" )
ตามค่าเริ่มต้น ข้อมูลจะถูกจัดเก็บไว้ในหน่วยความจำ หากต้องการคงอยู่ในดิสก์ (ภายใต้ ./storage
):
index . storage_context . persist ()
หากต้องการโหลดซ้ำจากดิสก์:
from llama_index . core import StorageContext , load_index_from_storage
# rebuild storage context
storage_context = StorageContext . from_defaults ( persist_dir = "./storage" )
# load index
index = load_index_from_storage ( storage_context )
เราใช้บทกวีเป็นตัวจัดการแพ็คเกจสำหรับแพ็คเกจ Python ทั้งหมด ด้วยเหตุนี้ จึงสามารถค้นหาการขึ้นต่อกันของแต่ละแพ็คเกจ Python ได้โดยการอ้างอิงไฟล์ pyproject.toml
ในแต่ละโฟลเดอร์ของแพ็คเกจ
cd < desired-package-folder >
pip install poetry
poetry install --with dev
การอ้างอิงเพื่ออ้างอิงหากคุณใช้ LlamaIndex ในบทความ:
@software{Liu_LlamaIndex_2022,
author = {Liu, Jerry},
doi = {10.5281/zenodo.1234},
month = {11},
title = {{LlamaIndex}},
url = {https://github.com/jerryjliu/llama_index},
year = {2022}
}