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 项目前端白屏问题

สรุปปัญหาข้างต้นคือ 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 มีดังนี้:

  1. การติดตั้งและการกำหนดค่า: ติดตั้งแอปพลิเคชันและกำหนดค่า API ที่จำเป็น
  2. เชื่อมต่อบัญชี Telegram: เข้าสู่ระบบบัญชี Telegram ของคุณ
  3. ซิงโครไนซ์บันทึกการสนทนา: เลือกบันทึกการสนทนาที่คุณต้องการค้นหาเพื่อซิงโครไนซ์
  4. เริ่มการค้นหา: ใช้ฟังก์ชันการค้นหาเชิงความหมายเพื่อค้นหาข้อความ

การติดตั้งและการกำหนดค่า

ติดตั้ง 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

หน้าเว็บเหล่านี้รองรับการเรียกดูเท่านั้น ไม่สามารถแสดงความคิดเห็นหรือข้อความ แต่มีตัวเลือกภาษาเพิ่มเติมและเวลาในการโหลดที่สั้นกว่า:

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