groupultra telegram-search yeni bir telegram kullanıcı sohbet kaydı arama aracıdır.

Bazı öneriler:

  • Telegram Grup Yönetim Botu @CSUBOT: Yeni kullanıcılara özel mesaj gönderebilir, CloudFlare’in web doğrulama kodunu gönderebilir, böylece gruba giriş incelemesi yapılabilir, gruba girmek için başvuran kullanıcıların gerçek insan olup olmadığını doğrulamak için kullanılır. Gruptaki diğer arkadaşları rahatsız etmeyecektir.
  • Yerel makinenin farklı web sitelerine erişiminin genel IP’sini sorgulayın, vekil yönlendirme yapılandırmasını tespit edebilir ve AI araçları tarafından engellenmekten kaçınabilirsiniz. Kullanıcıların Çin web sitelerini, uluslararası tanınmış AI web sitelerini, engellenen uluslararası web sitelerini ve izin verilen uluslararası web sitelerini hangi IP’yi kullanarak ziyaret ettiğini görüntüleyebilirsiniz.

Proje Özellikleri

Resmi belgelere göre Telegram Search, aşağıdaki temel işlevleri sunar:

  • Semantik arama: Sadece anahtar kelimeleri aramakla kalmaz, aynı zamanda mesajların bağlamını ve anlamını da anlar
  • Vektör eşleştirme: OpenAI’nin gömme vektör teknolojisine dayalı olarak benzerlik araması gerçekleştirir
  • Verimli alma: Telegram’ın yerel aramasından daha doğru ve daha akıllı bir arama deneyimi
  • Çoklu platform desteği: Web arayüzü ve masaüstü uygulaması sağlar

Caydırıcılık

İlk olarak, kullanıcı beklentilerinden çok farklı olan bazı içerikleri ve bazı sorunları listeleyerek, bu proje için uygun olmayan kullanıcıların bir kısmını caydırın. Ayrıca, diğer olgun projelerin kullanımına ilişkin önerilerde bulunun.

Bu projenin yapay zeka kullanmayan diğer geleneksel projelerden farkı, semantik aramadır (sadece anahtar kelimeleri aramakla kalmaz, aynı zamanda mesajların bağlamını ve anlamını da anlar). Ancak şu anda birkaç sorgu denedim, arama kutusunun “İçeriği ara” ayarını işaretleyip işaretlememeniz fark etmeksizin, temel olarak soru cümlesiyle arama yapılamıyor (sadece bir cümleyle yapılabiliyor); eş anlamlı kelimelerle arama yapılamıyor. Yalnızca sonuç ve sorguyla ortak kelimeleri olan mesajlar aranabiliyor. Bunun gömme modeli sorunu olup olmadığından emin değilim.

Sık kullanılan ön uç, arka uç dağıtım ve çalıştırma komutları, derlenmeyi beklemeyi gerektiriyor. Önceden derlemeye ihtiyaç duymayan programlama dillerine ve hızlı derleme hızına alışkın olan kullanıcılar için, bu projenin bekleme süresi biraz uzun.

Ön ucu açtıktan sonra, bir süre sonra yenilediğinizde, ön uçta aşağıdaki gibi beyaz bir ekran görünecektir. Her seferinde yeniden başlatmanız gerekiyor, pnpm run dev:frontend, derlenmeyi beklemelisiniz. Sunucuya dağıtıldığında, her kullanımda veya daha doğrusu her sorgudan önce sunucuya bağlanıp bir kez daha derlemeniz gerekiyor, bu gerçekten zahmetli.

groupultra/telegram-search Proje ön uç beyaz ekran sorunu

Yukarıdaki sorunlar özetlendiğinde, groupultra telegram-search, telegram geçmiş mesajlarını arama projesi olarak, şu anda diğer olgun geleneksel projeler kadar iyi çalışmıyor. Diğer proje önerileri:

落絮 lilydjwg/luoxu: Çince ve Japonca grup içeriklerini indekslemek için bir Telegram kullanıcı botu. — A Telegram userbot to index Chinese and Japanese group contents. , archlinux cn topluluğundan Yiyun tarafından geliştirildi, proje yıllardır istikrarlı bir şekilde çalışıyor, gerçek etkiyi görüntüleyin: Genel grup mesaj kayıtları arama web sayfası . Proje özellikleri:

  • Proje ağırlıklı olarak python kullanıyor, derlenmeyi beklemeye gerek yok. Her ne kadar bazı bileşenlerin derlenmesi gerekse de, ancak bir kez derlenmesi yeterli
  • Arama dizeleri basitleştirilmiş veya geleneksel karakterler arasında ayrım yapmaz (OpenCC otomatik olarak dönüştürür)
  • Arama dizeleri bazı arama sözdizimlerini destekler
  • Çalıştırıldığında groupultra/telegram-search’ten biraz daha az kaynak tüketir

Luoxu’nun sorunları:

  • Kurulum ve dağıtım, groupultra/telegram-search projesinden biraz daha zahmetli olabilir. (Bu, iki projeyi gerçekte dağıtma karşılaştırmamdır. Luoxu’yu Linux arm32 sistemine dağıttığım için, luoxu’nun tüm bağımlılıkları tamamen derlenip kuruldu, PostgreSQL dahil: Linux üzerinde PostgreSQL 17.4’ün derlenmesi ve kurulması)
  • Varsayılan kod yalnızca yapılandırma dosyasında yazılan grup, kanal mesajlarını indeksleyebilir, elbette kodu manuel olarak değiştirebilirsiniz

Dağıtım Önkoşulları ve Gereksinimleri

  • Kullanılabilir bir AI, örneğin Google Gemini, OpenAI vb.
  • Node.js: 20.0 veya daha yüksek bir sürüm
  • RAM: En az 100 MB
  • Uluslararası internete erişebilen bir ağ

Bu eğitim, tamamen ücretsiz Google Gemini’yi kullanır, çevrimiçi API yerel işlem kaynaklarını işgal etmez. Başvuru tanıtımı: Gemini API KEY başvurusu ve kullanımı

Ben Linux amd64 uluslararası sunucusuna dağıtım yaptım, Docker kullanmadım, diğer işletim sistemi ortamları sadece referans amaçlıdır

Bu eğitime göre işlem yaparken, lütfen resmi belgelerle karşılaştırın.

Hızlı Başlangıç

Resmi belgelere göre, Telegram Search’ü kullanmanın temel akışı aşağıdaki gibidir:

  1. Kurulum ve yapılandırma: Uygulamayı kurun ve gerekli API’leri yapılandırın
  2. Telegram hesabına bağlanma: Telegram hesabınıza giriş yapın
  3. Sohbet kayıtlarını senkronize etme: Aranması gereken sohbet kayıtlarını seçerek senkronize edin
  4. Aramaya başlama: Mesajları bulmak için semantik arama işlevini kullanın

Kurulum ve Yapılandırma

Node.js Kurulumu

Node.js Resmi Web Sitesi ’ni ziyaret ederek belgeleri görüntüleyin ve kurun. En son LTS sürümünü kullanmanız önerilir, kurulum tamamlandıktan sonra aşağıdaki iki komutu kullanarak sürümü doğrulayın:

node -v
v22.16.0

npm --version
10.9.2

Proje pnpm kullandığı için kurulum yapın. Resmi belge: Installation | pnpm , mevcut gerçek komut:

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

İpuçlarına göre

source /home/opc/.bashrc

PostgreSQL Veritabanı ve pgvector Eklentisi Kurulumu

PostgreSQL ve pgvector eklentisini kurmayı unutmayın. Bu bölümdeki içeriğin eksik olabileceğini unutmayın

CentOS gibi redhat sistemlerinin bu kurulum komutlarını kullandığına dikkat edin. İşlem yaparken, lütfen diğer çevrimiçi makalelere ve yapay zeka önerilerine mutlaka başvurun.

PostgreSQL resmi YUM depo yapılandırma paketini kurun

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

Ben 13 sürümünü seçtim, daha yeni bir sürüm seçebilirsiniz. Daha önce PostgreSQL 13 kurduğum için, belirli komutlar belirsiz. Şimdi

YUM kaynağında pgvector ile ilgili mevcut paketleri arayın

sudo yum search pgvector

Kurulum

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

PostgreSQL 13 veri dizinini başlatın (ilk kurulumdan sonra mutlaka yürütülmelidir).

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

Değişikliklerin yürürlüğe girmesi için PostgreSQL 13 hizmetini yeniden başlatın.

sudo systemctl restart postgresql-13

postgres veritabanı yönetici kullanıcısına geçin.

sudo -i -u postgres

PostgreSQL komut satırı istemcisini başlatın.

psql

postgres kullanıcısının oturum açma parolasını ayarlayın.

ALTER USER postgres WITH PASSWORD 'Veritabanı Şifreniz';

postgres kullanıcısı olarak yerel ana bilgisayar üzerinden PostgreSQL’e bağlanın ve parola girmeniz istenir.

psql -U postgres -h localhost --password

psql’den çıkın

exit

Ardından ilk sistem kullanıcısına geri dönün,

exit

Veritabanına girmeyi deneyin

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

Projeyi Yapılandırın ve Başlatın

Google Gemini API’sinin hız sınırı olduğundan, biraz değişiklik yaptım:

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

Şu anda bu rate branch dalının, baştan sona Github web sayfasında değişiklik yaptığım ve yerel olarak herhangi bir test yapmadığım unutulmamalıdır.

Makinemde başarılı bir şekilde çalışan hız sınırı değişikliği, bu release: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f temelinde, sadece kodun çalışmasını ve hata vermemesini sağlıyor. Kodunuz çalışmıyorsa, lütfen bu commit’i geri alıp resmi projenin değişikliklerini deneyin.

API’nizin hız sınırı yoksa, doğrudan resmi depoyu kullanabilirsiniz

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

config\config.example.yaml yapılandırma dosyasını aynı dizinde config\config.yaml dosyası olarak kopyalayın.

Aşağıdaki formata göre doğrudan yapılandırma dosyasını değiştirin, diğer bölümler için varsayılan yapılandırma dosyası açıklamasına bakın.

telegram api başvurusu için kaliteli bir ip’ye ihtiyacınız var, başvuru yapamıyorsanız yazarınkini kullanın, değiştirmenize gerek yok. Bu, üçüncü taraf istemciler içindir, telegram robotları için değil.

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: 'Veritabanı Şifreniz'
  database: tg_1

api:
  embedding:
    # Embedding provider (openai or ollama) # Burada Gemini olarak değiştirmeyin
    provider: openai
    # Embedding model
    model: models/text-embedding-004
    # gemini-embedding-exp-03-07
    # API key for provider
    apiKey: <Aldığınız Gemini API KEY'i>
    # Gemini embedding-001 varsayılan olarak 3072 boyutlu çıktı verir, boyut özelleştirilemez
    dimension: 768
    # Optional, for custom API providers
    apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# Arka uç hizmetini başlat
pnpm run dev:server

# Başka bir terminal penceresinde ön uç arayüzünü başlat
pnpm run dev:frontend

Ön ucun başarılı bir şekilde erişilip erişilemediğini kontrol edin:

curl http://localhost:3333/

Yerel makine ise, uygulamayı kullanmak için tarayıcıyı açıp http://localhost:3333 adresini ziyaret etmeniz yeterlidir

Uzak bir cihaz ise, yalnızca ön ucun bağlantı noktasını erişime açmanız yeterlidir. Ancak doğrudan genel ağda herkese açık olarak ifşa edemezsiniz, aksi takdirde herhangi biri telegram hesabınızı manipüle edebilir. Erişim izinlerini kendiniz yapılandırmanız gerekir, birçok çözüm vardır.

Ek olarak, alan adı erişimi, apps\frontend\vite.config.ts dosyasını şu şekilde değiştirmeniz gerekebilir

 allowedHosts: ['Eriştiğiniz alan adı']

Diğer içerik için lütfen resmi belgelere bakın.

Bu Web Sayfasının Diğer Sürümleri

Bu makalenin çeşitli dillerde sürümleri bulunmaktadır.

Yorum yapmak istiyorsanız, lütfen aşağıdaki web sayfalarını ziyaret edin:

ZH EN ZH-TW JA

Bu web sayfaları yalnızca göz atmayı destekler, yorum veya mesaj bırakılamaz, ancak daha fazla dil seçeneği sunar ve yükleme süresi daha kısadır:

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