groupultra telegram-search एक नया टेलीग्राम यूजर चैट इतिहास खोज उपकरण है।

कुछ सुझाव:

  • Telegram ग्रुप प्रबंधन रोबोट @CSUBOT : नए उपयोगकर्ताओं को निजी संदेश भेज सकता है, CloudFlare का वेब सत्यापन कोड भेज सकता है, जिससे समूह में प्रवेश करने की समीक्षा की जा सकती है, यह सत्यापित करने के लिए कि समूह में प्रवेश करने के लिए आवेदन करने वाले उपयोगकर्ता वास्तविक मानव हैं या नहीं। समूह के अन्य सदस्यों को परेशान नहीं करेगा।
  • विभिन्न वेबसाइटों तक पहुंचने के लिए स्थानीय मशीन के सार्वजनिक नेटवर्क IP को क्वेरी करें , यह प्रॉक्सी डायवर्सन कॉन्फ़िगरेशन का पता लगा सकता है और AI टूल द्वारा खाता ब्लॉक होने से बचा सकता है। उपयोगकर्ता द्वारा चीन की वेबसाइटों, अंतरराष्ट्रीय स्तर पर प्रसिद्ध AI वेबसाइटों, ब्लॉक की गई अंतरराष्ट्रीय वेबसाइटों और स्वीकार्य अंतरराष्ट्रीय वेबसाइटों तक पहुंचने के लिए उपयोग किए जाने वाले IP को देख सकते हैं

परियोजना सुविधाएँ

आधिकारिक दस्तावेज़ों के अनुसार, Telegram Search निम्नलिखित मुख्य कार्य प्रदान करता है:

  • सिमेंटिक खोज: न केवल कीवर्ड खोज सकते हैं, बल्कि संदेश के संदर्भ और अर्थ को भी समझ सकते हैं
  • वेक्टर मिलान: OpenAI की एम्बेडिंग वेक्टर तकनीक पर आधारित, समानता खोज का एहसास करें
  • कुशल पुनर्प्राप्ति: टेलीग्राम मूल खोज की तुलना में अधिक सटीक और बुद्धिमान पुनर्प्राप्ति अनुभव
  • बहु-प्लेटफ़ॉर्म समर्थन: वेब इंटरफ़ेस और डेस्कटॉप एप्लिकेशन प्रदान करें

निरुत्साहन

सबसे पहले, उन कुछ चीज़ों को सूचीबद्ध करें जो उपयोगकर्ता की अपेक्षाओं से बहुत भिन्न हैं, साथ ही कुछ मौजूदा समस्याओं को भी, और कुछ ऐसे उपयोगकर्ताओं को निरुत्साहित करें जो इस परियोजना के लिए उपयुक्त नहीं हैं। और अन्य परिपक्व परियोजनाओं का उपयोग करने के लिए सुझाव दें।

यह परियोजना अन्य गैर-AI पारंपरिक परियोजनाओं से इस मायने में भिन्न है कि यह सिमेंटिक खोज (न केवल कीवर्ड खोज सकती है, बल्कि संदेश के संदर्भ और अर्थ को भी समझ सकती है) का उपयोग करती है। हालाँकि, मैंने वर्तमान में कई क्वेरी करने का प्रयास किया है, चाहे “सामग्री खोजें” खोज बॉक्स सेटिंग का चयन किया गया हो या नहीं, मूल रूप से प्रश्नवाचक वाक्यों के साथ खोजना संभव नहीं है (केवल एक वाक्य उपलब्ध है); समानार्थी शब्द खोज नहीं सकते। केवल उन संदेशों को खोजा जा सकता है जिनमें क्वेरी के साथ सामान्य शब्द हैं। यह निश्चित नहीं है कि यह एम्बेडिंग मॉडल की समस्या है या नहीं।

अक्सर उपयोग किए जाने वाले फ्रंट-एंड और बैक-एंड परिनियोजन और रन कमांड को संकलित करने की प्रतीक्षा करनी पड़ती है, उन उपयोगकर्ताओं के लिए जो उन प्रोग्रामिंग भाषाओं के आदी हैं जिन्हें पहले से संकलित करने की आवश्यकता नहीं होती है और उन प्रोग्रामिंग भाषाओं के आदी हैं जिनकी संकलन गति तेज होती है, इस परियोजना की प्रतीक्षा अवधि थोड़ी लंबी है।

फ्रंट-एंड खोलें और उपयोग करें, और फिर कुछ समय बाद, फिर से उपयोग करने के लिए ताज़ा करें, फ्रंट-एंड एक सफेद स्क्रीन दिखाएगा, जैसा कि नीचे दिखाया गया है। हर बार इसे पुनरारंभ करने की आवश्यकता होती है, pnpm run dev:frontend, संकलित करने की प्रतीक्षा करनी होगी। सर्वर पर तैनात, हर बार उपयोग करने से पहले, या कहें कि प्रत्येक क्वेरी से पहले, आपको सर्वर को कनेक्ट करने और एक बार संकलित करने की आवश्यकता होती है, जो वास्तव में परेशानी भरा है।

groupultra/telegram-search प्रोजेक्ट फ्रंट-एंड व्हाइट स्क्रीन समस्या

उपरोक्त समस्याओं का सारांश यह है कि groupultra telegram-search, टेलीग्राम इतिहास संदेशों की खोज के लिए एक परियोजना के रूप में, वर्तमान में अन्य परिपक्व पारंपरिक परियोजनाओं की तुलना में उपयोग करना आसान नहीं है। अन्य अनुशंसित परियोजनाएँ:

लौक्सू lilydjwg/luoxu: एक टेलीग्राम यूजरबॉट जिसका उपयोग चीनी और जापानी समूह सामग्री को अनुक्रमित करने के लिए किया जाता है। — चीनी और जापानी समूह सामग्री को अनुक्रमित करने के लिए एक टेलीग्राम यूजरबॉट। , आर्चलिनक्स सीएन समुदाय के यी यून द्वारा विकसित, परियोजना कई वर्षों से स्थिर रूप से चल रही है, वास्तविक प्रभाव देखने के लिए: सार्वजनिक समूह संदेश रिकॉर्ड खोज वेबपेज । परियोजना विशेषताएँ:

  • परियोजना मुख्य रूप से पायथन का उपयोग करती है, संकलित करने की प्रतीक्षा करने की आवश्यकता नहीं है। हालाँकि कुछ घटकों को संकलित करने की आवश्यकता है, लेकिन उन्हें केवल एक बार संकलित करने की आवश्यकता है
  • खोज स्ट्रिंग सरलीकृत और पारंपरिक अक्षरों के बीच अंतर नहीं करती है (OpenCC का उपयोग करके स्वचालित रूप से परिवर्तित हो जाएगी)
  • खोज स्ट्रिंग कुछ खोज सिंटैक्स का समर्थन करती है
  • groupultra/telegram-search की तुलना में चलाने के लिए कम संसाधनों की आवश्यकता होती है

Luoxu की समस्याएँ:

  • groupultra/telegram-search परियोजना की तुलना में स्थापना और परिनियोजन थोड़ा अधिक जटिल हो सकता है। (यह दो परियोजनाओं की मेरी वास्तविक परिनियोजन तुलना है। चूंकि मैं लिनक्स आर्म32 सिस्टम पर luoxu को तैनात करता हूं, इसलिए luoxu की मेरी सभी निर्भरताएँ पूरी तरह से संकलित और स्थापित हैं, जिसमें PostgreSQL भी शामिल है: लिनक्स पर PostgreSQL 17.4 को संकलित और स्थापित कैसे करें )
  • डिफ़ॉल्ट कोड केवल कॉन्फ़िगरेशन फ़ाइल में लिखे गए समूह और चैनल संदेशों को अनुक्रमित कर सकता है, निश्चित रूप से आप मैन्युअल रूप से कोड को संशोधित कर सकते हैं

परिनियोजन पूर्वापेक्षाएँ और आवश्यकताएँ

  • एक AI जिसका उपयोग किया जा सकता है, जैसे Google Gemini, OpenAI, आदि।
  • Node.js: 20.0 या उच्चतर
  • RAM: कम से कम 100 MB
  • अंतर्राष्ट्रीय इंटरनेट तक पहुंचने में सक्षम नेटवर्क

यह ट्यूटोरियल पूरी तरह से मुफ़्त Google Gemini का उपयोग करता है, ऑनलाइन API स्थानीय कंप्यूटिंग संसाधनों का उपयोग नहीं करता है। आवेदन परिचय: Gemini API KEY के लिए आवेदन करें और इसका उपयोग करें

मैं इसे लिनक्स amd64 अंतर्राष्ट्रीय सर्वर पर तैनात कर रहा हूँ, डॉकर का उपयोग नहीं कर रहा हूँ, अन्य ऑपरेटिंग सिस्टम वातावरण केवल संदर्भ के लिए हैं

इस ट्यूटोरियल के अनुसार संचालित होने पर, कृपया आधिकारिक दस्तावेज़ों के साथ तुलना करने पर ध्यान दें।

जल्दी शुरू

आधिकारिक दस्तावेज़ों के अनुसार, Telegram Search का उपयोग करने की मूल प्रक्रिया इस प्रकार है:

  1. इंस्टॉल और कॉन्फ़िगर करें: एप्लिकेशन इंस्टॉल करें और आवश्यक API कॉन्फ़िगर करें
  2. Telegram खाते से कनेक्ट करें: अपने Telegram खाते में लॉग इन करें
  3. चैट इतिहास सिंक्रनाइज़ करें: खोज के लिए आवश्यक चैट इतिहास का चयन करें और सिंक्रनाइज़ करें
  4. खोज शुरू करें: संदेशों को खोजने के लिए सिमेंटिक खोज सुविधा का उपयोग करें

इंस्टॉल और कॉन्फ़िगर करें

Node.js इंस्टॉल करें

इंस्टॉल करने के लिए दस्तावेज़ देखने के लिए Node.js आधिकारिक वेबसाइट पर जाएँ। नवीनतम LTS संस्करण का उपयोग करने की अनुशंसा की जाती है, इंस्टॉल होने के बाद संस्करण की पुष्टि करने के लिए निम्नलिखित दो कमांड का उपयोग करें:

node -v
v22.16.0

npm --version
10.9.2

चूंकि परियोजना pnpm का उपयोग करती है, इसलिए इसे इंस्टॉल करें। आधिकारिक दस्तावेज़: इंस्टॉलेशन | pnpm , वर्तमान वास्तविक कमांड:

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

निर्देशों के अनुसार

source /home/opc/.bashrc

PostgreSQL डेटाबेस और प्लगइन pgvector इंस्टॉल करें

PostgreSQL और प्लगइन pgvector इंस्टॉल करना सुनिश्चित करें। ध्यान दें कि इस अनुभाग की सामग्री अधूरी हो सकती है

ध्यान दें कि CentOS जैसे redhat सिस्टम इन इंस्टॉलेशन कमांड का उपयोग करते हैं। संचालन करते समय, कृपया अन्य ऑनलाइन लेखों और AI सुझावों को संदर्भित करना सुनिश्चित करें।

आधिकारिक 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 इंस्टॉल किया था, इसलिए विशिष्ट कमांड अनिश्चित हैं। अब

YUM स्रोत में pgvector से संबंधित उपलब्ध पैकेजों की खोज करें

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 'आपका डेटाबेस पासवर्ड';

स्थानीय होस्ट के माध्यम से postgres उपयोगकर्ता के रूप में PostgreSQL से कनेक्ट करें और पासवर्ड दर्ज करने के लिए संकेत दें।

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, कमिट: c60ac6416dcac6543d2623c49179681ed859e26f, बस यह सुनिश्चित कर सकते हैं कि कोड चल सकता है और कोई त्रुटि नहीं है। यदि आपका कोड नहीं चल सकता है, तो कृपया इस कमिट के बाद आधिकारिक परियोजना में किए गए परिवर्तनों को वापस करने का प्रयास करें।

यदि आप जिस API का उपयोग कर रहे हैं उसमें दर सीमाएँ नहीं हैं, तो आप सीधे आधिकारिक रिपॉजिटरी का उपयोग कर सकते हैं

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

कॉन्फ़िगरेशन फ़ाइल config\config.example.yaml को उसी निर्देशिका config\config.yaml फ़ाइल में कॉपी करें।

निम्नलिखित प्रारूप के अनुसार कॉन्फ़िगरेशन फ़ाइल को सीधे संशोधित करें, शेष भाग को डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल विवरण के अनुसार संशोधित करें।

टेलीग्राम एपीआई आवेदन के लिए अच्छी गुणवत्ता वाले आईपी की आवश्यकता होती है, यदि आप आवेदन नहीं कर सकते हैं तो लेखक का उपयोग करें, इसे संशोधित करने की आवश्यकता नहीं है। यह तीसरे पक्ष के क्लाइंट के लिए है, टेलीग्राम रोबोट के लिए नहीं।

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 KEY>
    # 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 पर जाएँ

यदि यह एक दूरस्थ उपकरण है, तो केवल फ्रंट-एंड पोर्ट को एक्सेस के लिए खोलना होगा। लेकिन इसे सीधे सार्वजनिक नेटवर्क पर उजागर नहीं किया जा सकता है, अन्यथा कोई भी आपके टेलीग्राम खाते को संचालित कर सकता है। आपको स्वयं एक्सेस अधिकारों को कॉन्फ़िगर करने की आवश्यकता है, और कई समाधान हैं।

इसके अलावा, डोमेन नाम एक्सेस के लिए, आपको 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