
استخراج المعرفة الرأي واسترجاع الدلالي لتطبيقات Gen AI.
استكشف المستندات »
الإبلاغ عن ميزة طلب · طلب
يساعدك Dewy على بناء وكلاء الذكاء الاصطناعي وتطبيقات RAG من خلال إدارة استخراج المعرفة من مستنداتك وتنفيذ البحث الدلالي على المحتوى المستخرج. قم بتحميل المستندات الخاصة بك و DeWy يهتم بالتحليل ، والتشويش ، والتلخيص ، وفهرسته للاسترجاع. تعتمد Dewy على دروس وضع تطبيقات Gen AI الحقيقية حتى تتمكن من التركيز على الحصول على؟ تم القيام به ، بدلاً من مقارنة قواعد بيانات المتجهات وبناء البنية التحتية لاستخراج البيانات.
فيما يلي العمارة النموذجية لعامل الذكاء الاصطناعي الذي يؤدي خرقة. يعالج Dewy جميع الأجزاء الموضحة باللون البني حتى تتمكن من التركيز على تطبيقك - الأجزاء باللون الأخضر.

(العودة إلى الأعلى)
للحصول على نسخة محلية وتشغيل اتبع هذه الخطوات.
(اختياري) بدء مثيل pgvector لاستمرار بياناتك
تستخدم Dewy قاعدة بيانات متجه لتخزين البيانات الوصفية حول المستندات التي قمت بتحميلها بالإضافة إلى التضمينات المستخدمة لتوفير نتائج البحث الدلالية.
docker run -d
-p 5432:5432
-e POSTGRES_DB=dewydb
-e POSTGRES_USER=dewydbuser
-e POSTGRES_PASSWORD=dewydbpwd
-e POSTGRES_HOST_AUTH_METHOD=trust
ankane/pgvector إذا كان لديك بالفعل مثيل لـ pgvector فيمكنك إنشاء قاعدة بيانات لـ DEWY وتكوين DEWY باستخدامها باستخدام DB ENV VAR (انظر أدناه).
تثبيت ديوي
pip install dewy
سيؤدي ذلك إلى تثبيت DeWy في بيئة Python المحلية.
تكوين ديوي. سوف DEWY قراءة env vars من ملف .env إذا تم توفيره. يمكنك أيضًا تعيينها مباشرة في البيئة ، على سبيل المثال عند تكوين مثيل يعمل في Docker / Kubernetes.
# ~/.env
ENVIRONMENT=LOCAL
DB=postgresql://...
OPENAI_API_KEY=...أطلق النار على ديوي
dewyيتضمن Dewy وحدة تحكم مسؤول يمكنك استخدامها لإنشاء مجموعات ومستندات تحميل وتشغيل استعلامات الاختبار.
open http://localhost:8000/adminتثبيت مكتبة عميل API
npm install dewy-tsالاتصال بمثيل ندي
import { Dewy } from 'dewy_ts' ;
const dewy = new Dewy ( )إضافة المستندات
await dewy . kb . addDocument ( {
collection_id : 1 ,
url : “https : //arxiv.org/abs/2005.11401”,
} )استرداد أجزاء المستندات لـ LLM Prompting
const context = await dewy . kb . retrieveChunks ( {
collection_id : 1 ,
query : "tell me about RAG" ,
n : 10 ,
} ) ;
// Minimal prompt example
const prompt = [
{
role : 'system' ,
content : `You are a helpful assistant.
You will take into account any CONTEXT BLOCK that is provided in a conversation.
START CONTEXT BLOCK
${ context . results . map ( ( c : any ) => c . chunk . text ) . join ( "n" ) }
END OF CONTEXT BLOCK
` ,
} ,
]
// Using OpenAI to generate responses
const response = await openai . chat . completions . create ( {
model : 'gpt-3.5-turbo' ,
stream : true ,
messages : [ ... prompt , [ { role : 'user' : content : 'Tell me about RAG' } ] ]
} )تثبيت مكتبة عميل API
pip install dewy-clientالاتصال بمثيل ندي
from dewy_client import Client
dewy = Client ( base_url = "http://localhost:8000" )إضافة المستندات
from dewy_client . api . kb import add_document
from dewy_client . models import AddDocumentRequest
await add_document . asyncio ( client = dewy , body = AddDocumentRequest (
collection_id = 1 ,
url = “ https : // arxiv . org / abs / 2005.11401 ”,
))استرداد أجزاء المستندات لـ LLM Prompting
from dewy_client . api . kb import retrieve_chunks
from dewy_client . modles import RetrieveRequest
chunks = await retrieve_chunks . asyncio ( client = dewy , body = RetrieveRequest (
collection_id = 1 ,
query = "tell me about RAG" ,
n = 10 ,
))
# Minimal prompt example
prompt = f"""
You will take into account any CONTEXT BLOCK that is provided in a conversation.
START CONTEXT BLOCK
{ " n " . join ([ chunk . text for chunk in chunks . text_chunks ]) }
END OF CONTEXT BLOCK
""" انظر [ python-langchain.ipynb'](demos/python-langchain-notebook/python-langchain.ipynb) for an example using Dewy in LangChain, including an implementation of LangChain's Baseretriever` المدعوم من DeWy.
ديوي تحت التطوير النشط. هذه نظرة عامة على خارطة الطريق الحالية - من فضلك؟ القضايا المهمة بالنسبة لك. لا ترى ميزة من شأنها أن تجعل Dewy أفضل لتطبيقك - قم بإنشاء طلب ميزة!
المساهمات هي التي تجعل مجتمع المصدر المفتوح مكانًا رائعًا للتعلم وإلهامه وإنشائه. أي مساهمات تقدمها موضع تقدير كبير .
إذا كان لديك اقتراح من شأنه أن يجعل هذا أفضل ، فيرجى تورك الريبو وإنشاء طلب سحب. يمكنك أيضًا فتح مشكلة مع علامة "تحسين". لا تنسى إعطاء المشروع نجمًا! شكرًا لك مرة أخرى!
git checkout -b feature/AmazingFeature )git commit -m 'Add some AmazingFeature' )git push origin feature/AmazingFeature )git clone https://github.com/DewyKB/dewy.gitpoetry install.env إذا تم توفيره. يمكنك أيضًا تعيينها مباشرة في البيئة ، على سبيل المثال عند تكوين مثيل يعمل في Docker / Kubernetes. cat > .env << EOF
ENVIRONMENT=LOCAL
DB=postgresql://...
OPENAI_API_KEY=...
EOF cd frontend && npm install && npm run build cd dewy-client && poetry installpoetry run dewyبعض رمز الهيكل العظمي استنادًا إلى أفضل الممارسات من https://github.com/zhanymkanov/fastapi-best-practices.
تشغيل الأوامر التالية اختبارات وتطبيق linting. إذا كنت في poetry shell ، فيمكنك حذف poetry run :
poetry run pytestpoetry run ruff check --fixpoetry run ruff formatpoetry run mypy dewyلتجديد مكتبات Openapi ومكتبات العملاء:
poetry poe extract-openapi
poetry poe update-client(العودة إلى الأعلى)
إطلاقpyproject.toml ل dewy b. dewy-client/pyproject.toml لـ dewy-client C. إصدار API في dewy/config.py د. openapi.yaml و dewy-client عن طريق تشغيل poe extract-openapi و poe update-client .dewy dewy-client .(العودة إلى الأعلى)
موزعة تحت رخصة Apache 2. انظر LICENSE.txt لمزيد من المعلومات.
(العودة إلى الأعلى)