groupultra telegram-search je novi alat za pretraživanje povijesti razgovora korisnika Telegrama.
Neke preporuke:
- Telegram robot za upravljanje grupama @CSUBOT: može slati privatne poruke novim korisnicima i slati CloudFlare verifikacijski kod kako bi se provjerilo jesu li korisnici koji se žele pridružiti grupi stvarni ljudi. Neće ometati ostale članove grupe.
- Provjerite javnu IP adresu vašeg uređaja pri pristupanju različitim web stranicama, što može otkriti konfiguraciju preusmjeravanja proxyja kako bi se izbjeglo blokiranje od strane AI alata. Možete vidjeti IP adresu koja se koristi za pristup kineskim web stranicama, međunarodno poznatim AI web stranicama, blokiranim međunarodnim web stranicama i dopuštenim međunarodnim web stranicama
Značajke projekta
Prema službenoj dokumentaciji, Telegram Search nudi sljedeće ključne funkcije:
- Semantičko pretraživanje: Ne samo da može pretraživati ključne riječi, već i razumjeti kontekst i značenje poruka
- Vektorsko podudaranje: Temeljeno na OpenAI-ovoj tehnologiji ugradnje vektora, ostvaruje pretraživanje sličnosti
- Učinkovito pretraživanje: Preciznije i inteligentnije iskustvo pretraživanja od Telegramovog izvornog pretraživanja
- Podrška za više platformi: Pruža web sučelje i desktop aplikaciju
Odvraćanje
Prvo, navest ću neke sadržaje koji se znatno razlikuju od očekivanja korisnika, kao i neke postojeće probleme, kako bih odvratio dio korisnika kojima ovaj projekt nije prikladan. Također ću dati preporuke za korištenje drugih zrelih projekata.
Razlika između ovog projekta i drugih tradicionalnih projekata koji ne koriste umjetnu inteligenciju je u semantičkom pretraživanju (ne samo da može pretraživati ključne riječi, već i razumjeti kontekst i značenje poruka). Međutim, trenutno sam isprobao nekoliko upita i, bez obzira je li odabrana opcija “Pretraži sadržaj” u okviru za pretraživanje, uglavnom nije moguće pretraživati pitanjima (samo jedna rečenica radi); nije moguće pretraživati sinonime. Mogu se pronaći samo poruke čiji rezultati i upit dijele zajedničke riječi. Nisam siguran je li problem u modelu ugradnje.
Često korištene naredbe za pokretanje implementacije front-enda i back-enda zahtijevaju kompilaciju, što znači da korisnici koji su navikli na programske jezike koje ne zahtijevaju prekompilaciju i programske jezike s brzim vremenom kompilacije moraju duže čekati na ovaj projekt.
Kada otvorite front-end i koristite ga, a zatim ga nakon nekog vremena osvježite, front-end će prikazati prazan zaslon, kao što je prikazano u nastavku. Svaki put ga je potrebno ponovno pokrenuti pomoću pnpm run dev:frontend
i pričekati kompilaciju. Implementacija na poslužitelju zahtijeva da se prije svake upotrebe ili svakog upita spajate na poslužitelj i kompilirate, što je doista problematično.

Ukratko, groupultra telegram-search, kao projekt za pretraživanje povijesnih poruka Telegrama, trenutno nije toliko dobar za korištenje kao drugi zreli tradicionalni projekti. Ostali preporučeni projekti:
落絮 lilydjwg/luoxu: A Telegram userbot to index Chinese and Japanese group contents. — Telegram korisnički bot za indeksiranje kineskog i japanskog sadržaja grupe. , razvijen od strane Yiyun iz zajednice archlinux cn, projekt stabilno radi dugi niz godina, pogledajte stvarne rezultate: Javno dostupna web stranica za pretraživanje zapisa poruka grupe . Značajke projekta:
- Projekt uglavnom koristi python i ne zahtijeva čekanje na kompilaciju. Iako neke komponente zahtijevaju kompilaciju, potrebno ih je kompilirati samo jednom
- Traženi niz ne razlikuje pojednostavljene i tradicionalne znakove (automatski će se pretvoriti pomoću OpenCC)
- Traženi niz podržava neku sintaksu pretraživanja
- Za rad je potrebno manje resursa nego groupultra/telegram-search
Luoxu problemi:
- Instalacija i implementacija mogu biti malo teže od projekta groupultra/telegram-search. (To je usporedba moje stvarne implementacije dvaju projekata. Budući da sam implementirao luoxu na Linux arm32 sustavu, sve ovisnosti za moju implementaciju luoxua potpuno su kompilirane i instalirane, uključujući PostgreSQL: Linux kompilacija i instalacija PostgreSQL 17.4)
- Zadani kod može indeksirati samo poruke grupa i kanala navedene u konfiguracijskoj datoteci, naravno, možete ručno promijeniti kod
Preduvjeti i zahtjevi za implementaciju
- Umjetna inteligencija koja se može koristiti, kao što su Google Gemini, OpenAI itd.
- Node.js: verzija 20.0 ili novija
- RAM: najmanje 100 MB
- Mogućnost pristupa međunarodnom internetu
Ovaj vodič koristi potpuno besplatni Google Gemini, online API koji ne zauzima lokalne računalne resurse. Uvod u prijavu: Prijava i korištenje Gemini API ključa
Osobno sam ga implementirao na Linux amd64 međunarodnom poslužitelju, nisam koristio Docker, ostala okruženja operativnih sustava služe samo kao referenca
Prilikom izvođenja koraka u ovom vodiču, obratite pozornost na usporedbu sa službenom dokumentacijom.
Brzi početak
Prema službenoj dokumentaciji, osnovni postupak korištenja Telegram Searcha je sljedeći:
- Instalacija i konfiguracija: Instalirajte aplikaciju i konfigurirajte potrebne API-je
- Povezivanje Telegram računa: Prijavite se na svoj Telegram račun
- Sinkronizacija povijesti razgovora: Odaberite povijest razgovora koju želite pretraživati i sinkronizirajte je
- Započnite pretraživanje: Koristite funkciju semantičkog pretraživanja za pronalaženje poruka
Instalacija i konfiguracija
Instalacija Node.js
Posjetite službenu web stranicu Node.js da biste pregledali dokumentaciju i izvršili instalaciju. Preporučuje se korištenje najnovije LTS verzije, a nakon instalacije koristite sljedeće dvije naredbe za potvrdu verzije:
node -v
v22.16.0
npm --version
10.9.2
Budući da projekt koristi pnpm, izvršite instalaciju. Službena dokumentacija: Installation | pnpm , trenutna stvarna naredba:
curl -fsSL https://get.pnpm.io/install.sh | sh -
Prema uputama
source /home/opc/.bashrc
Instalacija PostgreSQL baze podataka i pgvector dodatka
Imajte na umu da morate instalirati PostgreSQL i pgvector dodatak. Imajte na umu da ovaj odjeljak možda nije potpun
Imajte na umu da CentOS i drugi redhat sustavi koriste ove naredbe za instalaciju. Prilikom izvođenja operacija obavezno se pozovite na druge članke na internetu i preporuke umjetne inteligencije.
Instalirajte PostgreSQL službeni YUM paket za konfiguraciju repozitorija
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Odabrao sam verziju 13, možete odabrati noviju verziju. Budući da sam prethodno instalirao PostgreSQL 13, nisam siguran za točne naredbe. Sada
Potražite dostupne pakete povezane s pgvector
u YUM izvoru
sudo yum search pgvector
Instaliraj
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
Inicijalizirajte direktorij podataka PostgreSQL 13 (mora se izvršiti nakon prve instalacije).
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
Ponovno pokrenite uslugu PostgreSQL 13 da biste primijenili promjene.
sudo systemctl restart postgresql-13
Prebacite se na korisnika administratora baze podataka postgres
.
sudo -i -u postgres
Pokrenite PostgreSQL klijent naredbenog retka.
psql
Postavite lozinku za korisnika postgres
.
ALTER USER postgres WITH PASSWORD 'Vaša lozinka baze podataka';
Povežite se s PostgreSQL kao korisnik postgres
putem lokalnog hosta i unesite lozinku.
psql -U postgres -h localhost --password
Izađite iz psql
exit
Zatim se vratite izvornom korisniku sustava,
exit
Pokušajte ući u bazu podataka
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
Konfiguriranje projekta i pokretanje
Budući da Google Gemini API ima ograničenje brzine, napravio sam malu izmjenu:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
Imajte na umu da sam trenutnu granu stopa izmijenio u potpunosti na web stranici Githuba, nisam izvršio nikakva lokalna testiranja.
Modifikacija ograničenja brzine koja se može uspješno pokrenuti na mom uređaju temelji se na ovom izdanju: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, i samo osigurava da se kod može pokrenuti bez pogrešaka. Ako se vaš kod ne može pokrenuti, pokušajte vratiti izmjene službenog projekta nakon ovog commita.
Ako vaš API nema ograničenje brzine, možete izravno koristiti službeni repozitorij
git clone https://github.com/groupultra/telegram-search.git
Kopirajte konfiguracijsku datoteku config\config.example.yaml
u istu datoteku direktorija config\config.yaml
.
Izravno modificirajte konfiguracijsku datoteku prema sljedećem formatu, a ostale dijelove modificirajte prema zadanim uputama konfiguracijske datoteke.
Prijava za telegram api zahtijeva kvalitetnu ip adresu, ako se ne možete prijaviti, koristite autorovu, ne morate je mijenjati. Ovo je za klijente trećih strana, a ne za telegram robote.
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: 'Vaša lozinka baze podataka'
database: tg_1
api:
embedding:
# Embedding provider (openai or ollama) # Ovdje nemojte mijenjati u Gemini
provider: openai
# Embedding model
model: models/text-embedding-004
# gemini-embedding-exp-03-07
# API key for provider
apiKey: <Gemini API KLJUČ koji ste dobili>
# Gemini embedding-001 zadano ispisuje 3072 dimenzije, ne mogu se prilagoditi dimenzije
dimension: 768
# Optional, for custom API providers
apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Pokrenite back-end uslugu
pnpm run dev:server
# Pokrenite front-end sučelje u drugom prozoru terminala
pnpm run dev:frontend
Provjerite može li se front-end uspješno posjetiti:
curl http://localhost:3333/
Ako je to vaš vlastiti uređaj, otvorite preglednik i posjetite http://localhost:3333
da biste koristili aplikaciju
Ako je to udaljeni uređaj, trebate samo otvoriti port front-enda za pristup. Ali ne možete ga izravno izložiti javno na javnoj mreži, inače bi svatko mogao manipulirati vašim telegram računom. Sami morate konfigurirati dozvole pristupa, postoji mnogo rješenja.
Osim toga, za pristup domeni, možda ćete morati izmijeniti apps\frontend\vite.config.ts
dodavanjem
allowedHosts: ['Domena kojoj pristupate']
Za ostali sadržaj, pogledajte službenu dokumentaciju.
Ostale verzije ove web stranice
Ovaj članak postoji u višejezičnim verzijama.
Ako želite ostaviti komentar, posjetite sljedeću web stranicu:
Ove web stranice podržavaju samo pregledavanje i ne dopuštaju ostavljanje komentara ili poruka, ali nude više jezičnih opcija i brže se učitavaju:
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