الموقع الرسمي • التوثيق • الفتنة
جديد: اشترك في قائمتنا البريدية للحصول على التحديثات والأخبار!
Indox Retrieval Augmentation هو تطبيق مبتكر مصمم لتبسيط استخراج المعلومات من مجموعة واسعة من أنواع المستندات، بما في ذلك الملفات النصية وPDF وHTML وMarkdown وLaTeX. سواء كانت منظمة أو غير منظمة، توفر Indox للمستخدمين مجموعة أدوات قوية لاستخراج البيانات ذات الصلة بكفاءة.
Indox Retrieval Augmentation هو تطبيق مبتكر مصمم لتبسيط استخراج المعلومات من مجموعة واسعة من أنواع المستندات، بما في ذلك الملفات النصية وPDF وHTML وMarkdown وLaTeX. سواء كانت منظمة أو غير منظمة، توفر Indox للمستخدمين مجموعة أدوات قوية لاستخراج البيانات ذات الصلة بكفاءة. إحدى ميزاته الرئيسية هي القدرة على تجميع الأجزاء الأساسية بذكاء لتشكيل مجموعات أكثر قوة، مما يعزز جودة وأهمية المعلومات المستخرجة. مع التركيز على القدرة على التكيف والتصميم الذي يركز على المستخدم، يهدف Indox إلى تقديم وظائف جاهزة للمستقبل مع المزيد من الميزات المخطط لها للإصدارات القادمة. انضم إلينا في استكشاف كيف يمكن لـ Indox أن يُحدث ثورة في سير عمل معالجة المستندات الخاصة بك، مما يوفر الوضوح والتنظيم لاحتياجات استرجاع البيانات الخاصة بك.
؟ دعم النموذج | مُنفّذ | وصف |
---|---|---|
أولاما (على سبيل المثال Llama3) | ✅ | نماذج التضمين المحلي وLLM المدعومة من Ollama |
HuggingFace | ✅ | نماذج التضمين المحلي وLLM المدعومة من HuggingFace |
ميسترال | ✅ | نماذج التضمين و LLM من Cohere |
جوجل (مثل الجوزاء) | ✅ | نماذج التضمين والإنشاء من Google |
OpenAI (مثل GPT4) | ✅ | نماذج التضمين والتوليد بواسطة OpenAI |
النموذج المدعوم عبر Indox Api | مُنفّذ | وصف |
---|---|---|
أوبن آي | ✅ | التضمين ونموذج LLm OpenAi من Indox Api |
ميسترال | ✅ | التضمين ونموذج ميسترال LLm من Indox Api |
أنثروبي | التضمين والنموذج الإنساني LLm من Indox Api |
؟ محمل وفاصل | مُنفّذ | وصف |
---|---|---|
قوات الدفاع الشعبي بسيطة | ✅ | استيراد قوات الدفاع الشعبي |
غير منظمIO | ✅ | استيراد البيانات من خلال غير منظم |
التحميل المجمع والانقسام | ✅ | تحميل قوات الدفاع الشعبي والنصوص. إضافة طبقة تجميع إضافية |
مميزات راج | مُنفّذ | وصف |
---|---|---|
البحث الهجين | البحث الدلالي جنبا إلى جنب مع البحث عن الكلمات الرئيسية | |
التخزين المؤقت الدلالي | ✅ | تم حفظ النتائج واسترجاعها بناءً على المعنى الدلالي |
موجه مجمعة | ✅ | قم باسترجاع أجزاء أصغر وقم بالتجميع والتلخيص |
وكيل خرقة | ✅ | قم بإنشاء إجابة أكثر موثوقية وسياق الترتيب والبحث على الويب إذا لزم الأمر |
الاستعلام المتقدم | تفويض المهام بناءً على تقييم LLM | |
إعادة الترتيب | ✅ | أعد ترتيب النتائج بناءً على السياق للحصول على نتائج أفضل |
بيانات التعريف القابلة للتخصيص | التحكم الحر في البيانات الوصفية |
؟ مكافأة رائعة | مُنفّذ | وصف |
---|---|---|
دعم عامل الميناء | Indox قابل للنشر عبر Docker | |
واجهة أمامية قابلة للتخصيص | الواجهة الأمامية لـ Indox قابلة للتخصيص بالكامل عبر الواجهة الأمامية |
☑️ أمثلة | تشغيل في كولاب |
---|---|
إندوكس أبي (أوبن آي) | |
ميسترال (استخدام غير منظم) | |
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
قم بتثبيت حزم بايثون المطلوبة:
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.']
.----------------. .-----------------. .----------------. .----------------. .----------------.
| .--------------. || .--------------. || .--------------. || .--------------. || .--------------. |
| | _____ | || | ____ _____ | || | ________ | || | ____ | || | ____ ____ | |
| | |_ _| | || ||_ |_ _| | || | |_ ___ `. | || | .' `. | || | |_ _||_ _| | |
| | | | | || | | | | | || | | | `. | || | / .--. | || | / / | |
| | | | | || | | | | | | || | | | | | | || | | | | | | || | > `' < | |
| | _| |_ | || | _| |_ |_ | || | _| |___.' / | || | `--' / | || | _/ /'` _ | |
| | |_____| | || ||_____|____| | || | |________.' | || | `.____.' | || | |____||____| | |
| | | || | | || | | || | | || | | |
| '--------------' || '--------------' || '--------------' || '--------------' || '--------------' |
'----------------' '----------------' '----------------' '----------------' '----------------'