groupultra telegram-search هو أداة جديدة للبحث في سجلات دردشة مستخدمي Telegram.

بعض التوصيات:

  • Telegram مجموعة إدارة الروبوت @CSUBOT : يمكنه إرسال رسائل خاصة إلى المستخدمين الجدد، وإرسال رموز التحقق من صفحة CloudFlare، وذلك لإجراء مراجعة للانضمام إلى المجموعة، للتحقق مما إذا كان المستخدم الذي يطلب الانضمام إلى المجموعة إنسانًا حقيقيًا. لن يزعج أعضاء المجموعة الآخرين.
  • التحقق من عنوان IP العام للجهاز عند الوصول إلى مواقع ويب مختلفة ، يمكنه الكشف عن تكوين توجيه الوكيل، وتجنب حظر حسابك بواسطة أدوات الذكاء الاصطناعي. يمكنك عرض عنوان IP الذي يستخدمه المستخدم للوصول إلى مواقع الويب الصينية، ومواقع الويب العالمية الشهيرة للذكاء الاصطناعي، ومواقع الويب العالمية المحظورة، ومواقع الويب العالمية المتاحة

مميزات المشروع

وفقًا للوثائق الرسمية، يوفر Telegram Search الميزات الأساسية التالية:

  • البحث الدلالي: لا يمكنه البحث عن الكلمات الرئيسية فحسب، بل يمكنه أيضًا فهم سياق الرسالة ومعناها
  • مطابقة المتجهات: استنادًا إلى تقنية تضمين المتجهات من OpenAI، لتحقيق البحث عن التشابه
  • استرجاع فعال: تجربة استرجاع أكثر دقة وذكاءً من بحث Telegram الأصلي
  • دعم متعدد المنصات: توفير واجهة ويب وتطبيق سطح مكتب

نصيحة بعدم الاستخدام

أولاً، سأقوم بإدراج بعض المحتويات التي تختلف اختلافًا كبيرًا عن توقعات المستخدمين، وبعض المشكلات الموجودة، ونصيحة بعدم استخدام هذا المشروع لبعض المستخدمين غير المناسبين. وتقديم اقتراحات لاستخدام المشاريع الناضجة الأخرى.

الفرق بين هذا المشروع والمشاريع التقليدية الأخرى التي لا تستخدم الذكاء الاصطناعي هو البحث الدلالي (لا يمكنه البحث عن الكلمات الرئيسية فحسب، بل يمكنه أيضًا فهم سياق الرسالة ومعناها). ومع ذلك، حاولت حتى الآن إجراء العديد من الاستعلامات، بغض النظر عما إذا كان مربع الاختيار “البحث في المحتوى” محددًا أم لا، فإنه لا يمكن بشكل أساسي البحث عن طريق طرح سؤال (جملة واحدة فقط يمكنها ذلك)؛ ولا يمكن البحث عن المرادفات. يمكنه فقط الاستعلام عن النتائج والرسائل التي تحتوي على كلمات مشتركة في الاستعلام. لست متأكدًا مما إذا كانت هذه مشكلة في نموذج التضمين.

الأوامر الأمامية والخلفية التي يجب تشغيلها بشكل متكرر، يجب انتظار ترجمتها، بالنسبة للمستخدمين الذين اعتادوا على لغات البرمجة التي لا تحتاج إلى ترجمة مسبقة والذين اعتادوا على سرعة الترجمة السريعة، فإن وقت الانتظار لهذا المشروع طويل بعض الشيء.

عند فتح الواجهة الأمامية واستخدامها، ثم تحديثها بعد فترة من الوقت، ستظهر الواجهة الأمامية شاشة بيضاء، كما هو موضح أدناه. في كل مرة تحتاج إلى إعادة التشغيل، pnpm run dev:frontend ، عليك انتظار الترجمة. يتم نشره على الخادم، وفي كل مرة تستخدمه، أو بالأحرى في كل مرة قبل الاستعلام، عليك الاتصال بالخادم وترجمته مرة أخرى، وهو أمر مزعج حقًا.

مشكلة الشاشة البيضاء في الواجهة الأمامية لمشروع groupultra/telegram-search

باختصار، يمكن تلخيص المشكلات المذكورة أعلاه على النحو التالي: يعتبر groupultra telegram-search مشروعًا للبحث في رسائل Telegram القديمة، ولكن استخدامه الحالي ليس جيدًا مثل المشاريع التقليدية الناضجة الأخرى. توصيات المشاريع الأخرى:

落絮 lilydjwg/luoxu: روبوت مستخدم Telegram لفهرسة محتويات المجموعة الصينية واليابانية. — روبوت مستخدم Telegram لفهرسة محتويات المجموعة الصينية واليابانية. ، تم تطويره بواسطة Yiyun من مجتمع archlinux cn، وقد تم تشغيل المشروع بثبات لسنوات عديدة، تحقق من التأثير الفعلي: صفحة ويب عامة لتسجيل رسائل المجموعة . مميزات المشروع:

  • يستخدم المشروع بشكل أساسي لغة python، ولا حاجة لانتظار الترجمة. على الرغم من أن بعض المكونات تحتاج إلى ترجمة، إلا أنها تحتاج إلى ترجمة مرة واحدة فقط
  • لا يميز البحث عن السلاسل بين الأحرف المبسطة والتقليدية (سيستخدم OpenCC للتحويل التلقائي)
  • يدعم البحث عن السلاسل بعض بناء الجملة للبحث
  • استهلاك الموارد عند التشغيل أقل من groupultra/telegram-search

مشاكل Luoxu:

  • قد يكون التثبيت والنشر أكثر صعوبة من مشروع groupultra/telegram-search. (هذا هو مقارنة فعلية بين نشر المشروعين. نظرًا لأنني أقوم بنشر luoxu على نظام Linux arm32، فإن جميع تبعيات نشر luoxu الخاصة بي يتم تجميعها وتثبيتها بالكامل، بما في ذلك PostgreSQL: Linux تجميع وتثبيت PostgreSQL 17.4 )
  • لا يمكن للرمز الافتراضي إلا فهرسة رسائل المجموعة والقناة المكتوبة في ملف التكوين، بالطبع يمكنك تغيير الرمز يدويًا

شروط ومتطلبات النشر المسبق

  • القدرة على استخدام الذكاء الاصطناعي، مثل Google Gemini و OpenAI وما إلى ذلك.
  • Node.js: الإصدار 20.0 أو أعلى
  • ذاكرة الوصول العشوائي: 100 ميجابايت على الأقل
  • القدرة على الوصول إلى الإنترنت الدولي

يستخدم هذا البرنامج التعليمي Google Gemini مجاني تمامًا، ولا تستهلك واجهة برمجة التطبيقات عبر الإنترنت موارد الحوسبة المحلية. مقدمة التطبيق: تطبيق واستخدام مفتاح Gemini API

أقوم بالنشر على خادم دولي Linux amd64، ولا أستخدم Docker، وبيئات نظام التشغيل الأخرى هي للإشارة فقط

عند اتباع هذا البرنامج التعليمي، يرجى ملاحظة مقارنة الوثائق الرسمية.

بداية سريعة

وفقًا للوثائق الرسمية، فإن العملية الأساسية لاستخدام Telegram Search هي كما يلي:

  1. التثبيت والتكوين: تثبيت التطبيق وتكوين واجهات برمجة التطبيقات الضرورية
  2. الاتصال بحساب Telegram: تسجيل الدخول إلى حساب Telegram الخاص بك
  3. مزامنة سجلات الدردشة: تحديد سجلات الدردشة التي تريد البحث عنها ومزامنتها
  4. بدء البحث: استخدام وظيفة البحث الدلالي للعثور على الرسائل

التثبيت والتكوين

تثبيت Node.js

زيارة موقع Node.js الرسمي لعرض الوثائق وتثبيته. يوصى باستخدام أحدث إصدار LTS، واستخدام الأمرين التاليين لتأكيد الإصدار بعد التثبيت:

node -v
v22.16.0

npm --version
10.9.2

نظرًا لأن المشروع يستخدم pnpm، فقم بتثبيته. الوثائق الرسمية: Installation | pnpm ، الأمر الفعلي الحالي:

curl -fsSL https://get.pnpm.io/install.sh | sh -

وفقًا للمطالبة

source /home/opc/.bashrc

تثبيت قاعدة بيانات PostgreSQL والمكون الإضافي pgvector

لاحظ أنه يجب تثبيت PostgreSQL والمكون الإضافي pgvector. يرجى ملاحظة أن محتويات هذا القسم قد لا تكون كاملة

لاحظ أن أنظمة redhat مثل CentOS تستخدم أوامر التثبيت هذه. يرجى الرجوع إلى المقالات الأخرى والاقتراحات المستندة إلى الذكاء الاصطناعي عند التشغيل.

تثبيت حزمة تكوين مستودع YUM الرسمي لـ PostgreSQL

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

الإصدار الذي اخترته هو 13، يمكنك اختيار إصدار أحدث. لأنني قمت بتثبيت PostgreSQL 13 من قبل، الأمر المحدد غير مؤكد. الآن

ابحث عن الحزم المتاحة المتعلقة بـ pgvector في مصدر YUM

sudo yum search pgvector

تثبيت

sudo yum install -y pgvector_13
sudo systemctl status postgresql-13

تهيئة دليل بيانات PostgreSQL 13 (يجب تنفيذه بعد التثبيت الأول).

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

أعد تشغيل خدمة PostgreSQL 13 لتفعيل التغييرات.

sudo systemctl restart postgresql-13

قم بالتبديل إلى مستخدم مسؤول قاعدة بيانات postgres.

sudo -i -u postgres

قم بتشغيل عميل سطر الأوامر PostgreSQL.

psql

قم بتعيين كلمة مرور تسجيل الدخول لمستخدم postgres.

ALTER USER postgres WITH PASSWORD 'كلمة مرور قاعدة البيانات الخاصة بك';

قم بتوصيل PostgreSQL كمستخدم postgres عبر المضيف المحلي، واطلب إدخال كلمة المرور.

psql -U postgres -h localhost --password

اخرج من psql

exit

ثم عد إلى مستخدم النظام الأولي،

exit

حاول الدخول إلى قاعدة البيانات

psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;

تكوين المشروع وتشغيله

نظرًا لوجود قيود على معدل Google Gemini API، فقد قمت بإجراء بعض التعديلات:

git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git

لاحظ أن فرع المعدل الحالي هذا، قمت بتعديله بالكامل على صفحة Github، ولم يتم إجراء أي اختبارات محلية.

تعديل الحد الأقصى للمعدل الذي يمكن تشغيله بنجاح على جهازي يستند إلى هذا الإصدار: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f ، يمكن فقط التأكد من أن الرمز يمكن تشغيله، ولا يوجد خطأ. إذا كان الرمز الخاص بك لا يمكن تشغيله، فيرجى محاولة التراجع عن تعديلات المشروع الرسمي بعد هذا الالتزام.

إذا كانت واجهة برمجة التطبيقات التي تستخدمها لا تحتوي على قيود على المعدل، فيمكنك استخدام المستودع الرسمي مباشرةً

git clone https://github.com/groupultra/telegram-search.git

انسخ ملف التكوين config\config.example.yaml إلى ملف config\config.yaml في نفس الدليل.

قم بتعديل ملف التكوين مباشرةً وفقًا للتنسيق التالي، وراجع وصف ملف التكوين الافتراضي للأجزاء الأخرى.

يتطلب تطبيق telegram api عنوان IP جيد الجودة، إذا لم تتمكن من تقديمه، فاستخدم عنوان المؤلف، ولا تقم بتعديله. هذا مخصص لعملاء الطرف الثالث، وليس روبوتات telegram.

database:
  # Database type: postgres, pglite
  type: postgres
  # PostgreSQL configuration (used when type: postgres)
  # Can use URL or separate field configuration
  # url: postgres://postgres:postgres@localhost:5432/tg_search
  host: localhost
  port: 5432
  user: postgres
  password: 'كلمة مرور قاعدة البيانات الخاصة بك'
  database: tg_1

api:
  embedding:
    # Embedding provider (openai or ollama) # لا تقم بتغيير هذا إلى Gemini هنا
    provider: openai
    # Embedding model
    model: models/text-embedding-004
    # gemini-embedding-exp-03-07
    # API key for provider
    apiKey: <مفتاح Gemini API الذي حصلت عليه>
    # gemini embedding-001 الإخراج الافتراضي هو 3072 بعدًا، ولا يمكن تخصيص الأبعاد
    dimension: 768
    # Optional, for custom API providers
    apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# تشغيل خدمة الواجهة الخلفية
pnpm run dev:server

# تشغيل الواجهة الأمامية في نافذة طرفية أخرى
pnpm run dev:frontend

تحقق مما إذا كان يمكن الوصول إلى الواجهة الأمامية بنجاح:

curl http://localhost:3333/

إذا كان الجهاز محليًا، فافتح المتصفح وقم بزيارة http://localhost:3333 لاستخدام التطبيق

إذا كان جهازًا بعيدًا، فما عليك سوى فتح منفذ الواجهة الأمامية للوصول إليه. ولكن لا يمكن الكشف عنه مباشرةً على الشبكة العامة، وإلا يمكن لأي شخص التلاعب بحساب telegram الخاص بك. تحتاج إلى تكوين أذونات الوصول بنفسك، وهناك العديد من هذه الحلول.

بالإضافة إلى ذلك، قد تحتاج زيارة النطاق إلى تعديل apps\frontend\vite.config.ts وإضافة

 allowedHosts: ['النطاق الذي تزوره']

محتويات أخرى، يرجى الاطلاع على الوثائق الرسمية.

إصدارات أخرى من هذه الصفحة

هناك إصدارات بلغات متعددة من هذه المقالة.

إذا كنت ترغب في نشر تعليق، يرجى زيارة الصفحة التالية:

ZH EN ZH-TW JA

تدعم هذه الصفحات العرض فقط، ولا يمكنها نشر التعليقات أو الرسائل، ولكنها توفر المزيد من خيارات اللغة، ووقت تحميل أقصر:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO