เว็บไซต์อย่างเป็นทางการ • เอกสารประกอบ • Discord
ใหม่: สมัครรับรายชื่ออีเมลของเราเพื่อรับข้อมูลอัปเดตและข่าวสาร!
Indox Retrieval Augmentation เป็นแอปพลิเคชันนวัตกรรมที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพในการดึงข้อมูลจากเอกสารประเภทต่างๆ มากมาย รวมถึงไฟล์ข้อความ, PDF, HTML, Markdown และ LaTeX ไม่ว่าจะมีโครงสร้างหรือไม่มีโครงสร้าง Indox มอบชุดเครื่องมืออันทรงพลังแก่ผู้ใช้เพื่อดึงข้อมูลที่เกี่ยวข้องได้อย่างมีประสิทธิภาพ
Indox Retrieval Augmentation เป็นแอปพลิเคชันนวัตกรรมที่ออกแบบมาเพื่อปรับปรุงประสิทธิภาพในการดึงข้อมูลจากเอกสารประเภทต่างๆ มากมาย รวมถึงไฟล์ข้อความ, PDF, HTML, Markdown และ LaTeX ไม่ว่าจะมีโครงสร้างหรือไม่มีโครงสร้าง Indox มอบชุดเครื่องมืออันทรงพลังแก่ผู้ใช้เพื่อดึงข้อมูลที่เกี่ยวข้องได้อย่างมีประสิทธิภาพ หนึ่งในคุณสมบัติหลักคือความสามารถในการจัดกลุ่มชิ้นส่วนหลักอย่างชาญฉลาดเพื่อสร้างการจัดกลุ่มที่แข็งแกร่งยิ่งขึ้น ปรับปรุงคุณภาพและความเกี่ยวข้องของข้อมูลที่ดึงมา ด้วยการมุ่งเน้นไปที่ความสามารถในการปรับตัวและการออกแบบที่เน้นผู้ใช้เป็นหลัก Indox มุ่งหวังที่จะมอบฟังก์ชันการทำงานที่พร้อมสำหรับอนาคตพร้อมคุณสมบัติเพิ่มเติมที่วางแผนไว้สำหรับการเปิดตัวที่กำลังจะมาถึง เข้าร่วมกับเราในการสำรวจว่า Indox สามารถปฏิวัติขั้นตอนการประมวลผลเอกสารของคุณได้อย่างไร โดยนำความชัดเจนและการจัดระเบียบมาสู่ความต้องการในการเรียกข้อมูลของคุณ
- รองรับโมเดล | ดำเนินการแล้ว | คำอธิบาย |
---|---|---|
Ollama (เช่น Llama3) | Local Embedding และ LLM Models ขับเคลื่อนโดย Ollama | |
กอดใบหน้า | โมเดลการฝังท้องถิ่นและ LLM ขับเคลื่อนโดย HuggingFace | |
มิสทรัล | การฝังและโมเดล LLM โดย Cohere | |
Google (เช่น ราศีเมถุน) | การฝังและการสร้างโมเดลโดย Google | |
OpenAI (เช่น GPT4) | การฝังและการสร้างโมเดลโดย OpenAI |
รุ่นที่รองรับผ่าน Indox Api | ดำเนินการแล้ว | คำอธิบาย |
---|---|---|
โอเพ่นเอไอ | การฝังและโมเดล LLm OpenAi จาก Indox Api | |
มิสทรัล | การฝังและโมเดล Mistral LLm จาก Indox Api | |
มานุษยวิทยา | การฝังและโมเดลมานุษยวิทยา LLm จาก Indox Api |
- ตัวโหลดและตัวแยก | ดำเนินการแล้ว | คำอธิบาย |
---|---|---|
PDF ธรรมดา | นำเข้า PDF | |
ไม่มีโครงสร้างIO | นำเข้าข้อมูลผ่านไม่มีโครงสร้าง | |
โหลดและแยกกลุ่ม | โหลด PDF และข้อความ เพิ่มเลเยอร์การจัดกลุ่มพิเศษ |
คุณสมบัติ RAG | ดำเนินการแล้ว | คำอธิบาย |
---|---|---|
การค้นหาแบบไฮบริด | การค้นหาความหมายรวมกับการค้นหาคำสำคัญ | |
การแคชความหมาย | ผลลัพธ์ที่บันทึกและเรียกค้นตามความหมายทางความหมาย | |
พรอมต์คลัสเตอร์ | ดึงข้อมูลชิ้นเล็กๆ และทำการจัดกลุ่มและการสรุป | |
เศษผ้าตัวแทน | สร้างคำตอบที่เชื่อถือได้มากขึ้น จัดอันดับบริบท และการค้นหาเว็บ หากจำเป็น | |
การสืบค้นขั้นสูง | การมอบหมายงานตามการประเมิน LLM | |
การจัดอันดับใหม่ | จัดอันดับผลลัพธ์ใหม่ตามบริบทเพื่อผลลัพธ์ที่ดีขึ้น | |
ข้อมูลเมตาที่ปรับแต่งได้ | ควบคุมข้อมูลเมตาได้ฟรี |
- โบนัสเจ๋งๆ | ดำเนินการแล้ว | คำอธิบาย |
---|---|---|
การสนับสนุนนักเทียบท่า | Indox สามารถใช้งานผ่าน Docker ได้ | |
ส่วนหน้าที่ปรับแต่งได้ | ส่วนหน้าของ Indox สามารถปรับแต่งได้อย่างเต็มที่ผ่านทางส่วนหน้า |
☑️ตัวอย่าง | วิ่งใน Colab |
---|---|
Indox Api (โอเพ่นเอไอ) | |
มิสทรัล (ใช้ไม่มีโครงสร้าง) | |
OpenAi (ใช้การแบ่งกลุ่ม) | |
โมเดลกอดใบหน้า(มิสทรัล) | |
โอลามา | |
ประเมินด้วย IndoxJudge |
คำสั่งต่อไปนี้จะติดตั้ง inDox ที่เสถียรล่าสุด
pip install Indox
หากต้องการติดตั้งเวอร์ชันการพัฒนาล่าสุด คุณสามารถเรียกใช้ได้
pip install git+https://github.com/osllmai/inDox@master
โคลนที่เก็บและนำทางไปยังไดเร็กทอรี:
git clone https://github.com/osllmai/inDox.git
cd inDox
ติดตั้งแพ็คเกจ Python ที่จำเป็น:
pip install -r requirements.txt
หากคุณกำลังเรียกใช้โปรเจ็กต์นี้ใน IDE ภายในเครื่องของคุณ โปรดสร้างสภาพแวดล้อม Python เพื่อให้แน่ใจว่าการขึ้นต่อกันทั้งหมดได้รับการจัดการอย่างถูกต้อง คุณสามารถทำตามขั้นตอนด้านล่างเพื่อตั้งค่าสภาพแวดล้อมเสมือนชื่อ indox
:
python -m venv indox
indox S cripts a ctivate
python3 -m venv indox
source indox/bin/activate
เมื่อเปิดใช้งานสภาพแวดล้อมเสมือนแล้ว ให้ติดตั้งการขึ้นต่อกันที่จำเป็นโดยการรัน:
pip install -r requirements.txt
pip install indox
pip install openai
pip install chromadb
หากคุณกำลังเรียกใช้โปรเจ็กต์นี้ใน IDE ภายในเครื่องของคุณ โปรดสร้างสภาพแวดล้อม Python เพื่อให้แน่ใจว่าการขึ้นต่อกันทั้งหมดได้รับการจัดการอย่างถูกต้อง คุณสามารถทำตามขั้นตอนด้านล่างเพื่อตั้งค่าสภาพแวดล้อมเสมือนชื่อ indox
:
python -m venv indox
indox_judge S cripts a ctivate
python3 -m venv indox
2. **Activate the virtual environment:**
```bash
source indox/bin/activate
เมื่อเปิดใช้งานสภาพแวดล้อมเสมือนแล้ว ให้ติดตั้งการขึ้นต่อกันที่จำเป็นโดยการรัน:
pip install -r requirements.txt
ในการเริ่มต้น คุณจะต้องโหลดคีย์ API ของคุณจากสภาพแวดล้อม
import os
from dotenv import load_dotenv
load_dotenv ()
OPENAI_API_KEY = os . environ [ 'OPENAI_API_KEY' ]
นำเข้าคลาสที่จำเป็นจากแพ็คเกจ Indox
from indox import IndoxRetrievalAugmentation
from indox . llms import OpenAi
from indox . embeddings import OpenAiEmbedding
สร้างอินสแตนซ์ของ IndoxRetrievalAugmentation
Indox = IndoxRetrievalAugmentation ()
openai_qa = OpenAiQA ( api_key = OPENAI_API_KEY , model = "gpt-3.5-turbo-0125" )
openai_embeddings = OpenAiEmbedding ( model = "text-embedding-3-small" , openai_api_key = OPENAI_API_KEY )
file_path = "sample.txt"
ในส่วนนี้ เราใช้ประโยชน์จากไลบรารี unstructured
ในการโหลดเอกสารและแบ่งออกเป็นส่วนๆ ตามชื่อเรื่อง วิธีนี้ช่วยในการจัดระเบียบเอกสารออกเป็นส่วนที่สามารถจัดการได้เพื่อการประมวลผลต่อไป
from indox . data_loader_splitter import UnstructuredLoadAndSplit
loader_splitter = UnstructuredLoadAndSplit ( file_path = file_path )
docs = loader_splitter . load_and_chunk ()
Starting processing...
End Chunking process.
การจัดเก็บชิ้นเอกสารในร้านค้าเวกเตอร์ถือเป็นสิ่งสำคัญสำหรับการเรียกข้อมูลและการค้นหาที่มีประสิทธิภาพ ด้วยการแปลงข้อมูลข้อความเป็นการแสดงเวกเตอร์และจัดเก็บไว้ในร้านค้าเวกเตอร์ คุณสามารถค้นหาความคล้ายคลึงกันอย่างรวดเร็วและดำเนินการตามเวกเตอร์อื่นๆ ได้
from indox . vector_stores import ChromaVectorStore
db = ChromaVectorStore ( collection_name = "sample" , embedding = embed_openai )
Indox . connect_to_vectorstore ( db )
Indox . store_in_vectorstore ( docs )
2024-05-14 15:33:04,916 - INFO - Anonymized telemetry enabled. See https://docs.trychroma.com/telemetry for more information.
2024-05-14 15:33:12,587 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings "HTTP/1.1 200 OK"
2024-05-14 15:33:13,574 - INFO - Document added successfully to the vector store.
Connection established successfully.
query = "how cinderella reach her happy ending?"
retriever = indox . QuestionAnswer ( vector_database = db , llm = openai_qa , top_k = 5 )
retriever . invoke ( query )
2024-05-14 15:34:55,380 - INFO - HTTP Request: POST https://api.openai.com/v1/embeddings "HTTP/1.1 200 OK"
2024-05-14 15:35:01,917 - INFO - HTTP Request: POST https://api.openai.com/v1/chat/completions "HTTP/1.1 200 OK"
'Cinderella reached her happy ending by enduring mistreatment from her step-family, finding solace and help from the hazel tree and the little white bird, attending the royal festival where the prince recognized her as the true bride, and ultimately fitting into the golden shoe that proved her identity. This led to her marrying the prince and living happily ever after.'
retriever . context
["from the hazel-bush. Cinderella thanked him, went to her mother'snngrave and planted the branch on it, and wept so much that the tearsnnfell down on it and watered it. And it grew and became a handsomenntree. Thrice a day cinderella went and sat beneath it, and wept andnnprayed, and a little white bird always came on the tree, and ifnncinderella expressed a wish, the bird threw down to her what shennhad wished for.nnIt happened, however, that the king gave orders for a festival",
'worked till she was weary she had no bed to go to, but had to sleepnnby the hearth in the cinders. And as on that account she alwaysnnlooked dusty and dirty, they called her cinderella.nnIt happened that the father was once going to the fair, and hennasked his two step-daughters what he should bring back for them.nnBeautiful dresses, said one, pearls and jewels, said the second.nnAnd you, cinderella, said he, what will you have. Father',
'face he recognized the beautiful maiden who had danced withnnhim and cried, that is the true bride. The step-mother andnnthe two sisters were horrified and became pale with rage, he,nnhowever, took cinderella on his horse and rode away with her. Asnnthey passed by the hazel-tree, the two white doves cried -nnturn and peep, turn and peep,nnno blood is in the shoe,nnthe shoe is not too small for her,nnthe true bride rides with you,nnand when they had cried that, the two came flying down and',
"to send her up to him, but the mother answered, oh, no, she isnnmuch too dirty, she cannot show herself. But he absolutelynninsisted on it, and cinderella had to be called. She firstnnwashed her hands and face clean, and then went and bowed downnnbefore the king's son, who gave her the golden shoe. Then shennseated herself on a stool, drew her foot out of the heavynnwooden shoe, and put it into the slipper, which fitted like annglove. And when she rose up and the king's son looked at her",
'slippers embroidered with silk and silver. She put on the dressnnwith all speed, and went to the wedding. Her step-sisters and thennstep-mother however did not know her, and thought she must be annforeign princess, for she looked so beautiful in the golden dress.nnThey never once thought of cinderella, and believed that she wasnnsitting at home in the dirt, picking lentils out of the ashes. Thennprince approached her, took her by the hand and danced with her.']
.----------------. .-----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. || .--------------. |
| | _____ | || | ____ _____ | || | ________ | || | ____ | || | ____ ____ | |
| | |_ _| | || ||_ |_ _| | || | |_ ___ `. | || | .' `. | || | |_ _||_ _| | |
| | | | | || | | | | | || | | | `. | || | / .--. | || | / / | |
| | | | | || | | | | | | || | | | | | | || | | | | | | || | > `' < | |
| | _| |_ | || | _| |_ |_ | || | _| |___.' / | || | `--' / | || | _/ /'` _ | |
| | |_____| | || ||_____|____| | || | |________.' | || | `.____.' | || | |____||____| | |
| | | || | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------' '----------------'