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.

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:
- Kurulum ve yapılandırma: Uygulamayı kurun ve gerekli API’leri yapılandırın
- Telegram hesabına bağlanma: Telegram hesabınıza giriş yapın
- Sohbet kayıtlarını senkronize etme: Aranması gereken sohbet kayıtlarını seçerek senkronize edin
- 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:
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