groupultra telegram-search egy új eszköz a Telegram felhasználók csevegési előzményeinek kereséséhez.

Néhány ajánlás:

  • Telegram csoportkezelő robot @CSUBOT: Privát üzenetet küldhet az új felhasználóknak, és CloudFlare weboldal-ellenőrző kódot küldhet a csoportba való belépés jóváhagyásához, annak ellenőrzésére, hogy a csoportba jelentkező felhasználók valódi emberek-e. Nem zavarja a csoport többi tagját.
  • A gép nyilvános IP-címének lekérdezése különböző weboldalak eléréséhez, ami lehetővé teszi a proxy elosztás konfigurációjának ellenőrzését, elkerülve az AI eszközök általi kitiltást. Megtekintheti a felhasználók által használt IP-címet kínai weboldalak, nemzetközi ismert AI weboldalak, tiltott nemzetközi weboldalak és elérhető nemzetközi weboldalak eléréséhez.

Projekt jellemzői

A hivatalos dokumentáció szerint a Telegram Search a következő alapvető funkciókat kínálja:

  • Szemantikus keresés: Nem csak kulcsszavakat kereshet, hanem megérti az üzenetek kontextusát és jelentését is
  • Vektoregyeztetés: Az OpenAI beágyazási vektor technológiáján alapul, amely lehetővé teszi a hasonlósági keresést
  • Hatékony keresés: Pontosabb és intelligensebb keresési élmény, mint a Telegram natív keresése
  • Több platform támogatása: Webes felületet és asztali alkalmazást biztosít

Elrettentés

Először is felsorolok néhány olyan tartalmat, amely nagyban eltér a felhasználói elvárásoktól, valamint néhány létező problémát, elrettentve a projekt számára nem megfelelő felhasználók egy részét. Javaslatokat is adok más kiforrott projektek használatára.

A projekt és a nem AI-t használó hagyományos projektek közötti különbség a szemantikus keresésben rejlik (nem csak kulcsszavakat kereshet, hanem megérti az üzenetek kontextusát és jelentését is). Jelenleg azonban több lekérdezést is kipróbáltam, és függetlenül attól, hogy be van-e jelölve a keresőmező “Tartalom keresése” beállítás, szinte lehetetlen kérdéseket keresni (csak egy mondat lehetséges); nem lehet szinonimákat keresni. Csak olyan üzeneteket talál, amelyekben a keresés és az eredmény között van közös szó. Nem biztos, hogy az embedding modellel van-e probléma.

A gyakran használt frontend és backend telepítési és futtatási parancsoknak le kell fordítaniuk, ami egy kicsit hosszú várakozási időt jelent azoknak a felhasználóknak, akik hozzászoktak a fordítást nem igénylő programozási nyelvekhez és a gyors fordítási sebességhez.

A frontend megnyitása és használata után, majd egy idő után a frissítéskor a frontend üres képernyőt jelenít meg, ahogy az alább látható. Minden alkalommal újra kell indítani, pnpm run dev:frontend, és várni kell a fordításra. Szerverre telepítve minden használatkor, vagyis minden lekérdezés előtt újra kell fordítani a szerverhez való csatlakozást, ami valóban bosszantó.

groupultra/telegram-search projekt frontend üres képernyő problémája

A fenti problémák összefoglalva azt mutatják, hogy a groupultra telegram-search, mint a Telegram korábbi üzeneteinek keresésére szolgáló projekt, jelenleg nem olyan jó, mint más kiforrott hagyományos projektek. Egyéb ajánlott projektek:

落絮 lilydjwg/luoxu: Egy Telegram felhasználói robot kínai és japán csoporttartalmak indexelésére. — A Telegram userbot to index Chinese and Japanese group contents. , amelyet a archlinux cn közösség Yiyun fejlesztett ki. A projekt évek óta stabilan működik, megtekintheti a tényleges hatást: Nyilvános csoportüzenet-előzmények keresőoldala . A projekt jellemzői:

  • A projekt főként Pythont használ, nem kell várni a fordításra. Bár vannak olyan összetevők, amelyeket le kell fordítani, de csak egyszer kell lefordítani
  • A keresési karakterlánc nem különbözteti meg az egyszerűsített és a hagyományos kínai írásjegyeket (automatikusan átalakítja az OpenCC segítségével)
  • A keresési karakterlánc támogat néhány keresési szintaxist
  • A futtatáshoz kevesebb erőforrást használ, mint a groupultra/telegram-search

A Luoxu problémái:

  • A telepítés és üzembe helyezés talán bonyolultabb, mint a groupultra/telegram-search projekté. (Ez a két projekt tényleges telepítésének összehasonlítása. Mivel Linux arm32 rendszeren telepítem a luoxu-t, a luoxu összes függőségét teljesen forrásból telepítettem, beleértve a PostgreSQL-t is: Linux fordítás és telepítés PostgreSQL 17.4)
  • Az alapértelmezett kód csak a konfigurációs fájlban megadott csoportok és csatornák üzeneteit indexeli, természetesen manuálisan is módosíthatja a kódot

Üzembe helyezési feltételek és követelmények

  • Használható AI, mint például a Google Gemini, OpenAI stb.
  • Node.js: 20.0 vagy újabb verzió
  • RAM: Legalább 100 MB
  • Nemzetközi internet-hozzáféréssel rendelkező hálózat

Ez az útmutató a teljesen ingyenes Google Gemini-t használja, az online API nem foglal helyi számítási erőforrásokat. Jelentkezési útmutató: Gemini API KEY igénylése és használata

Én Linux amd64 nemzetközi szerverre telepítettem, nem használtam Dockert, más operációs rendszerek csak tájékoztató jellegűek.

Az útmutató alapján történő műveletekhez kérjük, hasonlítsa össze a hivatalos dokumentációval.

Gyors kezdés

A hivatalos dokumentáció szerint a Telegram Search alapvető munkafolyamata a következő:

  1. Telepítés és konfigurálás: Telepítse az alkalmazást, és konfigurálja a szükséges API-kat
  2. Telegram fiók összekapcsolása: Jelentkezzen be a Telegram fiókjába
  3. Csevegési előzmények szinkronizálása: Válassza ki a szinkronizálandó csevegési előzményeket
  4. Keresés indítása: Használja a szemantikus keresési funkciót az üzenetek megtalálásához

Telepítés és konfigurálás

Node.js telepítése

Látogasson el a Node.js hivatalos weboldalára a dokumentáció megtekintéséhez és a telepítéshez. Javasoljuk a legújabb LTS verzió használatát, a telepítés befejezése után a következő két paranccsal ellenőrizze a verziót:

node -v
v22.16.0

npm --version
10.9.2

Mivel a projekt a pnpm-et használja, ezért telepítse azt. Hivatalos dokumentáció: Installation | pnpm , aktuális tényleges parancs:

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

A prompt szerint

source /home/opc/.bashrc

PostgreSQL adatbázis és pgvector bővítmény telepítése

Ügyeljen arra, hogy telepítse a PostgreSQL-t és a pgvector bővítményt. Vegye figyelembe, hogy ez a szakasz hiányos lehet

Vegye figyelembe, hogy a CentOS és más redhat rendszerek ezeket a telepítési parancsokat használják. Művelet közben feltétlenül olvassa el az interneten található egyéb cikkeket és az AI javaslatait.

Telepítse a PostgreSQL hivatalos YUM tároló konfigurációs csomagját

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

Én a 13-as verziót választottam, de választhat frissebb verziót is. Mivel korábban telepítettem a PostgreSQL 13-at, a konkrét parancs nem biztos. Jelenleg

Keresse meg a YUM forrásban a pgvector-hoz kapcsolódó elérhető csomagokat

sudo yum search pgvector

Telepítés

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

Inicializálja a PostgreSQL 13 adatmappáját (az első telepítés után kötelező végrehajtani).

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

Indítsa újra a PostgreSQL 13 szolgáltatást a módosítások érvényesítéséhez.

sudo systemctl restart postgresql-13

Váltson a postgres adatbázis-adminisztrátor felhasználóra.

sudo -i -u postgres

Indítsa el a PostgreSQL parancssori klienst.

psql

Állítsa be a postgres felhasználó bejelentkezési jelszavát.

ALTER USER postgres WITH PASSWORD 'Az Ön adatbázis jelszava';

A postgres felhasználóként csatlakozzon a PostgreSQL-hez a helyi hoszton keresztül, és kérje a jelszó megadását.

psql -U postgres -h localhost --password

Lépjen ki a psql-ből

exit

Ezután térjen vissza a kezdeti rendszerfelhasználóhoz,

exit

Próbáljon meg belépni az adatbázisba

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

Projekt konfigurálása és indítása

Mivel a Google Gemini API sebességkorlátozással rendelkezik, ezért végeztem egy kis módosítást:

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

Vegye figyelembe, hogy ez a rate branch ág teljes egészében a Github weboldalán lett módosítva, helyben nem végeztem semmilyen tesztet.

Az én gépemen sikeresen futó sebességkorlátozás módosítás a release: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f verzión alapul, csak a kód futását biztosítja, hiba nélkül. Ha a kódja nem fut, próbálja meg visszaállítani ezt a commitot a hivatalos projekt módosításai után.

Ha az Ön által használt API nem rendelkezik sebességkorlátozással, akkor közvetlenül használhatja a hivatalos tárolót

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

Másolja át a config\config.example.yaml konfigurációs fájlt ugyanabba a config\config.yaml fájlba.

Módosítsa közvetlenül a konfigurációs fájlt az alábbi formátum szerint, a többi rész a konfigurációs fájl alapértelmezett leírása szerint módosítandó.

A Telegram API igényléséhez jó minőségű IP-címre van szükség, ha nem tudja igényelni, használja a szerző IP-címét, nem kell módosítani. Ez harmadik féltől származó klienshez való, nem Telegram robotokhoz.

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: 'Az Ön adatbázis jelszava'
  database: tg_1

api:
  embedding:
    # Embedding provider (openai or ollama) # Itt ne változtassa meg Gemini-re
    provider: openai
    # Embedding model
    model: models/text-embedding-004
    # gemini-embedding-exp-03-07
    # API key for provider
    apiKey: <Az Ön által beszerzett Gemini API kulcs>
    # Gemini embedding-001 alapértelmezett kimenete 3072 dimenziós, nem lehet egyéni dimenziót beállítani
    dimension: 768
    # Optional, for custom API providers
    apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Háttérszolgáltatás indítása
pnpm run dev:server

# Frontend felület indítása egy másik terminálablakban
pnpm run dev:frontend

Ellenőrizze, hogy a frontend sikeresen elérhető-e:

curl http://localhost:3333/

Ha helyi gépről van szó, egyszerűen nyissa meg a böngészőt, és látogasson el a http://localhost:3333 címre az alkalmazás használatához

Ha távoli eszközről van szó, csak nyissa meg a frontend portját a hozzáféréshez. Azonban nem szabad közvetlenül nyilvánosan kitenni a nyilvános hálózaton, különben bárki manipulálhatja a Telegram fiókját. Saját maga kell konfigurálnia a hozzáférési engedélyeket, erre sok megoldás létezik.

Ezenkívül a domain hozzáféréshez esetleg módosítani kell a apps\frontend\vite.config.ts fájlt, hozzáadva

 allowedHosts: ['Az Ön által elért domain']

Egyéb tartalmakért tekintse meg a hivatalos dokumentációt.

A weboldal egyéb verziói

Ez a cikk több nyelven is elérhető.

Ha megjegyzést szeretne fűzni, kérjük, látogasson el a következő weboldalakra:

ZH EN ZH-TW JA

Ezek a weboldalak csak megtekintésre szolgálnak, nem lehet megjegyzéseket vagy üzeneteket hagyni, de több nyelvi lehetőséget kínálnak, és rövidebb a betöltési idő:

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