Rumah >pembangunan bahagian belakang >Tutorial Python >Membina aplikasi Python mudah untuk meningkatkan produktiviti menggunakan AI dan API BotHub
Pernah meninggalkan mesyuarat dalam talian yang penting dengan tugasan yang diberikan dan idea dibincangkan, tetapi tidak ingat siapa yang berkata apa? Rasanya anda memerlukan pencatat yang berdedikasi untuk menjejaki segala-galanya dan menjana laporan. Penyelesaian yang lebih baik adalah dengan mengautomasikannya dengan skrip, itulah yang akan kami lakukan.
Dalam tutorial ini, saya akan menunjukkan kepada anda cara membuat aplikasi yang menganalisis mesyuarat dan menjana laporan secara automatik menggunakan API BotHub (Whisper-1 Claude 3.5 Sonnet). Aplikasi ini akan menyalin rakaman audio, mengenal pasti maklumat penting—siapa yang menyatakan tugas dan tugasan yang dibincangkan—dan menyusun laporan, termasuk versi PDF.
Sebelum kita bermula, mari pastikan kita telah memasang semua komponen yang diperlukan, termasuk Python dan perpustakaan yang diperlukan untuk bekerja dengan API dan fail audio. Kami akan memasang yang berikut:
Pasang pakej ini menggunakan pip:
pip install openai python-dotenv fpdf
Kami juga akan menggunakan pengelogan untuk menjejaki pelaksanaan program dan merekod sebarang ralat atau mesej penting. Kami akan menyediakan pengelogan asas di peringkat INFO:
import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__)
Untuk berinteraksi dengan API BotHub, anda perlu mendaftar pada platform BotHub terlebih dahulu dan mendapatkan kunci API. Kunci ini digunakan untuk mengesahkan permintaan yang akan kami hantar.
Untuk storan kunci selamat, buat fail .env dalam direktori akar projek anda dan tambah kunci API yang anda jana:
KEDUA_API_KEY=kunci_api_anda
Seterusnya, gunakan fungsi load_dotenv() perpustakaan dotenv untuk memuatkan data daripada fail .env, menjadikannya boleh diakses oleh kod kami:
from dotenv import load_dotenv load_dotenv()
Untuk bekerja dengan API BotHub, buat contoh OpenAI, menyediakan api_key dan base_url untuk perkhidmatan BotHub. Kunci API dimuatkan daripada persekitaran menggunakan os.getenv('BOTHUB_API_KEY'):
import os from openai import OpenAI client = OpenAI( api_key=os.getenv('BOTHUB_API_KEY'), base_url='https://bothub.chat/api/v2/openai/v1' )
Langkah ini melibatkan mencipta fungsi yang menyalin fail audio ke dalam teks. Kami akan menggunakan API BotHub dan Whisper-1 untuk pengecaman pertuturan. Fail audio dibuka dalam mod baca binari (rb), dan kemudian kami menggunakan kaedah client.audio.transcriptions.create untuk menghantar fail audio ke pelayan untuk diproses. Respons mengandungi transkripsi teks. Jika transkripsi berjaya, mesej "Transkripsi selesai" dilog dan teks dikembalikan untuk pemprosesan selanjutnya. Sekiranya berlaku ralat, mesej ralat direkodkan.
pip install openai python-dotenv fpdf
Selepas transkripsi, kami mempunyai teks mesyuarat kami. Kini, matlamat kami adalah untuk mengeluarkan cerapan utama, seperti tugasan yang dibincangkan, keputusan yang dibuat dan sebarang masalah yang dikenal pasti. Menggunakan client.chat.completions.create, kami membuat permintaan untuk mengekstrak perkara utama ini, menyatakan model, teks mesyuarat dan permintaan dalam format mesej, di mana kami mengarahkan model untuk mengenal pasti tugas dan masalah utama. Fungsi ini mengembalikan rentetan yang mengandungi cerapan utama apabila pelaksanaan berjaya.
import logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__)
Kami juga boleh menganalisis sentimen teks mesyuarat. Sama seperti extract_key_points, kami menggunakan client.chat.completions.create untuk meminta analisis sentimen bagi teks yang disediakan. Fungsi ini mengembalikan hasil analisis sentimen atau mesej ralat.
from dotenv import load_dotenv load_dotenv()
Setelah cerapan utama dan analisis sentimen selesai, kami perlu menyusunnya ke dalam laporan. Laporan ini hendaklah logik, koheren, dan ringkas. Kami menggunakan client.chat.completions.create, menyediakan permintaan dengan perkara utama dan analisis sentimen, membolehkan API menjana teks laporan akhir. Fungsi ini mengembalikan teks laporan apabila berjaya disiapkan.
import os from openai import OpenAI client = OpenAI( api_key=os.getenv('BOTHUB_API_KEY'), base_url='https://bothub.chat/api/v2/openai/v1' )
Untuk memudahkan penyimpanan dan perkongsian yang mudah, kami menyimpan laporan sebagai PDF. Kami menggunakan perpustakaan FPDF untuk penciptaan PDF. Kami menambah halaman, dayakan pembalut teks automatik dengan multi_cell. Selepas mencipta dan mengisi halaman dengan teks laporan, kami menyimpan laporan menggunakan output(laluan_fail).
def transcribe_audio(audio_file_path): try: with open(audio_file_path, "rb") as audio_file: transcript = client.audio.transcriptions.create( model="whisper-1", file=audio_file ) logger.info("Transcription complete.") return transcript.text except Exception as e: logger.error(f"Error during audio transcription: {e}") return None
Fungsi ini mengatur semua langkah sebelumnya. Ia bermula dengan menyalin audio. Jika transkripsi gagal, mesej ralat dipaparkan, dan fungsi ditamatkan. Seterusnya, ia memanggil fungsi untuk mengekstrak cerapan utama. Jika ralat berlaku, ia mengembalikan mesej yang sesuai. Analisis sentimen dilakukan dengan cara yang sama, dan jika berjaya, teks laporan dijana. Jika semua langkah berjaya diselesaikan, save_report_as_pdf dipanggil untuk menyimpan laporan dalam format PDF. Akhirnya, fungsi mengembalikan teks laporan yang dijana.
def extract_key_points(meeting_text): try: response = client.chat.completions.create( model="claude-3.5-sonnet", messages=[ { "role": "user", "content": f"Analyze the following meeting transcript and extract key insights, such as tasks, decisions, and discussed problems:\n\n{meeting_text}" } ] ) logger.info("Key insight extraction complete.") return response.choices[0].message.content except Exception as e: logger.error(f"Error extracting key insights: {e}") return None
Kesimpulannya, kami telah membina aplikasi kecil yang boleh meningkatkan produktiviti anda dan membantu anda menguruskan masa anda dengan lebih berkesan. Kami melaksanakan satu siri fungsi teras, termasuk transkripsi audio, pengekstrakan cerapan utama, penjanaan laporan dan menyimpan laporan dalam format PDF. Alat ini akan membantu anda menjejaki idea dan tugasan penting, menjimatkan masa dan usaha anda.
Semoga ini membantu! Jika ya, sebarang sokongan dialu-alukan, terima kasih kerana membaca! ?
Atas ialah kandungan terperinci Membina aplikasi Python mudah untuk meningkatkan produktiviti menggunakan AI dan API BotHub. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!