TelegramBot-OpenAI-API
- ขับเคลื่อนโดย ChatKeke
- Telegram bot ที่ใช้ Python ที่ใช้งานง่ายและปรับใช้ได้อย่างรวดเร็วสำหรับ OpenAI API
- - ข้อความเสียงที่ถอดเสียงผ่าน Whisper API
- (การถอดเสียงอัตโนมัติ การแปล และข้อความอื่น ๆ ไปยังบอทผ่านข้อความเสียงของ TG)
- ☁️ ข้อมูลสภาพอากาศแบบเรียลไทม์ การแจ้งเตือนสภาพอากาศ และข้อมูลตำแหน่งทางภูมิศาสตร์ผ่าน OpenWeatherMap, WeatherAPI และ US NWS (weather.gov)
- - ตำแหน่งทางภูมิศาสตร์และการค้นหาแผนที่ผ่าน MapTiler API
- (พร้อมพยากรณ์อากาศทั่วโลกในทุกภาษาที่รองรับ OpenAI API)
- - คำแนะนำการนำทางผ่าน Openrouteservice API
- การติดตามการใช้โทเค็นรายวันและการจำกัดอัตราสำหรับการใช้งาน API / การจัดการต้นทุน
- - โมเดล Perplexity API ควบคู่ไปกับโมเดล OpenAI
- มีประโยชน์สำหรับการตรวจสอบข้อเท็จจริงและเสริมวันที่ตัดยอดของ OpenAI
- ขั้นตอน Elasticsearch RAG ในตัว
- เพิ่มอัตราความรู้ด้วยเอกสารของคุณเอง
- สร้างข้อมูลเชิงลึกเพิ่มเติมด้วยผู้สร้างคู่ถามตอบ
- - การแจ้งเตือนวันหยุดผ่านโมดูล
holidays
ของ Python- แปลเป็นประเทศที่รองรับหรือเพิ่มการแจ้งเตือนพิเศษของคุณเอง
- - ดึงข้อมูลราคาหุ้นผ่าน Alpha Vantage API และ Yahoo! การเงิน
- เข้าถึงข้อมูลการเงินและตลาดหุ้นแบบเรียลไทม์
- - ฟีด RSS จากแหล่งที่มีอยู่ทั้งหมด
- ดึงข่าวสารและอื่น ๆ ผ่านทาง RSS
- - DuckDuckGo ค้นหาเป็นการเรียกใช้ฟังก์ชันเสริมบริบท
- ใหม่! การสืบค้นแบบตัวแทนย่อย เพื่อการค้นหาที่ได้รับการปรับปรุงและแม่นยำ!
- การท่องเว็บ (เพจดัมพ์พร้อมลิงก์) เป็นการเรียกใช้ฟังก์ชันเสริมบริบท
- ด้วยโดเมนเสริม/รายการอนุญาต/ไม่อนุญาต IP เพื่อความปลอดภัย
- - โมดูลการเรียกฟังก์ชันเครื่องคิดเลขเพื่อการคำนวณที่แม่นยำ
- ไม่ต้องวุ่นวายกับภาพหลอนทางคณิตศาสตร์ของ AI อีกต่อไป!
- - เชื่อมต่อเพื่อความปลอดภัยและความสะดวกในการปรับใช้
- สำหรับผู้ที่รักนักเทียบท่า พร้อมที่จะหมุนภายในไม่กี่นาที!
ข้อกำหนดขั้นต่ำทั่วไป:
- โทเค็นบอต Telegram API
- ใช้บอท
@BotFather
บน Telegram เพื่อตั้งค่าบอทของคุณและรับโทเค็น Telegram Bot API
- โทเค็น OpenAI API
- รับได้จาก: https://platform.openai.com/
- การติดตั้งโดยไม่มี Docker บน Linux
ข้อกำหนดเบื้องต้น
- ทดสอบและใช้งาน Python
3.10.12
ถึง 3.12.2
แล้ว - ติดตั้งแพ็คเกจ Python ที่จำเป็นด้วย
pip install -r requirements.txt
(ทดสอบแล้วและทำงานกับเวอร์ชันที่ระบุไว้ใน Requires.txt) - โดยปกติแล้ว
pydub
จะต้องติดตั้ง ffmpeg
แยกต่างหาก โปรดทราบว่าในทางปฏิบัติแล้วไม่จำเป็นต้องใช้ทั้ง pydub
หรือ ffmpeg
หากคุณ ไม่ได้ ใช้ข้อความเสียง/ฟังก์ชัน WhisperAPI แต่ถ้าคุณเป็นเช่นนั้น แนะนำให้ติดตั้ง (Debian/Ubuntu Linux): sudo apt-get install ffmpeg
- หมายเหตุ: การค้นหา DuckDuckGo จำเป็นต้องติดตั้ง
lynx
บนระบบของคุณ มันจำเป็นต้องทำงานเป็นกระบวนการย่อย (ติดตั้งบน Debian/Ubuntu Linux ด้วย: sudo apt-get install lynx
)
- โคลนที่เก็บด้วย:
git clone https://github.com/FlyingFathead/TelegramBot-OpenAI-API/ &&
cd TelegramBot-OpenAI-API/
- ติดตั้งแพ็คเกจที่จำเป็น:
pip install -r requirements.txt
- (แนะนำ) ติดตั้งแพ็คเกจเสริม:
- บนระบบ Ubuntu/Debian tree Linux:
sudo apt-get install -y ffmpeg lynx
- ตั้งค่าโทเค็นบอต Telegram ของคุณ:
- ตั้งค่าโทเค็น Telegram Bot API ของคุณเป็นตัวแปรสภาพแวดล้อม
TELEGRAM_BOT_TOKEN
หรือใส่ลงในไฟล์ข้อความชื่อ bot_token.txt
ภายในไดเร็กทอรี config/
(= config/bot_token.txt
)
- ตั้งค่าโทเค็น OpenAI API ของคุณ:
- ไม่ว่าจะเป็นตัวแปรสภาพแวดล้อม
OPENAI_API_KEY
หรือใส่ลงในไฟล์ข้อความชื่อ api_token.txt
ภายในไดเร็กทอรีโปรแกรมหลัก
- โมดูลอื่นๆ:
- หากคุณต้องการใช้ OpenWeatherMap API และ MapTiler API สำหรับการเรียกข้อมูลสภาพอากาศที่แปลเป็นภาษาท้องถิ่น ให้ตั้งค่าตัวแปรสภาพแวดล้อม
OPENWEATHERMAP_API_KEY
และ MAPTILER_API_KEY
ตามนั้น คุณสามารถรับคีย์ API ได้จาก OpenWeather และ MapTiler - ข้อมูลสภาพอากาศเพิ่มเติม (ข้างขึ้นข้างแรม การเตือนสภาพอากาศ ฯลฯ) ดึงมาจาก WeatherAPI ตั้งค่าตัวแปรสภาพแวดล้อม
WEATHERAPI_KEY
เพื่อใช้งาน - หากคุณต้องการใช้ Openrouteservice API สำหรับคำแนะนำในการขับขี่ ให้ตั้งค่าตัวแปรสภาพแวดล้อม
OPENROUTESERVICE_API_KEY
จาก Openrouteservice - หากคุณต้องการใช้การตรวจสอบข้อเท็จจริงเพิ่มเติมของ Perplexity API กับโมเดลออนไลน์ ให้ลงทะเบียนที่ Perplexity.ai ซื้อเครดิต API และตั้งค่าคีย์ Perplexity API ของคุณเป็นตัวแปรสภาพแวดล้อม:
PERPLEXITY_API_KEY
- การปรับเปลี่ยนเพิ่มเติม:
- ปรับการกำหนดค่าและการตั้งค่าของคุณโดยแก้ไข
config/config.ini
ตามที่คุณต้องการ
- วิ่ง:
- รันโปรแกรมด้วย:
python src/main.py
- การติดตั้ง Dockerized
ข้อกำหนดเบื้องต้น
ต้องติดตั้ง Docker บนเครื่องของคุณ
- หากไม่ได้ติดตั้ง คุณสามารถดาวน์โหลดและติดตั้งได้จากเว็บไซต์อย่างเป็นทางการของ Docker
คีย์ Telegram Bot API และ คีย์ OpenAI API :
- คุณจะต้องมีคีย์ Telegram Bot API ที่ถูกต้อง คุณสามารถรับได้โดยการสร้างบอทด้วย BotFather
- คุณจะต้องมีคีย์ OpenAI API ด้วย หากคุณยังไม่มี คุณสามารถสร้างได้จากหน้า OpenAI API
ขั้นตอนที่ 1: โคลนพื้นที่เก็บข้อมูล
ขั้นแรก โคลนพื้นที่เก็บข้อมูลจาก GitHub:
git clone https://github.com/FlyingFathead/TelegramBot-OpenAI-API.git
cd TelegramBot-OpenAI-API
ขั้นตอนที่ 2: เรียกใช้สคริปต์การตั้งค่า
โปรเจ็กต์นี้มีสคริปต์การตั้งค่าที่จะแนะนำคุณในการป้อนคีย์ API และสร้างไฟล์ . .env
เรียกใช้สคริปต์:
ทำตามคำแนะนำที่ให้ไว้ในสคริปต์ ระบบจะขอคีย์ OpenAI API และคีย์ Telegram Bot API ของคุณ ตรวจสอบความถูกต้อง และสร้างไฟล์ .env
ด้วยข้อมูลประจำตัวของคุณ
ขั้นตอนที่ 3: สร้างอิมเมจ Docker
เมื่อสร้างไฟล์ .env
แล้ว คุณจะต้องสร้างอิมเมจ Docker
คุณสามารถเรียกใช้ docker_deploy.sh
ที่โดดเด่นเพื่อสร้างอิมเมจ Docker:
หรือคุณสามารถสร้างมันขึ้นมาด้วยตนเอง:
sudo docker build -t telegrambot-openai-api .
สิ่งนี้จะสร้างอิมเมจในเครื่องโดยอิงตาม Dockerfile
ในพื้นที่เก็บข้อมูล
ขั้นตอนที่ 4: เรียกใช้คอนเทนเนอร์ Docker
หลังจากสร้างอิมเมจสำเร็จแล้ว คุณสามารถเริ่มบอทในคอนเทนเนอร์ Docker ได้
รันคอนเทนเนอร์ด้วยคำสั่งต่อไปนี้:
sudo docker run --env-file .env --name telegrambot-openai-api -d telegrambot-openai-api
- แฟล็ก
-d
รันคอนเทนเนอร์ในโหมดเดี่ยว (ในเบื้องหลัง) - ธง
--env-file .env
จะแทรกคีย์ API ของคุณลงในคอนเทนเนอร์
ขั้นตอนที่ 5: ตรวจสอบคอนเทนเนอร์ที่ทำงานอยู่
คุณสามารถตรวจสอบว่าคอนเทนเนอร์ทำงานอยู่หรือไม่โดยใช้:
นี่จะแสดงรายการคอนเทนเนอร์ที่ทำงานอยู่ทั้งหมด หากบอทของคุณทำงานอย่างถูกต้อง บอทควรจะปรากฏในรายการ
ขั้นตอนที่ 6: การหยุดคอนเทนเนอร์
หากคุณต้องการหยุดบอท คุณสามารถทำได้โดยการเรียกใช้:
sudo docker stop < container_id >
แทนที่ <container_id>
ด้วย ID คอนเทนเนอร์จริง ซึ่งคุณสามารถรับได้จากเอาต์พุต docker ps
ขั้นตอนเพิ่มเติม (ไม่บังคับ)
บันทึก : หากคุณต้องการดูบันทึกของบอทเพื่อแก้ไขปัญหาใดๆ คุณสามารถใช้:
sudo docker logs < container_id >
รีสตาร์ทคอนเทนเนอร์ : หากคุณหยุดคอนเทนเนอร์และต้องการเริ่มต้นใหม่อีกครั้ง คุณสามารถเรียกใช้คำสั่ง docker run
อีกครั้งหรือรีสตาร์ทคอนเทนเนอร์ที่มีอยู่ด้วย:
sudo docker start < container_id >
กำลังอัปเดตบอท
หากที่เก็บได้รับการอัปเดตและคุณต้องการนำไปใช้ ให้ทำตามขั้นตอนเหล่านี้:
ดึงการเปลี่ยนแปลงล่าสุดจาก GitHub:
สร้างอิมเมจ Docker ใหม่:
sudo docker build -t telegrambot-openai-api .
หยุดคอนเทนเนอร์ที่ทำงานอยู่ในปัจจุบัน:
sudo docker stop < container_id >
เริ่มคอนเทนเนอร์ใหม่โดยใช้อิมเมจที่อัปเดต:
sudo docker run --env-file .env --name telegrambot-openai-api -d telegrambot-openai-api
นอกจากนี้ยังมีสคริปต์ docker_deploy.sh
รวมอยู่ด้วยซึ่งมีจุดมุ่งหมายเพื่อทำให้การสร้างใหม่และปรับใช้ยุ่งยากน้อยลง
ตอนนี้คุณควรให้ TelegramBot-OpenAI-API ทำงานในคอนเทนเนอร์ Docker ซึ่งเชื่อมต่อกับทั้ง Telegram และ OpenAI โดยสมบูรณ์ เพลิดเพลินไปกับบอทของคุณ!
หากคุณพบปัญหาใดๆ โปรดดูบันทึกหรือติดต่อที่หน้าปัญหาของที่เก็บ
กำลังอัปเดต config.ini
ของคุณ
ใช้ configmerger.py
เพื่ออัปเดตไฟล์การกำหนดค่าเก่าเป็น config.ini
เวอร์ชันที่ใหม่กว่า คุณสามารถทำได้โดยบันทึกสำเนาของการกำหนดค่าที่มีอยู่ เช่น ไฟล์ชื่อ myconfig.txt
และรวมบรรทัดที่คุณต้องการเก็บไว้ในเวอร์ชันที่ใหม่กว่า
หลังจากนั้น เพียงเรียกใช้ ie python src/configmerger.py myconfig.txt
และบรรทัดการกำหนดค่าที่มีอยู่ทั้งหมดของคุณจะถูกย้ายไปยังบรรทัดใหม่ ใช้งานได้ในกรณีส่วนใหญ่ แต่อย่าลืมใช้ความระมัดระวังและตรวจสอบปัญหาการย้ายข้อมูลอีกครั้งด้วย ie diff
!
(ตัวอย่าง) วิธีผสานและอัปเดตการกำหนดค่าที่มีอยู่:
python3 src/configmerger.py myconfig.txt
บันทึกการเปลี่ยนแปลง
- v0.75055 - แก้ไขตัวฆ่าเชื้อ html (สำหรับ API ของ Telegram; การจัดการ html ที่ผิดรูปแบบได้ดีขึ้น) โดยใช้ BeautifulSoup4+lxml สำหรับการแยกวิเคราะห์ทันที
- v0.75054 - การแก้ไขเล็กน้อยและข้อผิดพลาดเพิ่มเติมใน
calc_module.py
- v0.75053 - รวมเฉพาะพื้นที่ที่มีสิทธิ์ในการสืบค้น US NWS
- รายการพื้นที่ที่สอบถาม/มีสิทธิ์สามารถตั้งค่าได้ใน
config.ini
ใต้ส่วน NWS
- v0.75052 - รวมรายละเอียดจาก US National Weather Service ในการแจ้งเตือน
- v0.75051 - อัปเดต
config.ini
สำหรับการกำหนดค่าการพยากรณ์อากาศและการแจ้งเตือนของ NWS- วิธีที่แนะนำคือการเสริมข้อมูลสภาพอากาศเพิ่มเติมที่คุณต้องการผ่านทาง NWS
- ขอแนะนำอย่างยิ่งให้เปิดการแจ้งเตือนสภาพอากาศของ US NWS ใน
config.ini
แม้ว่าคุณจะเปิดใช้งานวิธีการดึงข้อมูลอื่น ๆ (เช่น OpenWeatherMap) ก็ตาม ควรจะปลอดภัยมากกว่าขออภัย
- v0.7505 - US NWS (National Weather Service, weather.gov) เพิ่มเป็นแหล่งข้อมูลสภาพอากาศ
- สำหรับข้อมูลเพิ่มเติม โดยเฉพาะการแจ้งเตือนสภาพอากาศ
- ข้อมูลทั้งหมดจะถูกรวมจากแหล่งที่มาของ OpenWeatherMap และ US NWS ตามค่าเริ่มต้น
- v0.7504 - บันทึกการใช้งานคงที่และการแมปไดเร็กทอรีแผนภูมิ
- v0.7503 - ปรับปรุงการจัดรูปแบบข้อความและการตรวจจับข้อผิดพลาด
- v0.7502 - เพิ่ม
docker_setup.sh
เพื่อการปรับใช้บน Docker ที่ง่ายขึ้น - v0.7501 -
Dockerfile
และข้อผิดพลาดที่ดีขึ้นเมื่อได้รับ 401 Unauthorized
- v0.75 การรีแฟคเตอร์ครั้งใหญ่ (5. ต.ค. 2567) ???
- โครงการทั้งหมดได้รับการจัดระเบียบและแก้ไขข้อบกพร่องมากมายในขณะดำเนินการ
-
python src/main.py
เพื่อเริ่มบอทตั้งแต่นี้เป็นต้นไป - รายการคุณสมบัติใหม่มากมาย เช่น:
- การบันทึกที่ดีขึ้น
- ตรวจสอบ Elasticsearch เมื่อเริ่มต้น การจับข้อยกเว้นแบบหลายขั้นตอน
- เพิ่มคำฟุ่มเฟือยของ Elasticsearch เพื่อความชัดเจน
- ตอนนี้คุณสามารถกำหนดค่า Elasticsearch ผ่าน
config.ini
ได้แล้ว - การบันทึกขั้นสูง (ข้อมูลแชท + บอทลงในการบันทึกแบบรวมที่แยกจากกัน)
- ขณะนี้ Chatlogs มี
source
ที่มาทุกครั้งที่เรียกใช้ผ่านการเรียกใช้ฟังก์ชัน ดังนั้นการดึงข้อมูลภายนอกใดๆ จะถูกบันทึกได้ชัดเจนยิ่งขึ้น - โดยรวมแล้วการอัปเดตนี้ทำให้บอทใช้งานได้ง่ายขึ้นมาก
- v0.7431 - การจัดการคีย์ API ที่เป็นไปได้เนื่องจากไฟล์ข้อความถูกย้ายภายใต้
config/
โดยค่าเริ่มต้น - v0.743 - การเปลี่ยนแปลงการโหลดการกำหนดค่าและการเพรียวลม
- จัดระเบียบ; การกำหนดค่าทั้งหมดอยู่ภายใต้
config/
- นำเข้าตรรกะใหม่สำหรับการอ่านโทเค็นบอทจาก
whisper-transcriber-telegram-bot
ของฉัน -
bot_token.py
มีการเปลี่ยนแปลงและอัปเดตตามนั้น -
config_paths.py
ขณะนี้มีการกำหนดค่าทั่วทั้งโครงการสำหรับเส้นทางไฟล์การกำหนดค่า ( config.ini
ฯลฯ ... ) - ย้าย
bot_token.txt
ที่มีอยู่ (ถ้าใช้) ไปที่ config/
- ใช้
configmerger.py
เพื่ออัปเดตด้วยการกำหนดค่าที่คุณกำหนดเอง - (WIP เพิ่มเติมเกี่ยวกับหน้าการปรับโครงสร้างโครงการ)
- v0.742 - การดึงข้อมูลขั้นตอน RAG วันชื่อฟินแลนด์
- v0.741 - เปลี่ยนเป็นโมเดล Perplexity API ล่าสุด (
llama-3.1-sonar-small-128k-online
) เนื่องจากการเลิกใช้งานและการอัปเดตในโมเดล - v0.74 - การเรียกดูแบบตัวแทนย่อยด้วยการค้นหาเครื่องมือค้นหา DuckDuckGo อยู่ที่นี่แล้ว!
- เปิดใช้งานจาก
config.ini
ผ่าน EnableAgenticBrowsing = True
- ช่วยให้ผู้ช่วย AI ติดตามลิงก์เพื่อดูข้อมูลเพิ่มเติมและส่งคืนผลลัพธ์ที่เกี่ยวข้อง
- การแก้ไขข้อบกพร่องเพิ่มเติมกับ Edge Case และการแยกวิเคราะห์เอาต์พุต
- v0.7373 - แก้ไขเล็กน้อยสำหรับ
api_get_duckduckgo_search.py
; ลิงก์ตัวแทนตาม WIP - v0.7372 - การเปลี่ยนแปลงตรรกะการแยกวิเคราะห์เพิ่มเติม (
markdown_to_html
ใน modules.py
) - v0.7371 - ปรับปรุงการแยกวิเคราะห์สำหรับ markdown/html
- v0.737 - การเปลี่ยนแปลงการรวม Perplexity API (ตอนนี้โมเดลหลักรวมไว้ในบริบทเพื่อการบังคับใช้และการเชื่อมโยงกันที่ดีขึ้น)
- v0.736 - เพิ่มโมดูลเครื่องคิดเลข
calc_module.py
เพื่อความแม่นยำในการร้องขอการคำนวณ - v0.735 - การเรียกดูเว็บไซต์ Lynx พร้อมรายการอนุญาต/ไม่อนุญาตสำหรับโดเมนที่อนุญาต/ไม่อนุญาตให้ดู
- v0.734 - ขณะนี้โฮสต์ฟีด RSS มากกว่า 100 รายการตามค่าเริ่มต้น (เมื่อ RAG ทริกเกอร์)
- เพิ่มการค้นหา DuckDuckGo เป็นการเรียกใช้ฟังก์ชัน
- v0.733 - ตรรกะการแยกวิเคราะห์ RSS ได้รับการปรับปรุงให้เข้ากับบริบท RAG
- v0.7321 - การปรับปรุงการแยกวิเคราะห์ RSS
- v0.732 - เพิ่มการเรียกฟังก์ชัน ElasticSearch RAG ไปยังฟีด RSS
- (สำหรับแหล่งข่าว ฯลฯ โปรดดู
rss_parser.py
)
- v0.73101 - Perplexity API ที่ถูกทำให้เป็นโมดูลเรียกเพิ่มเติมไปยังตัวจัดการแยกต่างหาก
- (ดู:
perplexity_handler.py
)
- v0.731 - เพิ่ม Yahoo! Finance เป็นการเรียกใช้ฟังก์ชัน API สำหรับการค้นหาราคาหุ้น (ต้องใช้แพ็คเกจ
yfinance
pip) - v0.730 - เพิ่มฟังก์ชัน Alpha Vantage API เพื่อเรียกราคาหุ้นแบบเรียลไทม์ (ต้องใช้คีย์ Alpha Vantage API)
- v0.729 - เปลี่ยนเป็น
gpt-4o-mini
ในการกำหนดค่าเริ่มต้นแทน gpt-3.5-turbo
(ใหม่กว่า ถูกกว่า ดีกว่า) - v0.728 - การจัดการ Edge case มากขึ้นเมื่อดึงข้อมูลสภาพอากาศหลาย API
- v0.727 - แก้ไขข้อบกพร่องของ WeatherAPI & การดึงข้อมูลสภาพอากาศของ API กรณี Edge (ส่งคืนค่าคี่ ฯลฯ )
- v0.726 - เปลี่ยนเป็น OpenAI API จาก
langdetect
เมื่อใช้ ie Perplexity API สำหรับการสืบค้นข้อมูล- (ฟังก์ชัน
detect_language
ใน api_perplexity_search.py
) - ทั้งนี้เพื่อความแม่นยำที่ดีขึ้นในสภาพแวดล้อมหลายภาษา
- => ตอบสนองน้อยลงในภาษาที่ไม่ถูกต้องเมื่อจำเป็นต้องใช้เส้นทางการแปลสำหรับผู้ใช้ปลายทาง
- แม่นยำกว่า
langdetect
มาก และสามารถใช้ประโยชน์เพิ่มเติมได้ด้วยการเลือกรุ่น
- v0.7251 - การปรับปรุงความทนทานเล็กน้อยและการแก้ไขโมดูล
api_key.py
- v0.725 - การเรียก Perplexity API เพิ่มเติม + การปรับเปลี่ยนการแปล
- v0.724 - การแยกตรรกะสำหรับการตอบกลับ Perplexity API ที่ยาวขึ้น
- v0.723 - เพิ่ม jitter, แก้ไขตรรกะการลองใหม่อีกครั้งในคำขอ Perplexity API+translation
- v0.7201 - เพิ่มการกำหนดค่าโมเดล Perplexity API ให้กับ
config.ini
- v0.72 - ปรับปรุงการจับข้อผิดพลาด + การส่งข้อความด้วย API ของ Perplexity
- v0.71 - การกล่าวถึงวันหยุดผ่านโมดูล
holidays
ของ Python (สามารถขยายได้) - v0.708 - ปรับปรุงข้อมูลดาราศาสตร์โดยรวมผ่าน WeatherAPI
- v0.707 - การล้างโค้ด + การปรับปรุงการจัดการ Perplexity API
- v0.706 - ตัวเลือกการดึงข้อมูลสภาพอากาศเพิ่มเติม การดึงข้อมูลตามประเทศเพิ่มเติม
- v0.705 - ปรับปรุงการรวมข้อมูลสภาพอากาศ; การปรับแต่งเล็กๆ น้อยๆ
- v0.703 - การแปลภาษาและปรับแต่งการดึงข้อมูล WeatherAPI
- v0.70 - เพิ่มการรองรับ WeatherAPI เพื่อเปิดใช้งาน รับคีย์ API จาก weatherapi.com
- v0.61 - ปรับปรุงการจัดการสภาพอากาศและเวลา/ข้อมูลทั่วโลก
- v0.60 - การแยกวิเคราะห์ข้อมูล URL ล่วงหน้าและการดึงข้อมูลเพิ่มเติมสำหรับแหล่งสื่อ เช่น ด้วย
yt-dlp
- v0.59 - การเรียกใช้ฟังก์ชันแบบกำหนดเองผ่าน Elasticsearch RAG (หากเปิดใช้งาน)
- v0.58.4 - แก้ไขการแยกวิเคราะห์และการจัดรูปแบบเพิ่มเติม
- v0.58.3 - การแยกวิเคราะห์ การจัดรูปแบบ และการปรับเปลี่ยนการแบ่งส่วน
- v0.58.2 - ปรับปรุงการจัดรูปแบบในการเรียก pplx API
- v0.58.1 - ปรับปรุงการแยกวิเคราะห์มาร์กดาวน์ในการเรียก Perplexity API ที่แปลแล้ว
- v0.58 - การแยกส่วน การแยกวิเคราะห์ และการแก้ไขเล็กๆ น้อยๆ อื่นๆ
- v0.57.5 - การเปลี่ยนแปลงการจัดการ Perplexity API โซนาร์ออนไลน์รุ่นใหม่
- v0.57.1 - ปรับปรุงทางเลือกสำรองในการเรียก API ภายนอก เช่น Perplexity API
- v0.57 - ปรับปรุงการตรวจจับข้อผิดพลาดและทางเลือกสำรองที่ปลอดภัย
- v0.56 - เพิ่มการสนับสนุน Elasticsearch สำหรับ RAG - ใช้การตั้งค่าสถานะ
ElasticsearchEnabled
ใน config.ini
ใหม่ (ตั้งค่าเป็น True
หรือ False
เพื่อเปิดหรือปิดใช้งาน) - v0.55.4 - การติดตามการเรียก API เวลารอเพิ่มเติมหากจำเป็นสำหรับการเรียก API ภายนอก
- v0.55.3 - กิจกรรมตอบกลับ, ตรรกะการแยกส่วนที่ดีขึ้น
- v0.55 - การจัดการภาพเคลื่อนไหวตอบกลับที่ดีขึ้น
- v0.52 - ข้อมูลสภาพอากาศทั่วโลกที่แม่นยำยิ่งขึ้นผ่าน OpenWeatherMap API และ Maptiler API
- v0.51 - การแบ่งคำขอภายนอกแบบ "อัจฉริยะ" เพื่อลดปัญหาที่เกี่ยวข้องกับการหมดเวลา
- v0.50.3 -
langdetect
และการแก้ไขการจัดการ - v0.50.2 - การพิมพ์ภาพเคลื่อนไหวในการตอบกลับ การปรับเปลี่ยนตรรกะในการประมวลผล
- v0.50.1 -
langdetect
ในการประเมินข้อกำหนดการแปลอัตโนมัติ - v0.50 - การเรียกใช้ฟังก์ชันแบบกำหนดเอง: การตรวจสอบข้อเท็จจริงของ Perplexity API
- v0.49.1 - การปรับเปลี่ยนโมดูลาร์
- v0.48 - การใช้ Openrouteservice API
- v0.47 - แก้ไขการนับโทเค็นและตรรกะการโพลเพิ่มเติม
- v0.46.2 - แก้ไขการนับโทเค็นและตรรกะการโพล
- v0.46 - เขียนตรรกะการโพลใหม่ในการรีเซ็ตจำนวนโทเค็นรายวัน
- v0.45 - เพิ่มคุณสมบัติ
/usagechart
สำหรับแผนภูมิการใช้งาน (ต้องใช้ matplotlib
) - v0.44 - การเรียกใช้ฟังก์ชัน API, การค้นหาสภาพอากาศของ OpenWeatherMap API และการค้นหาทางภูมิศาสตร์ของ MapTiler API
- v0.43.2 - แก้ไขข้อผิดพลาดเล็กน้อยในโทเค็นแคปรายวัน
- v0.43.1 - การจับข้อผิดพลาดที่ดีขึ้น
- v0.43 - คำสั่งผู้ดูแลระบบใหม่:
/setsystemmessage <message>
(ใช้ได้จนกว่าบอทจะรีสตาร์ท) และ /resetsystemmessage
(รีเซ็ตจาก config.ini
) - v0.42 - เพิ่มคำสั่ง
/reset
สำหรับการรีเซ็ตบอท ตั้งค่าสถานะ ResetCommandEnabled
และ AdminOnlyReset
ใน config.ini
ตามลำดับ - v0.41 - การจัดการข้อความแบบโมดูลาร์ไปยัง
text_message_handler.py
และการจัดการข้อความเสียงไปยัง voice_message_handler.py
- v0.40 - การจัดการการหมดเวลาเซสชันสำหรับการกระชับประวัติการแชท (ดู
config.ini
=> SessionTimeoutMinutes
, MaxRetainedMessages
) - v0.39.5 - การแก้ไขเล็กน้อยในการใช้งานเพย์โหลด OpenAI API
- v0.39.4 -
log_message
แบบโมดูลาร์ & rotate_log_file
(การจัดการไฟล์บันทึก) => modules.py
- v0.39.3 -
check_global_rate_limit
แบบโมดูลาร์ => modules.py
- v0.39.2 - การแยกวิเคราะห์รูปแบบข้อความและการประมวลผลล่วงหน้า WhisperAPI STT สำหรับโมเดลได้รับการปรับปรุง
- v0.39 - การแยกวิเคราะห์ที่ดีขึ้นสำหรับ codeblocks, html และมาร์กอัปอื่น ๆ , ทำให้เป็นโมดูลมากขึ้น ดูที่
modules.py
- v0.38 - เก็บบันทึกการใช้โทเค็นรายวันได้ดีขึ้น คล่องตัว ( หมายเหตุ : คุณจะต้องล้าง
token_usage.json
ที่มีอยู่ออก โครงสร้างไฟล์มีการเปลี่ยนแปลงจากเวอร์ชันก่อนหน้า) - v0.37 - บังคับใช้ขีดจำกัดข้อความเสียงได้ดีขึ้น
- v0.36 - แก้ไขและปรับแต่งคำสั่งบอท
- v0.35 - คำสั่งบอทแบบโมดูลาร์เป็น
bot_commands.py
แก้ไขเวอร์ชัน configmerger.py
- v0.34 - เพิ่ม
configmerger.py
เพื่อความสะดวกในการอัปเดตบอท (รวมการตั้งค่าสถานะเก่าเข้ากับเวอร์ชันใหม่) - เวอร์ชัน 0.33 - การแก้ไขประสิทธิภาพเพิ่มเติมและเพิ่มฟังก์ชันอะซิงก์แบบครบวงจร
- v0.32 - การรีเซ็ตตัวนับโทเค็นรายวันและการแก้ไขข้อบกพร่องเล็กน้อย
- v0.31 - ตัวนับโทเค็นหน่วยความจำบริบทปรับและแก้ไขให้แม่นยำยิ่งขึ้น
- v0.30 - การปรับเปลี่ยนการโต้ตอบ Whisper API อย่างละเอียดและการแก้ไขเล็กน้อย
- v0.29 - เพิ่มการถอดเสียง WhisperAPI ผ่านข้อความเสียง
- ข้อความเสียง WhisperAPI ใช้โทเค็น OpenAI API เดียวกันกับเวอร์ชันแชทด้วยข้อความปกติ
- ดู
config.ini
เพื่อเปิดหรือปิดตัวเลือก - WIP สำหรับคุณสมบัติการถอดเสียงเพิ่มเติม
- v0.28 - ปรับแต่งได้
/start
คำทักทายใน config.ini
- v0.27 - เพิ่มคำสั่ง
/usage
เพื่อติดตามการใช้งานโทเค็น (สำหรับเจ้าของบอทเท่านั้น 0 เพื่อปิดการใช้งานใน config.ini
) - v0.26 - เพิ่มการบันทึกการแชทแยกต่างหากและฟังก์ชันการจำกัดทั่วโลกสำหรับคำขอ/นาที (ดู
config.ini
) - v0.25 - ฟังก์ชันจำกัดการใช้โทเค็นรายวัน
- เพิ่มฟังก์ชันการทำงานเพื่อกำหนดขีดจำกัดการใช้โทเค็นรายวัน (สำหรับการควบคุมต้นทุนบอท) ดูที่
config.ini
- ยูทิลิตี้พิเศษแบบโมดูลาร์ (ข้อความเริ่มต้น ฯลฯ ) ลงใน
utils.py
- v0.24 - แก้ไขข้อบกพร่องและจำกัดอัตราก่อนอัลฟา
- v0.23 - ตัวเลือกในการเข้าสู่ระบบไปยังไฟล์ที่เพิ่ม ดูตัวเลือกการบันทึกใหม่ใน
config.ini
- v0.22 -
escape_markdown
ย้ายไปยังไฟล์ .py
แยกต่างหาก แต่ก็ยังไม่ได้ใช้ - v0.21 - การปรับโครงสร้างใหม่อย่างครอบคลุมและการแนะนำการออกแบบเชิงวัตถุ
- นำหลักการเขียนโปรแกรมเชิงวัตถุไปใช้โดยการห่อหุ้มฟังก์ชันการทำงานของบอทภายในคลาส TelegramBot
- โครงสร้างโค้ดที่ได้รับการปรับปรุงเพื่อให้อ่านง่าย บำรุงรักษา และปรับขนาดได้ดีขึ้น
- v0.20 - การทำให้เป็นโมดูล ขั้นตอนที่ 1 (การอ่านคีย์ & โทเค็น:
api_key.py
, bot_token.py
) - v0.19 - แก้ไขข้อผิดพลาดการหมดเวลา ลองจัดการอีกครั้ง เพิ่มค่า
Timeout
ให้กับ config.ini
- v0.18 - สามารถตั้งค่าอุณหภูมิของโมเดลได้ใน
config.ini
แล้ว - v0.17 - การประทับเวลาและวันที่เพื่อการรับรู้ทางโลกที่ดีขึ้น
- v0.16 -
/help
& /about
- v0.15 - หน่วยความจำบริบทประวัติการแชท (ตัดแต่งด้วย MAX_TOKENS)
- v0.14 - แก้ไขข้อผิดพลาด
- v0.13 - การแยกวิเคราะห์/regex สำหรับชื่อ URL+มาร์กดาวน์ที่อยู่
- v0.12 - แยกวิเคราะห์ regex HTML เพิ่มเติมจาก Markdown API
- v0.11 - เปลี่ยนเป็นการแยกวิเคราะห์ HTML
- v0.10 - การทดลอง MarkdownV2 (บล็อคโค้ด + ตัวหนา ส่วนใหญ่ จะใช้งานได้)
- v0.09 - ใช้ MarkdownV2
- v0.08 - markdown สำหรับการตอบกลับของบอท
- v0.07 - บันทึกข้อความขาเข้าและขาออก
- v0.06 - แก้ไขข้อความระบบ API แล้ว
- v0.05 - ลองใหม่, ลองใหม่สูงสุด, ลองดีเลย์อีกครั้ง
- v0.04 - การตัดประวัติการแชท
มีส่วนช่วย
- ชื่นชมการมีส่วนร่วมทั้งหมด! อย่าลังเลที่จะโพสต์ข้อบกพร่องและปัญหาอื่น ๆ ได้ที่หน้า "ปัญหา" ของ repo
- อย่าลืมติดดาวถ้าคุณชอบมัน -
เกี่ยวกับ
- เขียนโดย FlyingFathead
- รหัสผีดิจิทัลโดย ChaosWhisperer