Vezetői összefoglaló / Legfontosabb tanulságok
- Az Àkàndé ⧉ egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszéd-szöveg átalakítást, a GPT-4 chat completions szolgáltatást, egy helyi SQLite válasz-gyorsítótárat és az fpdf2 PDF-exportot egyetlen hangvezérelt munkafolyamattá fűzi össze, amelyhez nincs szükség felhőalapú tárolásra és helyi MI-modellsúlyokra.
- Az SQLite gyorsítótár a normalizált lekérdezési karakterláncok SHA-256 hasheit tárolja, nyers API-válaszszöveghez rendelve; a gyorsítótár-találatok nulla tokenbe kerülnek, és 10 ms-nál rövidebb idő alatt térnek vissza, így az ismételt lekérdezések (például egy megbeszélés korábbi döntésének áttekintése) lényegében ingyenesek.
- A többfordulós beszélgetést a
messageslista memóriában való felépítése és minden Chat Completions API-hívásnál való átadása tartja fenn: a modell megkapja a teljes munkamenet-előzményt, így hivatkozhat a korábbi váltásokra, cserébe fordulónként fokozatosan növekvő tokenhasználatért.- A PDF-összefoglaló generálása a munkamenet
messageslistáját formázott fpdf2 dokumentummá szerializálja: a felhasználói és az asszisztensi fordulók címkézve vannak, időbélyegek kerülnek beszúrásra, az automatikus lapozás pedig bármilyen hosszúságú munkamenetet kezel; a fájl a helyi fájlrendszerbe íródik, nem töltődik fel.- Adatvédelmi határ: csak az élő lekérdezés (és a munkamenet-előzmény a kontextusablak határáig) hagyja el az eszközt; semmilyen hangfelvétel, átirat vagy gyorsítótárazott válasz nem kerül elküldésre az OpenAI API-ján kívül más távoli szolgáltatásnak.
Az Àkàndé ⧉ egy nyílt forráskódú Python hangasszisztens, amely három egymással kombinálható komponensre épül: az OpenAI Whisperre a beszédfelismeréshez, a GPT-4 Chat Completions API-ra a nyelvi megértéshez és -generáláshoz, valamint egy helyi SQLite adatbázisra a válaszok gyorsítótárazásához és a munkamenet megőrzéséhez. Az eredmény egy hangvezérelt munkafolyamat, amely laptopon futtatható helyi modellsúlyok, offline tárolási infrastruktúra vagy konténer-verem nélkül.
Ez a cikk bemutatja az egyes komponensek műszaki architektúráját, a gyorsítótárazással és a többfordulós kontextussal kapcsolatos tervezési döntéseket, valamint a PDF-export folyamatát.
A folyamat áttekintése
Egyetlen Àkàndé-interakció a következő sorrendet követi:
- Hangrögzítés: a felhasználó beszél; az alkalmazás a
sounddevicevagy egy kompatibilis hangkönyvtár segítségével egy ideiglenes WAV-fájlba rögzíti a hangot. - Beszéd-szöveg átalakítás: a WAV-fájl az
openai.audio.transcriptions.create()hívásnak (Whisper API) kerül átadásra; az átirat egyszerű karakterláncként tér vissza. - Gyorsítótár-keresés: az átirat normalizálásra kerül (kisbetűssé alakítva, a szóközök összevonásával) és SHA-256 hasht kap; a hasht a program a helyi SQLite
response_cachetáblájában keresi meg. - API-hívás vagy gyorsítótár-találat: hiány esetén az átirat hozzáfűződik a munkamenet
messageslistájához, és elküldésre kerül azopenai.chat.completions.create()hívásnak; a válaszszöveg a gyorsítótárba kerül. - Szövegfelolvasás: a válaszszöveg az
openai.audio.speech.create()végpont (TTS) vagy egy helyi TTS-könyvtár segítségével hanggá alakul, és lejátszásra kerül. - PDF-export (igény szerint): a teljes
messageslista formázott fpdf2 dokumentummá szerializálódik, és lemezre íródik.
OpenAI-integráció: Chat Completions és Whisper
Az Àkàndé mind a beszédfelismeréshez, mind a szöveggeneráláshoz az openai Python SDK-t használja. A Whisper átírási hívás:
with open(audio_file_path, "rb") as f:
transcript = openai.audio.transcriptions.create(
model="whisper-1",
file=f,
language=None # automatikus felismerés
)
user_text = transcript.text
A Chat Completions hívás egy munkamenet-hatókörű messages listát tart fenn:
messages.append({"role": "user", "content": user_text})
response = openai.chat.completions.create(
model="gpt-4-turbo-preview",
messages=messages,
temperature=0.2,
max_tokens=1024
)
assistant_text = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_text})
A rendszerpromptot a munkamenet indításakor egyszer fűzi az elejére, és ez vezérli az Àkàndé perszónáját, a kimeneti formátumot és minden tartományspecifikus megkötést:
messages = [
{
"role": "system",
"content": (
"You are Àkàndé, a concise executive assistant. "
"Respond in plain prose. Do not use markdown. "
"If asked to summarise, produce three bullet points maximum."
)
}
]
A temperature=0.2 beállítás a kreatív változatosságot a determinizmusra cseréli, ami fontos az olyan tényszerű lekérdezéseknél, mint egy korábbi munkamenet-döntés felidézése.
SQLite válasz-gyorsítótár
A gyorsítótár sémája minimális:
CREATE TABLE IF NOT EXISTS response_cache (
query_hash TEXT PRIMARY KEY,
response TEXT NOT NULL,
created_at INTEGER NOT NULL -- Unix időbélyeg
);
A keresési és írási útvonal:
import hashlib, sqlite3, time
def _normalise(text: str) -> str:
return " ".join(text.lower().split())
def cache_get(conn: sqlite3.Connection, query: str) -> str | None:
h = hashlib.sha256(_normalise(query).encode()).hexdigest()
row = conn.execute(
"SELECT response FROM response_cache WHERE query_hash = ?", (h,)
).fetchone()
return row[0] if row else None
def cache_set(conn: sqlite3.Connection, query: str, response: str) -> None:
h = hashlib.sha256(_normalise(query).encode()).hexdigest()
conn.execute(
"INSERT OR REPLACE INTO response_cache VALUES (?, ?, ?)",
(h, response, int(time.time()))
)
conn.commit()
Az INSERT OR REPLACE biztosítja, hogy egy gyorsítótárazott válasz frissüljön, ha ugyanaz a lekérdezés egy modellfrissítés után újra beérkezik. Egy TTL-alapú eltávolítási lekérdezés (DELETE WHERE created_at < ?) indításkor ütemezhető a gyorsítótár méretének korlátozására.
Gyorsítótár-találati teljesítmény: egy helyi SSD-n futó SQLite-keresés 1 ms-nál rövidebb idő alatt tér vissza akár ~100 000 sort tartalmazó tábláknál is. Egy élő GPT-4 API-hívás oda-vissza késleltetése rövid válaszok esetén jellemzően 600–900 ms. Egy napi eligazításnál, amely néhány ismételt lekérdezést tartalmaz, a gyorsítótár az első munkamenet után az API-hívások többségét kiküszöböli.
PDF-összefoglaló generálása
A PDF-export az fpdf2 könyvtárat használja, egy karbantartott, bináris függőségek nélküli Python PDF-könyvtárat:
from fpdf import FPDF
from datetime import datetime
def export_session_pdf(messages: list[dict], output_path: str) -> None:
pdf = FPDF()
pdf.add_page()
pdf.set_font("Helvetica", size=11)
pdf.set_margins(20, 20, 20)
pdf.set_font("Helvetica", "B", 14)
pdf.cell(0, 10, f"Àkàndé Session — {datetime.now():%Y-%m-%d %H:%M}", ln=True)
pdf.ln(4)
for msg in messages:
if msg["role"] == "system":
continue
label = "You" if msg["role"] == "user" else "Àkàndé"
pdf.set_font("Helvetica", "B", 10)
pdf.cell(0, 6, label, ln=True)
pdf.set_font("Helvetica", size=10)
pdf.multi_cell(0, 5, msg["content"])
pdf.ln(3)
pdf.output(output_path)
A multi_cell() kezeli a sortörést és az automatikus oldaltöréseket, így bármilyen hosszúságú munkamenet jól formázott dokumentumot eredményez manuális lapozási logika nélkül. A kimenet egy PDF/A-kompatibilis fájl, amely a szabványos Helvetica-metrikákon túl nem tartalmaz beágyazott betűtípusokat.
Adatvédelmi modell
Az Àkàndé adatvédelmi határát három tény határozza meg:
- A hang HTTPS-en keresztül kerül a Whisper API-hoz, és az OpenAI az API-híváson túl nem őrzi meg (az OpenAI 2024. februári API-adathasználati szabályzata szerint).
- A Chat Completions API-hívások továbbítják a munkamenet
messageslistáját, amely többfordulós munkameneteknél a teljes beszélgetési előzményt tartalmazhatja. - Az SQLite adatbázis és a PDF-fájlok teljes egészében a helyi fájlrendszerben találhatók; semmilyen háttérszinkronizáció nem történik felhőszolgáltatással.
Az érzékeny témákat érintő vezetői felhasználási esetekben, mint az M&A-tárgyalások, személyzeti ügyek vagy szabályozási stratégia, az API-nak továbbított munkamenet-előzményt a bevezetés előtt felül kell vizsgálni a szervezet MI-használati szabályzatával szemben. A rendszerpromptra vonatkozó max_tokens korlát felhasználható arra, hogy megakadályozza a szándékolt nyilvánosságra hozatali körön túlmutató kontextus véletlen továbbítását.
Gyakran ismételt kérdések
Megőrzi az Àkàndé a beszélgetési előzményeket a munkamenet befejezése után?
A memóriában tárolt messages lista a folyamat kilépésekor törlődik. A beszélgetési előzmény csak akkor marad meg, ha a felhasználó PDF-exportot indít, vagy ha egyéni megőrzési réteget adnak hozzá. Az SQLite gyorsítótár a lekérdezési hasheket és a válaszszöveget tárolja, nem a teljes beszélgetési kontextust.
Hogyan kezeli a gyorsítótár a hasonló, de nem azonos lekérdezéseket? A gyorsítótár pontos egyezésű hashelést használ a normalizált lekérdezési karakterláncon. Két lekérdezés, amely egyetlen szóban tér el, eltérő hasheket eredményez, és külön API-hívásokat von maga után. A szemantikus gyorsítótárazás (beágyazási hasonlóság használata a közel duplikált lekérdezések egyeztetésére) egy további vektorkeresési lépést igényelne, és nem része az alap implementációnak.
Milyen GPT-modellt használ az Àkàndé alapértelmezés szerint?
Az alapértelmezett a gpt-4-turbo-preview 2024 februárjában. A modell neve konfigurációs paraméter, így bármely OpenAI chat completion modell behelyettesíthető. A gpt-3.5-turbo-ra váltás tokenenként körülbelül 20-szorosára csökkenti az API-költséget, de rontja az érvelési minőséget összetett, többlépéses lekérdezéseknél.
Testreszabható a PDF-export formátuma?
Igen. Az fpdf2 exportfüggvény egyetlen kötelező bemenetként a messages listát fogadja, így a betűtípus, a margók, az oldalméret, a fejléc tartalma és a címkézés mind módosítható az exportfüggvény szerkesztésével. Az fpdf2 támogatja képek, táblázatok és Unicode-betűtípusok hozzáadását is, ami gazdagabb dokumentumelrendezéseket tesz lehetővé az egyedi arculati követelményekkel rendelkező szervezetek számára.
Hivatkozások
- OpenAI. Audio Transcriptions — Whisper API. OpenAI Platform Documentation, 2024. https://platform.openai.com/docs/api-reference/audio/createTranscription
- OpenAI. Chat Completions API. OpenAI Platform Documentation, 2024. https://platform.openai.com/docs/api-reference/chat/create
- Voss, J. et al. fpdf2: Modern PDF generation for Python. GitHub, 2024. https://github.com/py-pdf/fpdf2
- SQLite Consortium. SQLite Documentation. sqlite.org, 2024. https://www.sqlite.org/docs.html
Utolsó felülvizsgálat .
A cikk keresztközlése
Medium-formátumban másolás
# Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau > Originally published at [https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/](https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/) Az Àkàndé egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszédfelismerést, a GPT-4 chat completions szolgáltatást és egy helyi SQLite válasz-gyorsítótárat fűz össze egyetlen hangvezérelt munkafolyamattá: PDF-összefoglalókat készít a beszélgetési előzményekből, és minden tárolt adatot helyben tart. Read the full article on sebastienrousseau.com: https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/
Mastodon-formátumban másolás
Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau Az Àkàndé egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszédfelismerést, a GPT-4 chat completions szolgáltatást és egy helyi SQLite válasz-gyorsítótárat fűz össze egyetlen hangvezérelt munkafolyamattá: PDF-összefoglalókat készít a beszélgetési előzményekből, és minden tárolt… https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/
LinkedIn-formátumban másolás
Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau Az Àkàndé egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszédfelismerést, a GPT-4 chat completions szolgáltatást és egy helyi SQLite válasz-gyorsítótárat fűz össze egyetlen hangvezérelt munkafolyamattá: PDF-összefoglalókat készít a beszélgetési előzményekből, és minden tárolt adatot helyben tart. Íme a legfontosabb stratégiai tanulságok: - A folyamat áttekintése. Egyetlen Àkàndé-interakció a következő sorrendet követi:. - OpenAI-integráció: Chat Completions és Whisper. Az Àkàndé mind a beszédfelismeréshez, mind a szöveggeneráláshoz az openai Python SDK-t használja. - SQLite válasz-gyorsítótár. A gyorsítótár sémája minimális:. - PDF-összefoglaló generálása. A PDF-export az fpdf2 könyvtárat használja, egy karbantartott, bináris függőségek nélküli Python PDF-könyvtárat:. Mi az Ön szervezetének megközelítése az e cikkben felvázolt kihívásokhoz? → https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/ #Àkàndé #OpenaiGpt4 #WhisperStt #SqliteGyorsítótárazás #Fpdf2 Sebastien Rousseau | CC-BY-4.0
A cikk idézése
Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau
Az Àkàndé egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszédfelismerést, a GPT-4 chat completions szolgáltatást és egy helyi SQLite válasz-gyorsítótárat fűz össze egyetlen hangvezérelt munkafolyamattá: PDF-összefoglalókat készít a beszélgetési előzményekből, és minden tárolt adatot helyben tart.
BibTeX
@online{rousseau2024àkàndé,
author = {Rousseau, Sebastien},
title = {{Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau}},
year = {2024},
url = {https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/},
urldate = {2024}
}RIS
TY - GEN AU - Rousseau, Sebastien TI - Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau PY - 2024 UR - https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/ ER -
Vancouver
Rousseau S. Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau. sebastienrousseau.com. 2024 Feb 12. Available from: https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/
Chicago
Rousseau, Sebastien. "Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau." sebastienrousseau.com. February 12, 2024. https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/.
APA
Rousseau, S. (2024, February 12). Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau. sebastienrousseau.com. https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/
A cikk újraközlése
Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau
Az Àkàndé egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszédfelismerést, a GPT-4 chat completions szolgáltatást és egy helyi SQLite válasz-gyorsítótárat fűz össze egyetlen hangvezérelt munkafolyamattá: PDF-összefoglalókat készít a beszélgetési előzményekből, és minden tárolt adatot helyben tart.
Ez a cikk a következő licenc alatt áll: Creative Commons Attribution 4.0 International. Az újraközléshez a kanonikus URL forrásmegjelölése szükséges.
Àkàndé: GPT-alapú hangasszisztens vezetőknek — Sebastien Rousseau Az Àkàndé egy nyílt forráskódú Python hangasszisztens, amely az OpenAI Whisper beszédfelismerést, a GPT-4 chat completions szolgáltatást és egy helyi SQLite válasz-gyorsítótárat fűz össze egyetlen hangvezérelt munkafolyamattá: PDF-összefoglalókat készít a beszélgetési előzményekből, és minden tárolt adatot helyben tart. Originally published at https://sebastienrousseau.com/hu/2024-02-12-akande-voice-assistant-revolutionising-personal-and-executive-assistance/ by Sebastien Rousseau. Licensed under CC-BY-4.0.
