groupultra telegram-search er et nytt verktøy for å søke i chathistorikken til telegram-brukere.

Noen anbefalinger:

  • Telegram-gruppeadministrasjonsrobot @CSUBOT: Kan sende private meldinger til nye brukere og sende CloudFlare-nettstedverifiseringskoder for å utføre gruppegodkjenning, for å verifisere om brukeren som søker om å bli med i gruppen er et ekte menneske. Vil ikke forstyrre andre gruppemedlemmer.
  • Sjekk den offentlige IP-en til denne maskinen når du besøker forskjellige nettsteder, du kan oppdage proxy-distribusjonskonfigurasjoner og unngå å bli blokkert av AI-verktøy. Du kan se IP-en som brukes av brukere som besøker kinesiske nettsteder, internasjonalt kjente AI-nettsteder og blokkerte internasjonale nettsteder, og tilgjengelige internasjonale nettsteder.

Prosjektfunksjoner

I følge den offisielle dokumentasjonen tilbyr Telegram Search følgende kjernefunksjoner:

  • Semantisk søk: Ikke bare kan du søke etter nøkkelord, men også forstå konteksten og betydningen av meldingen
  • Vektormatching: Basert på OpenAI sin innebyggingsteknologi for å realisere likhetssøk
  • Effektiv henting: Mer presis og intelligent hentingsopplevelse enn Telegram sitt originale søk
  • Støtte for flere plattformer: Tilbyr webgrensesnitt og skrivebordsprogram

Fraråding

Først av alt, list opp noe innhold som er veldig forskjellig fra brukernes forventninger, og noen problemer som finnes, for å fraråde noen brukere som ikke passer for dette prosjektet. Og gi forslag om å bruke andre modne prosjekter.

Forskjellen mellom dette prosjektet og andre tradisjonelle prosjekter som ikke bruker AI er semantisk søk (ikke bare kan du søke etter nøkkelord, men også forstå konteksten og betydningen av meldingen). Men for øyeblikket har jeg prøvd flere spørringer, uavhengig av om søkeboksen “Søk innhold” er merket av eller ikke, kan i utgangspunktet ikke spørringer søkes med spørsmål (bare én setning kan brukes); synonymspørringer er ikke mulig. Bare meldinger som har ord til felles med spørringen kan spørres. Er usikker på om det er et problem med embedding-modellen.

Kommandoene for å kjøre front-end og back-end som ofte må brukes, må kompileres. For brukere som er vant til programmeringsspråk som ikke trenger å kompileres på forhånd og brukere som er vant til rask kompileringshastighet, er ventetiden for dette prosjektet litt lang.

Når du åpner front-enden for bruk, og deretter oppdaterer den etter en stund, vil front-enden vise en hvit skjerm, som vist nedenfor. Hver gang må du starte på nytt, pnpm run dev:frontend, må vente på kompilering. Det er virkelig tungvint å distribuere den på en server og måtte koble til serveren og kompilere den hver gang før bruk, eller rettere sagt, før hver spørring.

groupultra/telegram-search prosjekt front-end hvit skjerm problem

Oppsummert er problemet at groupultra telegram-search, som et prosjekt for å søke i telegrams historiske meldinger, for øyeblikket ikke er like brukervennlig som andre modne tradisjonelle prosjekter. Andre prosjekter anbefales:

落絮 lilydjwg/luoxu:一个用于索引中文和日文群组内容的 Telegram 用户机器人。 — A Telegram userbot to index Chinese and Japanese group contents. , utviklet av Yiyun fra archlinux cn-fellesskapet, prosjektet har kjørt stabilt i mange år, sjekk den faktiske effekten: Offentlig nettside for søk i gruppemeldingslogg . Prosjektfunksjoner:

  • Prosjektet bruker hovedsakelig python og trenger ikke å vente på kompilering. Selv om det er komponenter som må kompileres, trenger de bare å kompileres én gang
  • Søkestrenger skiller ikke mellom forenklet og tradisjonell (vil automatisk konvertere med OpenCC)
  • Søkestrenger støtter noe søkesyntaks
  • Å kjøre det bruker litt mindre ressurser enn groupultra/telegram-search

Luoxu sine problemer:

  • Installasjon og distribusjon kan være litt mer tungvint enn groupultra/telegram-search-prosjektet. (Er en sammenligning av mine faktiske distribusjoner av to prosjekter. Siden jeg distribuerte luoxu på et Linux arm32-system, er alle avhengighetene jeg distribuerte luoxu med fullstendig kompilert og installert, inkludert PostgreSQL: Linux kompilere og installere PostgreSQL 17.4)
  • Standardkoden kan bare indeksere gruppe- og kanalmeldinger som er skrevet i konfigurasjonsfilen, selvfølgelig kan du endre koden manuelt

Distribusjonsforutsetninger og krav

  • AI som kan brukes, som Google Gemini, OpenAI osv.
  • Node.js: 20.0 eller høyere
  • RAM: Minst 100 MB
  • Et nettverk som kan få tilgang til det internasjonale internett

Denne opplæringen bruker den helt gratis Google Gemini, online API tar ikke opp lokale databehandlingsressurser. Søknadsintroduksjon: Gemini API KEY søknad og bruk

Jeg distribuerte den på en Linux amd64 internasjonal server, uten å bruke Docker, andre operativsystemmiljøer er kun for referanse

Når du opererer i henhold til denne opplæringen, vær oppmerksom på å sammenligne den offisielle dokumentasjonen.

Rask start

I følge den offisielle dokumentasjonen er den grunnleggende prosessen for bruk av Telegram Search som følger:

  1. Installer og konfigurer: Installer applikasjonen og konfigurer de nødvendige API-ene
  2. Koble til Telegram-konto: Logg på din Telegram-konto
  3. Synkroniser chathistorikk: Velg chathistorikken du vil søke i for å synkronisere
  4. Start søk: Bruk den semantiske søkefunksjonen for å finne meldinger

Installer og konfigurer

Installer Node.js

Besøk Node.js offisielle nettsted for å se dokumentasjonen og installere. Det anbefales å bruke den nyeste LTS-versjonen, bruk følgende to kommandoer for å bekrefte versjonen etter installasjonen:

node -v
v22.16.0

npm --version
10.9.2

Siden prosjektet bruker pnpm, installer det. Offisiell dokumentasjon: Installation | pnpm , gjeldende faktiske kommando:

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

I henhold til meldingen

source /home/opc/.bashrc

Installer PostgreSQL-databasen og pgvector-plugin

Merk at du må installere PostgreSQL og pgvector-plugin. Merk at innholdet i denne delen kan være ufullstendig

Merk at CentOS og andre redhat-systemer bruker disse installasjonskommandoene. Når du opererer, må du referere til andre artikler på Internett og AI-råd.

Installer den offisielle YUM-lagerkonfigurasjonspakken for PostgreSQL

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

Versjonen jeg valgte er 13, du kan velge en nyere versjon. Fordi jeg har installert PostgreSQL 13 før, er den spesifikke kommandoen usikker. Nå

Søk i YUM-kilden etter tilgjengelige pakker relatert til pgvector

sudo yum search pgvector

Installere

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

Initialiser PostgreSQL 13 datakatalog (må utføres etter første installasjon).

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

Start PostgreSQL 13-tjenesten på nytt for å ta endringene i bruk.

sudo systemctl restart postgresql-13

Bytt til postgres databaseadministratorbrukeren.

sudo -i -u postgres

Start PostgreSQL-kommandolinjeklienten.

psql

Angi passordet for postgres-brukeren.

ALTER USER postgres WITH PASSWORD 'Ditt databasepassord';

Koble til PostgreSQL som postgres-bruker via localhost, og bli bedt om å skrive inn passordet.

psql -U postgres -h localhost --password

Avslutt psql

exit

Gå deretter tilbake til den opprinnelige systembrukeren,

exit

Prøv å gå inn i databasen

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

Konfigurer prosjektet og start det

Siden Google Gemini API har en hastighetsbegrensning, har jeg gjort en liten endring:

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

Merk at denne rate branch-grenen for øyeblikket er endret helt på Github-nettstedet, og ingen lokale tester er utført.

Hastighetsbegrensningen som kan kjøres vellykket på min maskin er basert på denne utgivelsen: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, bare for å sikre at koden kan kjøre uten feil. Hvis koden din ikke kan kjøre, kan du prøve å tilbakestille endringene i det offisielle prosjektet etter denne commit.

Hvis API-en du bruker ikke har en hastighetsbegrensning, kan du bruke det offisielle lageret direkte

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

Kopier konfigurasjonsfilen config\config.example.yaml til filen config\config.yaml i samme katalog.

Referer til følgende format for å endre konfigurasjonsfilen direkte, og andre deler refererer til beskrivelsen i standardkonfigurasjonsfilen.

Telegram api søknad krever IP av god kvalitet, hvis du ikke kan søke den, bruk forfatterens, du trenger ikke å endre den. Dette er for tredjepartsklienter, ikke telegramroboter.

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: 'Ditt databasepassord'
  database: tg_1

api:
  embedding:
    # Embedding provider (openai or ollama) # Ikke endre dette til Gemini her
    provider: openai
    # Embedding model
    model: models/text-embedding-004
    # gemini-embedding-exp-03-07
    # API key for provider
    apiKey: <Gemini API KEY du har fått>
    # Gemini embedding-001 standardutgang er 3072 dimensjoner, du kan ikke tilpasse dimensjoner
    dimension: 768
    # Optional, for custom API providers
    apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Start backend-tjenesten
pnpm run dev:server

# Start frontend-grensesnittet i et annet terminalvindu
pnpm run dev:frontend

Sjekk om frontenden kan nås:

curl http://localhost:3333/

Hvis det er en lokal maskin, åpne nettleseren og gå til http://localhost:3333 for å bruke applikasjonen

Hvis det er en ekstern enhet, trenger du bare å åpne porten til frontenden for å få tilgang. Men den kan ikke eksponeres direkte på det offentlige nettverket for offentliggjøring, ellers kan hvem som helst manipulere telegramkontoen din. Du må konfigurere tilgangsrettigheter selv, det er mange løsninger.

I tillegg kan det hende at du må endre apps\frontend\vite.config.ts for domenetilgang, og legge til

 allowedHosts: ['Domenet du får tilgang til']

For annet innhold, se den offisielle dokumentasjonen.

Andre versjoner av denne nettsiden

Denne artikkelen finnes i flere språkversjoner.

Hvis du ønsker å legge igjen en kommentar, kan du besøke følgende nettsider:

ZH EN ZH-TW JA

Disse sidene støtter bare visning, og du kan ikke legge igjen kommentarer eller meldinger, men de gir flere språkalternativer og kortere lastetider:

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