groupultra telegram-search on uusi Telegram-käyttäjien chattihistorian hakutyökalu.

Joitakin suosituksia:

  • Telegram-ryhmän hallintabotti @CSUBOT: Voi lähettää yksityisviestejä uusille käyttäjille ja lähettää CloudFlaren verkkosivun vahvistuskoodin ryhmään pääsyvalvonnan suorittamiseksi, jolla varmistetaan, että ryhmään pyrkivät käyttäjät ovat todellisia ihmisiä. Ei häiritse muita ryhmän jäseniä.
  • Tarkista nykyisen koneen julkinen IP-osoite, kun käytät eri verkkosivustoja, jolla voit havaita välityspalvelimen jakokokoonpanon ja välttää AI-työkalujen tilin eston. Voi tarkistaa käyttäjän IP-osoitteen, kun hän käyttää kiinalaisia verkkosivustoja, kansainvälisesti tunnettuja AI-verkkosivustoja, estettyjä kansainvälisiä verkkosivustoja ja sallittuja kansainvälisiä verkkosivustoja.

Projektin ominaisuudet

Virallisen dokumentaation mukaan Telegram Search tarjoaa seuraavat ydintoiminnot:

  • Semanttinen haku: Voi hakea paitsi avainsanoja, myös ymmärtää viestin kontekstin ja merkityksen
  • Vektorien täsmäytys: Perustuu OpenAI:n upotusvektoriteknologiaan samankaltaisuushakujen toteuttamiseksi
  • Tehokas haku: Tarkempi ja älykkäämpi hakukokemus kuin Telegramin natiivihaku
  • Monialustatuki: Tarjoaa verkkokäyttöliittymän ja työpöytäsovelluksen

Epäsuositus

Ensinnäkin luetteloidaan joitain käyttäjien odotusten vastaisia asioita sekä joitain olemassa olevia ongelmia, jotta osa käyttäjistä, joille tämä projekti ei sovi, poistettaisiin. Ja annetaan ehdotuksia muiden kypsien projektien käytöstä.

Tämän projektin ja muiden AI:ta käyttämättömien perinteisten projektien ero on semanttinen haku (ei vain avainsanojen hakeminen, vaan myös viestien kontekstin ja merkityksen ymmärtäminen). Tällä hetkellä kuitenkin useat kokeiluyritykseni, riippumatta siitä, onko hakukentän asetus “Hae sisältöä” valittu, eivät pääsääntöisesti pysty hakemaan kysymyksillä (vain yksi lause onnistui); synonyymihakua ei voi tehdä. Vain tuloksia ja hakua vastaavia viestejä voidaan hakea. En ole varma, onko kyse upotusmallin ongelmasta.

Usein käytettävät frontendin ja backendin käyttöönottokomennot vaativat kääntämisen, mikä on joillekin käyttäjille, jotka ovat tottuneet kieliin, joita ei tarvitse kääntää etukäteen, ja käyttäjille, jotka ovat tottuneet nopeaan kääntämiseen, odotusaika tälle projektille melko pitkä.

Kun frontend avataan käyttöön ja sitten päivitetään jonkin ajan kuluttua, frontendissä näkyy valkoinen näyttö, kuten alla. Joka kerta on käynnistettävä uudelleen, pnpm run dev:frontend, ja odotettava kääntämistä. Kun se otetaan käyttöön palvelimella, on todellakin hankalaa, että joka kerta kun sitä käytetään tai ennen jokaista kyselyä, on muodostettava yhteys palvelimeen ja käännettävä se uudelleen.

groupultra/telegram-search Projektin frontendin valkoisen näytön ongelma

Yhteenvetona edellä mainitut ongelmat tarkoittavat, että groupultra telegram-search Telegram-historiaviestien hakuhankkeena ei ole yhtä hyvä kuin muut kypsät perinteiset hankkeet. Muut hankkeet suositellaan:

落絮 lilydjwg/luoxu: Telegram-käyttäjäbotti kiinalaisten ja japanilaisten ryhmien sisällön indeksointiin. — Telegram-käyttäjäbotti kiinalaisten ja japanilaisten ryhmien sisällön indeksointiin. , jonka on kehittänyt archlinux cn -yhteisön Yiyun, ja projekti on toiminut vakaasti useita vuosia. Katso todellinen vaikutus: Julkiset ryhmäviestien hakusivut . Projektin ominaisuudet:

  • Projekti käyttää pääosin Pythonia, eikä kääntämistä tarvitse odottaa. Vaikka jotkin komponentit on käännettävä, se tarvitsee tehdä vain kerran
  • Hakumerkkijono ei erota yksinkertaistettua ja perinteistä kiinaa (käyttää OpenCC:tä automaattiseen muuntamiseen)
  • Hakumerkkijono tukee joitain hakusyntakseja
  • Toiminnassa oleva kulutus on hieman pienempi kuin groupultra/telegram-search

Luoxun ongelmat:

  • Asennus ja käyttöönotto voivat olla hieman hankalampia kuin groupultra/telegram-search -projekti. (On kahden projektin todellinen vertailu. Koska otan Luoxun käyttöön Linux arm32 -järjestelmässä, otan Luoxun käyttöön kaikkine riippuvuuksineen täysin käännettynä, mukaan lukien PostgreSQL: Linuxissa PostgreSQL 17.4:n kääntäminen ja asentaminen)
  • Oletuskoodi voi indeksoida vain määritystiedostoon kirjoitettuja ryhmien ja kanavien viestejä, tietysti voit muuttaa koodia manuaalisesti

Käyttöönoton edellytykset ja vaatimukset

  • Käytettävissä oleva tekoäly, kuten Google Gemini, OpenAI jne.
  • Node.js: versio 20.0 tai uudempi
  • RAM: vähintään 100 Mt
  • Kyky käyttää kansainvälistä Internetiä

Tässä opetusohjelmassa käytetään täysin ilmaista Google Geminiä, online-sovellusliittymä ei kuluta paikallisia laskentaresursseja. Esittelyhakemus: Gemini API KEY -hakemuksen hankkiminen ja käyttö

Olen ottanut sen käyttöön Linux amd64 -kansainvälisellä palvelimella ilman Dockerin käyttöä, muut käyttöjärjestelmäympäristöt ovat vain viitteellisiä

Noudata tätä opetusohjelmaa ja huomaa vertailla sitä viralliseen dokumentaatioon.

Pikaopas

Virallisen dokumentaation mukaan Telegram Searchin perusprosessi on seuraava:

  1. Asennus ja määritys: Asenna sovellus ja määritä tarvittavat sovellusliittymät
  2. Telegram-tilin yhdistäminen: Kirjaudu sisään Telegram-tilillesi
  3. Synkronoi chattihistoria: Valitse haettava chattihistoria synkronoimiseksi
  4. Aloita haku: Etsi viestejä semanttisella hakutoiminnolla

Asennus ja määritys

Node.js:n asentaminen

Käy Node.js:n virallisella verkkosivustolla ja katso dokumentaatiota asennusta varten. On suositeltavaa käyttää uusinta LTS-versiota, ja suorita asennuksen jälkeen seuraavat kaksi komentoa version vahvistamiseksi:

node -v
v22.16.0

npm --version
10.9.2

Koska projekti käyttää pnpm:ää, asenna se. Virallinen dokumentaatio: Asennus | pnpm , nykyinen todellinen komento:

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

Ohjeiden mukaan

source /home/opc/.bashrc

PostgreSQL-tietokannan ja pgvector-lisäosan asentaminen

Huomaa, että PostgreSQL ja pgvector-lisäosa on asennettava. Huomaa, että tämä osa voi olla puutteellinen

Huomaa, että CentOS:n kaltaiset redhat-järjestelmät käyttävät näitä asennuskomentoja. Käytön aikana muista viitata muihin online-artikkeleihin ja tekoälyehdotuksiin.

Asenna PostgreSQL:n virallinen YUM-tietovaraston kokoonpanopaketti

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

Valitse versio 13, voit valita uudemman version. Koska PostgreSQL 13 on asennettu aiemmin, tarkka komento ei ole varma. Nyt

Hae YUM-lähteestä pgvectoriin liittyviä käytettävissä olevia paketteja

sudo yum search pgvector

Asenna

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

Alusta PostgreSQL 13 -datahakemisto (on suoritettava ensimmäisen asennuksen jälkeen).

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

Käynnistä PostgreSQL 13 -palvelu uudelleen, jotta muutokset tulevat voimaan.

sudo systemctl restart postgresql-13

Vaihda postgres-tietokannan pääkäyttäjäksi.

sudo -i -u postgres

Käynnistä PostgreSQL-komentoriviasiakas.

psql

Aseta postgres-käyttäjän salasana.

ALTER USER postgres WITH PASSWORD 'Salasanasi';

Yhdistä PostgreSQL:ään postgres-käyttäjänä paikallisen isännän kautta ja anna salasana.

psql -U postgres -h localhost --password

Poistu psql:stä

exit

Palaa sitten alkuperäiselle järjestelmäkäyttäjälle,

exit

Yritä päästä tietokantaan

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

Projektin määrittäminen ja käynnistäminen

Koska Google Gemini API:lla on nopeusrajoitus, tein pienen muutoksen:

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

Huomaa, että nykyinen rate branch -haara on kokonaan muokattu Github-verkkosivulla, eikä paikallista testausta ole suoritettu.

Nopeusrajoitusmuutos, joka toimii onnistuneesti koneellani, perustuu tähän versioon: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, joka varmistaa vain, että koodi toimii ilman virheitä. Jos koodisi ei toimi, yritä palauttaa virallisen projektin muutos tämän commitin jälkeen.

Jos käyttämälläsi API:lla ei ole nopeusrajoitusta, voit käyttää suoraan virallista arkistoa

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

Kopioi määritystiedosto config\config.example.yaml samaan hakemistoon config\config.yaml-tiedostona.

Muokkaa määritystiedostoa suoraan seuraavan muodon mukaisesti ja viittaa muihin osiin oletusmääritystiedoston ohjeisiin.

Telegram API -sovellus vaatii laadukkaan IP-osoitteen, jos et voi hakea sitä, käytä tekijän osoitetta ilman muokkauksia. Tätä käytetään kolmannen osapuolen asiakkaille, ei Telegram-boteille.

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

api:
  embedding:
    # Embedding provider (openai or ollama) # Älä muuta tätä Geminiksi
    provider: openai
    # Embedding model
    model: models/text-embedding-004
    # gemini-embedding-exp-03-07
    # API key for provider
    apiKey: <Hankkimasi Gemini API KEY>
    # Gemini embedding-001 oletustuloste on 3072-ulotteinen, ulottuvuutta ei voi mukauttaa
    dimension: 768
    # Optional, for custom API providers
    apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Käynnistä backend-palvelu
pnpm run dev:server

# Käynnistä frontend-liittymä toisessa pääteikkunassa
pnpm run dev:frontend

Tarkista, voiko frontendin käyttää onnistuneesti:

curl http://localhost:3333/

Jos se on paikallinen kone, avaa selain ja käytä sovellusta osoitteessa http://localhost:3333

Jos kyseessä on etälaite, avaa vain frontendin portti pääsyä varten. Mutta älä voi paljastaa sitä suoraan julkisessa verkossa, muuten kuka tahansa voi manipuloida Telegram-tiliäsi. Sinun on määritettävä pääsyoikeudet itse, ja ratkaisuja on monia.

Lisäksi verkkotunnusyhteyden saamiseksi voi olla tarpeen muokata apps\frontend\vite.config.ts -tiedostoa lisäämällä

 allowedHosts: ['Käyttämäsi verkkotunnus']

Katso muuta sisältöä virallisesta dokumentaatiosta.

Muut versiot tästä verkkosivusta

Tästä artikkelista on saatavilla useita kieliversioita.

Jos haluat kommentoida, käy seuraavilla verkkosivuilla:

ZH EN ZH-TW JA

Nämä verkkosivut tukevat vain selaamista, niihin ei voi kommentoida tai jättää viestejä, mutta ne tarjoavat enemmän kielivaihtoehtoja ja latausajat ovat lyhyemmät:

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