Rumah >pembangunan bahagian belakang >Tutorial Python >Membina aplikasi Python mudah untuk meningkatkan produktiviti menggunakan AI dan API BotHub

Membina aplikasi Python mudah untuk meningkatkan produktiviti menggunakan AI dan API BotHub

Barbara Streisand
Barbara Streisandasal
2024-11-15 12:40:03878semak imbas

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.

Menyediakan Ketergantungan dan Konfigurasi Projek

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:

  • os dan pathlib.Path: untuk bekerja dengan pembolehubah persekitaran dan laluan fail;
  • dotenv: untuk memuatkan data sensitif daripada fail .env;
  • fpdf: untuk menjana fail PDF;
  • openai: untuk berinteraksi dengan BotHub API.

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.

Building a simple Python app to boost productivity using AI and the BotHub API

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'
)

Fungsi Teras untuk Pemprosesan Audio

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

Mengekstrak Cerapan Utama

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__)

Analisis Sentimen

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()

Penjanaan Laporan

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 Utama

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn