groupultra telegram-search เป็นเครื่องมือค้นหาบันทึกการสนทนาของผู้ใช้ telegram ใหม่
ข้อเสนอแนะบางส่วน:
- Telegram 群组管理机器人 @CSUBOT: สามารถส่งข้อความส่วนตัวถึงผู้ใช้ใหม่ ส่งรหัสยืนยันหน้าเว็บ CloudFlare เพื่อทำการตรวจสอบก่อนเข้าร่วมกลุ่ม เพื่อยืนยันว่าผู้ใช้ที่ขอเข้าร่วมกลุ่มเป็นมนุษย์จริง จะไม่รบกวนสมาชิกคนอื่นๆ ในกลุ่ม
- 查询本机访问不同网站的公网 IP สามารถตรวจสอบการกำหนดค่าการแบ่งการรับส่งข้อมูลของพร็อกซี เพื่อหลีกเลี่ยงการถูกเครื่องมือ AI แบน สามารถดู IP ที่ผู้ใช้ใช้ในการเข้าถึงเว็บไซต์จีน เว็บไซต์ AI ที่มีชื่อเสียงระดับนานาชาติ เว็บไซต์นานาชาติที่ถูกบล็อก และเว็บไซต์นานาชาติที่ใช้งานได้
คุณสมบัติโครงการ
จากเอกสารอย่างเป็นทางการ Telegram Search มีฟังก์ชันหลักดังต่อไปนี้:
- การค้นหาเชิงความหมาย: ไม่เพียงแต่ค้นหาคำหลักเท่านั้น แต่ยังสามารถเข้าใจบริบทและความหมายของข้อความได้อีกด้วย
- การจับคู่เวกเตอร์: ใช้เทคโนโลยีเวกเตอร์ฝังตัวของ OpenAI เพื่อให้การค้นหาความคล้ายคลึงกันเป็นไปได้
- การดึงข้อมูลอย่างมีประสิทธิภาพ: ประสบการณ์การดึงข้อมูลที่แม่นยำและชาญฉลาดกว่าการค้นหาแบบเนทีฟของ Telegram
- การสนับสนุนหลายแพลตฟอร์ม: มีทั้งอินเทอร์เฟซเว็บและแอปพลิเคชันเดสก์ท็อป
คำแนะนำให้เลิก
ก่อนอื่น ให้แสดงรายการเนื้อหาบางส่วนที่แตกต่างจากความคาดหวังของผู้ใช้ และปัญหาบางอย่างที่มีอยู่ เพื่อแนะนำให้ผู้ใช้ที่ไม่เหมาะสมกับโครงการนี้เลิก และให้คำแนะนำในการใช้โครงการที่สมบูรณ์อื่นๆ
ความแตกต่างระหว่างโครงการนี้กับโครงการดั้งเดิมอื่นๆ ที่ไม่ได้ใช้ AI คือการค้นหาเชิงความหมาย (ไม่เพียงแต่ค้นหาคำหลักเท่านั้น แต่ยังสามารถเข้าใจบริบทและความหมายของข้อความได้อีกด้วย) อย่างไรก็ตาม ปัจจุบันฉันได้ลองค้นหาหลายครั้ง ไม่ว่าจะเลือกหรือไม่เลือกช่องการตั้งค่าของช่องค้นหา “เนื้อหาการค้นหา” โดยทั่วไปแล้วจะไม่สามารถค้นหาด้วยประโยคคำถามได้ (ทำได้เพียงประโยคเดียว) ไม่สามารถค้นหาคำพ้องความหมายได้ สามารถค้นหาได้เฉพาะข้อความที่มีคำร่วมกันกับคำค้นหาเท่านั้น ไม่แน่ใจว่าเป็นปัญหาของ embedding model หรือไม่
คำสั่งที่ต้องใช้บ่อยในการปรับใช้และเรียกใช้ส่วนหน้าและส่วนหลัง ต้องรอการคอมไพล์ สำหรับผู้ใช้ที่คุ้นเคยกับภาษาโปรแกรมที่ไม่จำเป็นต้องคอมไพล์ล่วงหน้า และผู้ใช้ที่คุ้นเคยกับความเร็วในการคอมไพล์ที่รวดเร็ว เวลารอคอยของโครงการนี้ค่อนข้างนาน
เมื่อเปิดส่วนหน้าเพื่อใช้งาน แล้วหลังจากนั้นสักครู่ เมื่อรีเฟรชเพื่อใช้งาน ส่วนหน้าจะปรากฏเป็นหน้าจอสีขาว ดังที่แสดงด้านล่าง ทุกครั้งที่ต้องรีสตาร์ท pnpm run dev:frontend
ต้องรอการคอมไพล์ การปรับใช้บนเซิร์ฟเวอร์ ทุกครั้งที่ใช้งาน หรือกล่าวคือทุกครั้งก่อนการค้นหา ยังต้องเชื่อมต่อเซิร์ฟเวอร์เพื่อคอมไพล์ ซึ่งค่อนข้างยุ่งยาก

สรุปปัญหาข้างต้นคือ groupultra telegram-search ในฐานะโครงการค้นหาข้อความในอดีตของ telegram ปัจจุบันการใช้งานไม่ดีเท่าโครงการดั้งเดิมอื่นๆ ที่สมบูรณ์ โครงการอื่นๆ ที่แนะนำ:
落絮 lilydjwg/luoxu:一个用于索引中文和日文群组内容的 Telegram 用户机器人。 — A Telegram userbot to index Chinese and Japanese group contents. พัฒนาโดย Yiyun จากชุมชน archlinux cn โครงการทำงานได้อย่างเสถียรมาหลายปี ดูผลลัพธ์จริง: 公开的群组消息记录搜索网页 คุณสมบัติโครงการ:
- โครงการส่วนใหญ่ใช้ python ไม่จำเป็นต้องรอการคอมไพล์ แม้ว่าจะมีส่วนประกอบที่ต้องคอมไพล์ แต่จำเป็นต้องคอมไพล์เพียงครั้งเดียวเท่านั้น
- การค้นหาสตริงไม่แยกความแตกต่างระหว่างตัวย่อและตัวเต็ม (จะแปลงโดยอัตโนมัติโดยใช้ OpenCC)
- การค้นหาสตริงรองรับไวยากรณ์การค้นหาบางอย่าง
- การเรียกใช้งานใช้ทรัพยากรน้อยกว่า groupultra/telegram-search เล็กน้อย
ปัญหาของ Luoxu:
- การติดตั้งและปรับใช้อาจยุ่งยากกว่าโครงการ groupultra/telegram-search เล็กน้อย (เป็นการเปรียบเทียบการปรับใช้สองโครงการของฉัน ในขณะที่ฉันปรับใช้ luoxu บนระบบ Linux arm32 การพึ่งพาอาศัยกันทั้งหมดของ luoxu ของฉันได้รับการคอมไพล์และติดตั้งอย่างสมบูรณ์ รวมถึง PostgreSQL: Linux 编译安装 PostgreSQL 17.4 )
- รหัสเริ่มต้นสามารถจัดทำดัชนีเฉพาะกลุ่ม ช่องสัญญาณ และข้อความที่เขียนไว้ในไฟล์การกำหนดค่า แน่นอนว่าคุณสามารถแก้ไขรหัสด้วยตนเองได้
ข้อกำหนดเบื้องต้นและการปรับใช้
- AI ที่ใช้งานได้ เช่น Google Gemini, OpenAI เป็นต้น
- Node.js: เวอร์ชัน 20.0 หรือสูงกว่า
- RAM: อย่างน้อย 100 MB
- เครือข่ายที่สามารถเข้าถึงอินเทอร์เน็ตสากลได้
บทช่วยสอนนี้ใช้ Google Gemini ฟรีอย่างสมบูรณ์ API ออนไลน์ไม่ใช้ทรัพยากรการคำนวณในเครื่อง คำแนะนำในการสมัคร: Gemini API KEY 申请及使用
ฉันปรับใช้บนเซิร์ฟเวอร์สากล Linux amd64 ไม่ได้ใช้ Docker สภาพแวดล้อมระบบปฏิบัติการอื่นๆ ใช้สำหรับการอ้างอิงเท่านั้น
โปรดใส่ใจในการเปรียบเทียบกับเอกสารอย่างเป็นทางการเมื่อดำเนินการตามบทช่วยสอนนี้
เริ่มต้นอย่างรวดเร็ว
จากเอกสารอย่างเป็นทางการ ขั้นตอนพื้นฐานในการใช้ Telegram Search มีดังนี้:
- การติดตั้งและการกำหนดค่า: ติดตั้งแอปพลิเคชันและกำหนดค่า API ที่จำเป็น
- เชื่อมต่อบัญชี Telegram: เข้าสู่ระบบบัญชี Telegram ของคุณ
- ซิงโครไนซ์บันทึกการสนทนา: เลือกบันทึกการสนทนาที่คุณต้องการค้นหาเพื่อซิงโครไนซ์
- เริ่มการค้นหา: ใช้ฟังก์ชันการค้นหาเชิงความหมายเพื่อค้นหาข้อความ
การติดตั้งและการกำหนดค่า
ติดตั้ง Node.js
เยี่ยมชม เว็บไซต์ Node.js เพื่อดูเอกสารและทำการติดตั้ง ขอแนะนำให้ใช้เวอร์ชัน LTS ล่าสุด หลังจากติดตั้งเสร็จ ให้ใช้สองคำสั่งต่อไปนี้เพื่อยืนยันเวอร์ชัน:
node -v
v22.16.0
npm --version
10.9.2
เนื่องจากโครงการใช้ pnpm จึงทำการติดตั้ง เอกสารอย่างเป็นทางการ: Installation | pnpm คำสั่งจริงปัจจุบัน:
curl -fsSL https://get.pnpm.io/install.sh | sh -
ตามคำแนะนำ
source /home/opc/.bashrc
ติดตั้งฐานข้อมูล PostgreSQL และปลั๊กอิน pgvector
โปรดทราบว่าต้องติดตั้ง PostgreSQL และปลั๊กอิน pgvector โปรดทราบว่าเนื้อหาในส่วนนี้อาจไม่สมบูรณ์
โปรดทราบว่าระบบ CentOS และ redhat อื่นๆ ใช้คำสั่งการติดตั้งเหล่านี้ โปรดอ้างอิงบทความอื่นๆ และคำแนะนำของ AI อย่างแน่นอนเมื่อดำเนินการ
ติดตั้งแพ็กเกจการกำหนดค่าที่เก็บ YUM อย่างเป็นทางการของ PostgreSQL
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
ฉันเลือกเวอร์ชัน 13 คุณสามารถเลือกเวอร์ชันที่ใหม่กว่าได้ เนื่องจากฉันเคยติดตั้ง PostgreSQL 13 มาก่อน คำสั่งเฉพาะจึงไม่แน่นอน ตอนนี้
ค้นหาแพ็กเกจที่เกี่ยวข้องกับ pgvector
ที่มีอยู่ในแหล่ง YUM
sudo yum search pgvector
ติดตั้ง
sudo yum install -y pgvector_13
sudo systemctl status postgresql-13
เริ่มต้นไดเรกทอรีข้อมูล PostgreSQL 13 (ต้องดำเนินการหลังการติดตั้งครั้งแรก)
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
รีสตาร์ทบริการ PostgreSQL 13 เพื่อให้การเปลี่ยนแปลงมีผล
sudo systemctl restart postgresql-13
สลับไปที่ผู้ใช้ผู้ดูแลระบบฐานข้อมูล postgres
sudo -i -u postgres
เริ่มต้นไคลเอนต์บรรทัดคำสั่ง PostgreSQL
psql
ตั้งรหัสผ่านสำหรับผู้ใช้ postgres
ALTER USER postgres WITH PASSWORD 'รหัสผ่านฐานข้อมูลของคุณ';
เชื่อมต่อ PostgreSQL ผ่านโฮสต์ภายในในฐานะผู้ใช้ postgres
และแจ้งให้ป้อนรหัสผ่าน
psql -U postgres -h localhost --password
ออกจาก psql
exit
จากนั้นกลับไปที่ผู้ใช้ระบบเริ่มต้น
exit
ลองเข้าสู่ฐานข้อมูล
psql -U postgres -h localhost --password
CREATE DATABASE tg_1;
CREATE EXTENSION IF NOT EXISTS vector;
กำหนดค่าโครงการและเริ่มต้น
เนื่องจาก Google Gemini API มีการจำกัดอัตรา ฉันจึงทำการแก้ไขเล็กน้อย:
git clone -b rate https://github.com/cjh0613/groupultra-telegram-search.git
โปรดทราบว่าสาขา rate ปัจจุบันนี้ ฉันแก้ไขทั้งหมดบนหน้าเว็บ Github และไม่ได้ทำการทดสอบใดๆ ในเครื่อง
การแก้ไขการจำกัดอัตราที่สามารถเรียกใช้งานได้สำเร็จบนเครื่องของฉันนั้นขึ้นอยู่กับ release นี้: v1.0.0-beta.10, commit: c60ac6416dcac6543d2623c49179681ed859e26f เพียงเพื่อให้แน่ใจว่าโค้ดสามารถทำงานได้และไม่มีข้อผิดพลาด หากโค้ดของคุณไม่สามารถทำงานได้ โปรดลอง revert การแก้ไขของโครงการอย่างเป็นทางการหลังจากการ commit นี้
หาก API ที่คุณใช้ไม่มีการจำกัดอัตรา คุณสามารถใช้ที่เก็บอย่างเป็นทางการได้โดยตรง
git clone https://github.com/groupultra/telegram-search.git
คัดลอกไฟล์การกำหนดค่า config\config.example.yaml
เป็นไฟล์ config\config.yaml
ในไดเรกทอรีเดียวกัน
อ้างอิงรูปแบบต่อไปนี้เพื่อแก้ไขไฟล์การกำหนดค่าโดยตรง ส่วนอื่นๆ อ้างอิงคำอธิบายไฟล์การกำหนดค่าเริ่มต้นเพื่อแก้ไข
การสมัคร telegram api ต้องใช้ ip ที่มีคุณภาพดี หากคุณไม่สามารถสมัครได้ ให้ใช้ของผู้เขียน ไม่จำเป็นต้องแก้ไข นี่ใช้สำหรับไคลเอนต์บุคคลที่สาม ไม่ใช่บอท telegram
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: 'รหัสผ่านฐานข้อมูลของคุณ'
database: tg_1
api:
embedding:
# Embedding provider (openai or ollama) # ที่นี่อย่าเปลี่ยนเป็น Gemini
provider: openai
# Embedding model
model: models/text-embedding-004
# gemini-embedding-exp-03-07
# API key for provider
apiKey: <Gemini API KEY ที่คุณได้รับ>
# Gemini embedding-001 เอาต์พุตเริ่มต้นคือ 3072 มิติ ไม่สามารถกำหนดมิติเองได้
dimension: 768
# Optional, for custom API providers
apiBase: 'https://generativelanguage.googleapis.com/v1beta/openai/'
# เริ่มบริการส่วนหลัง
pnpm run dev:server
# เริ่มอินเทอร์เฟซส่วนหน้าในหน้าต่างเทอร์มินัลอื่น
pnpm run dev:frontend
ตรวจสอบว่าส่วนหน้าสามารถเข้าถึงได้สำเร็จหรือไม่:
curl http://localhost:3333/
หากเป็นเครื่องในเครื่อง ให้เปิดเบราว์เซอร์เพื่อเข้าถึง http://localhost:3333
เพื่อใช้แอปพลิเคชัน
หากเป็นอุปกรณ์ระยะไกล คุณต้องเปิดพอร์ตของส่วนหน้าเพื่อเข้าถึงเท่านั้น แต่ไม่สามารถเปิดเผยต่อสาธารณะบนเครือข่ายสาธารณะโดยตรง มิฉะนั้นทุกคนสามารถควบคุมบัญชี telegram ของคุณได้ คุณต้องกำหนดค่าสิทธิ์การเข้าถึงด้วยตนเอง มีหลายวิธี
นอกจากนี้ การเข้าถึงโดเมนอาจต้องแก้ไข apps\frontend\vite.config.ts
เพิ่ม
allowedHosts: ['โดเมนที่คุณเข้าถึง']
เนื้อหาอื่นๆ โปรดดูเอกสารอย่างเป็นทางการ
เว็บเพจนี้ในเวอร์ชันอื่น
บทความนี้มีหลายภาษา
หากคุณต้องการแสดงความคิดเห็น โปรดเยี่ยมชมหน้าเว็บต่อไปนี้:
หน้าเว็บเหล่านี้รองรับการเรียกดูเท่านั้น ไม่สามารถแสดงความคิดเห็นหรือข้อความ แต่มีตัวเลือกภาษาเพิ่มเติมและเวลาในการโหลดที่สั้นกว่า:
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