groupultra telegram-search je nový nástroj pro vyhledávání historie chatu uživatelů Telegramu.

Některá doporučení:

  • Robot pro správu skupin Telegramu @CSUBOT : Může posílat soukromé zprávy novým uživatelům a odesílat ověřovací kódy webových stránek CloudFlare k provádění kontroly vstupu do skupiny, aby se ověřilo, zda jsou uživatelé, kteří žádají o vstup do skupiny, skuteční lidé. Nebude rušit ostatní členy skupiny.
  • Zkontrolujte veřejnou IP adresu vašeho počítače pro přístup k různým webům , můžete detekovat konfiguraci proxy serveru a vyhnout se zablokování nástrojem AI. Můžete zobrazit IP adresu používanou uživateli pro přístup na čínské webové stránky, mezinárodní známé webové stránky AI, zablokované mezinárodní webové stránky a povolené mezinárodní webové stránky.

Vlastnosti projektu

Podle oficiální dokumentace nabízí Telegram Search následující klíčové funkce:

  • Sémantické vyhledávání: Nejenže můžete vyhledávat klíčová slova, ale také porozumět kontextu a významu zpráv
  • Porovnávání vektorů: Na základě technologie vkládání vektorů OpenAI pro dosažení vyhledávání podobnosti
  • Efektivní vyhledávání: Přesnější a inteligentnější vyhledávání než nativní vyhledávání Telegramu
  • Podpora více platforem: Poskytuje webové rozhraní a desktopovou aplikaci

Odrazení

Nejprve uveďte některé obsahy, které se velmi liší od očekávání uživatelů, a některé existující problémy, abyste odradili některé uživatele, pro které tento projekt není vhodný. A uveďte doporučení pro použití jiných zavedených projektů.

Rozdíl mezi tímto projektem a jinými tradičními projekty, které nepoužívají AI, spočívá v sémantickém vyhledávání (nejenže můžete vyhledávat klíčová slova, ale také porozumět kontextu a významu zpráv). V současné době jsem se však pokusil o několik dotazů a bez ohledu na to, zda je zaškrtnuta možnost „Hledat obsah“ ve vyhledávacím poli, většinou nemohu vyhledávat pomocí otázek (pouze jedna věta může); Nelze vyhledávat synonyma. Lze vyhledat pouze zprávy, které mají společná slova s dotazem. Nejsem si jistý, jestli je to problém s modelem vkládání.

Běžně používané příkazy pro front-end, back-end nasazení a spouštění musí čekat na kompilaci. Pro uživatele, kteří jsou zvyklí na programovací jazyky, které nevyžadují předběžnou kompilaci, a programovací jazyky, které jsou zvyklí na rychlou kompilaci, je doba čekání na tento projekt trochu dlouhá.

Při otevření a použití front-endu a poté po chvíli, když se front-end obnoví, zobrazí se bílá obrazovka, jak je znázorněno níže. Pokaždé je třeba restartovat, pnpm run dev:frontend , musíte počkat na kompilaci. Pokud je nasazen na serveru, je skutečně obtížné kompilovat jednou před každým použitím nebo před každým dotazem.

groupultra/telegram-search Problém s bílou obrazovkou front-endu projektu

Výše uvedené problémy lze shrnout tak, že groupultra telegram-search, jako projekt pro vyhledávání historických zpráv Telegramu, je v současné době méně použitelný než jiné zavedené tradiční projekty. Další doporučené projekty:

落絮 lilydjwg/luoxu:一个用于索引中文和日文群组内容的 Telegram 用户机器人。 — A Telegram userbot to index Chinese and Japanese group contents. , vyvinuté společností Yiyun z komunity archlinux cn, projekt stabilně funguje již mnoho let, prohlédněte si skutečný efekt: 公开的群组消息记录搜索网页 . Charakteristiky projektu:

  • Projekt používá hlavně python a nevyžaduje čekání na kompilaci. Přestože některé komponenty vyžadují kompilaci, je třeba je kompilovat pouze jednou
  • Vyhledávací řetězce nerozlišují mezi zjednodušenou a tradiční čínštinou (automaticky se převede pomocí OpenCC)
  • Vyhledávací řetězce podporují některé vyhledávací syntaxe
  • Spuštění zabírá méně zdrojů než groupultra/telegram-search

Problémy s Luoxu:

  • Instalace a nasazení může být o něco obtížnější než u projektu groupultra/telegram-search. (Je to srovnání mých skutečných nasazení dvou projektů. Vzhledem k tomu, že nasazuji luoxu na Linux arm32 systému, jsou všechny závislosti, které nasazuji luoxu, plně kompilovány a instalovány, včetně PostgreSQL: Linux 编译安装 PostgreSQL 17.4 )
  • Výchozí kód dokáže indexovat pouze zprávy skupin a kanálů napsané v konfiguračním souboru, samozřejmě můžete ručně upravit kód

Předpoklady a požadavky pro nasazení

  • Umělá inteligence, kterou lze použít, jako je Google Gemini, OpenAI atd.
  • Node.js: verze 20.0 nebo vyšší
  • RAM: Alespoň 100 MB
  • Síť s přístupem k mezinárodnímu internetu

Tento tutoriál používá zcela bezplatný Google Gemini, online API nezabírá místní výpočetní zdroje. Úvod do žádosti: Žádost a použití klíče Gemini API

Já jsem nasazen na mezinárodním serveru Linux amd64, nepoužívám Docker, ostatní operační systémy jsou pouze pro referenci

Při provádění operací podle tohoto tutoriálu věnujte pozornost porovnání s oficiální dokumentací.

Rychlý start

Podle oficiální dokumentace je základní proces používání Telegram Search následující:

  1. Instalace a konfigurace: Nainstalujte aplikaci a nakonfigurujte potřebné API
  2. Připojte účet Telegramu: Přihlaste se ke svému účtu Telegramu
  3. Synchronizace historie chatu: Vyberte historii chatu, kterou chcete synchronizovat
  4. Začněte vyhledávat: Použijte funkci sémantického vyhledávání k vyhledání zpráv

Instalace a konfigurace

Instalace Node.js

Navštivte oficiální web Node.js pro zobrazení dokumentace a instalaci. Doporučuje se používat nejnovější verzi LTS. Po instalaci použijte k potvrzení verze následující dva příkazy:

node -v
v22.16.0

npm --version
10.9.2

Protože projekt používá pnpm, nainstalujte jej. Oficiální dokumentace: Installation | pnpm , aktuální skutečný příkaz:

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

Podle pokynů

source /home/opc/.bashrc

Instalace databáze PostgreSQL a pluginu pgvector

Všimněte si, že je třeba nainstalovat PostgreSQL a plugin pgvector. Upozorňujeme, že tato část může být neúplná

Všimněte si, že systémy CentOS a další redhat používají tyto instalační příkazy. Během operace nezapomeňte konzultovat další články online a návrhy AI.

Nainstalujte oficiální konfigurační balíček repozitáře YUM pro PostgreSQL

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

Vybral jsem verzi 13, můžete si vybrat novější verzi. Protože jsem již dříve nainstaloval PostgreSQL 13, konkrétní příkaz není jistý. Nyní

Vyhledejte v YUM zdroji dostupné balíčky související s pgvector

sudo yum search pgvector

Instalace

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

Inicializujte datový adresář PostgreSQL 13 (musí být spuštěn po první instalaci).

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

Restartujte službu PostgreSQL 13, aby se změny projevily.

sudo systemctl restart postgresql-13

Přepněte na uživatele správce databáze postgres.

sudo -i -u postgres

Spusťte klienta příkazového řádku PostgreSQL.

psql

Nastavte heslo pro přihlášení uživatele postgres.

ALTER USER postgres WITH PASSWORD 'Vaše heslo k databázi';

Připojte se k PostgreSQL jako uživatel postgres přes localhost a zobrazte výzvu k zadání hesla.

psql -U postgres -h localhost --password

Ukončete psql

exit

Poté se vraťte k původnímu systémovému uživateli,

exit

Pokuste se vstoupit do databáze

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

Konfigurace projektu a spuštění

Protože Google Gemini API má omezení rychlosti, provedl jsem malou úpravu:

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

Všimněte si, že aktuální větev rate jsem upravoval celou dobu na webové stránce Github a žádné místní testování neproběhlo.

Úprava omezení rychlosti, která může být úspěšně spuštěna na mém počítači, je založena na této verzi: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f, pouze abych se ujistil, že kód může běžet bez chyb. Pokud váš kód neběží, zkuste po vrácení tohoto commitu změny oficiálního projektu.

Pokud vaše API nemá omezení rychlosti, můžete přímo použít oficiální repozitář

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

Zkopírujte konfigurační soubor config\config.example.yaml do stejného adresáře jako soubor config\config.yaml.

Změňte konfigurační soubor přímo podle následujícího formátu a ostatní části upravte podle výchozího popisu konfiguračního souboru.

Žádost o telegram API vyžaduje kvalitní IP adresu, pokud ji nemůžete získat, použijte IP adresu autora a nemusíte ji měnit. Toto je pro klienty třetích stran, ne pro telegramové roboty.

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še heslo k databázi'
  database: tg_1

api:
  embedding:
    # Embedding provider (openai or ollama) # Zde neměňte na Gemini
    provider: openai
    # Embedding model
    model: models/text-embedding-004
    # gemini-embedding-exp-03-07
    # API key for provider
    apiKey: <Váš získaný klíč Gemini API>
    # Gemini embedding-001 má výchozí výstup 3072 dimenzí a nelze definovat vlastní dimenze
    dimension: 768
    # Optional, for custom API providers
    apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Spusťte back-end službu
pnpm run dev:server

# Spusťte front-end rozhraní v jiném okně terminálu
pnpm run dev:frontend

Zkontrolujte, zda je možné úspěšně navštívit front-end:

curl http://localhost:3333/

Pokud se jedná o místní počítač, můžete aplikaci používat otevřením prohlížeče a návštěvou http://localhost:3333

Pokud se jedná o vzdálené zařízení, stačí otevřít port front-endu pro přístup. Nelze jej však přímo vystavit na veřejné síti, jinak může kdokoli manipulovat s vaším účtem telegramu. Musíte si sami nakonfigurovat přístupová oprávnění, existuje mnoho schémat.

Kromě toho pro přístup k doméně možná budete muset upravit apps\frontend\vite.config.ts a přidat

 allowedHosts: ['Vaše navštívená doména']

Další obsah naleznete v oficiální dokumentaci.

Další verze této webové stránky

Tento článek má více jazykových verzí.

Pokud chcete zveřejnit komentář, navštivte následující webové stránky:

ZH EN ZH-TW JA

Tyto webové stránky podporují pouze prohlížení, nelze zveřejňovat komentáře nebo zanechávat zprávy, ale poskytují více jazykových možností a mají kratší dobu načítání:

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