首頁 > web前端 > js教程 > 在 Django 網站中建立基於 AI 的摘要

在 Django 網站中建立基於 AI 的摘要

Mary-Kate Olsen
發布: 2024-11-30 06:13:10
原創
985 人瀏覽過

總結冗長的文字可能很乏味,尤其是在 PyBazaar 這樣的平台上,簡潔的摘要可以改善使用者體驗。在這篇文章中,我將分享如何使用 Simplemind 和 Gemini 在我的基於 Django 的專案中自動化此流程。

背景資訊

最近,我推出了 PyBazaar.com,這是一個供 Python 開發人員展示技能、尋找工作機會以及發布和查找開發資源的網站。其目的是為 Python 開發人員提供一個可以行銷他們的服務、產品或專案的中心場所。

PyBazaar 在詳細檢視中顯示職業機會和資源的冗長描述,在清單檢視中顯示簡短摘要。摘要可協助使用者快速掌握資源和職業機會的內容,而無需開啟每個詳細視圖,從而增強 PyBazaar 的整體瀏覽體驗。為了讓編輯更順暢,我引入了基於AI的自動摘要。

Creating AI-based Summaries in a Django Website

選擇 Simplemind 與法學碩士進行交流

Kenneth Reitz,著名包 requests 的作者,最近發布了他的最新作品——Simplemind——它改善了開發人員使用大型語言模型 (LLM) API 的體驗。我認為這是一個嘗試將他的包整合到 PyBazaar 的好機會。

雖然我選擇 Google Gemini 作為免費套餐,但 Simplemind 對 OpenAI 或 Claude 等供應商的支援意味著開發人員可以根據需要擴展以獲得更高級的功能或更精確的結果。

設定 API 金鑰

首先,我必須在 Google AI Studio 取得 API 金鑰。

Django 集成

然後我安裝了SimplMind:

但是,在等待其中一個依賴項 (grpcio) 在我的 Mac 上編譯時,我有時間喝一杯能量飲料,並有足夠的時間滾動瀏覽一半的社交媒體源。

SimplMind 希望在環境變數中定義 LLM API 金鑰。在我的 Django 專案中,我將機密儲存在 JSON 檔案中,Git 會忽略該文件,並使用我編寫的實用函數 get_secret() 讀取這些值。

所以,我在 Django 設定中新增了這些行:

我創建了一個簡單的視圖,它獲取發布的 HTML 內容,要求 LLM 對其進行總結,並將摘要返回給用戶:

如您所見,Simplemindrequests 應用程式一樣優雅。如果我需要更進階的結果或更聰明的查詢,我可以輕鬆切換到 O​​penAI 或 Claude。

我使用 strip_tags() 來減少標記計數,並使用 strip() 來刪除前導和尾隨空格。

為了提高視圖的效能,我也可以使用 ASGI 或後台任務,但當 PyBazaar 有更多使用者時需要考慮這一點。

摘要按鈕有其模板,我將其包含在我的Django Crispy Forms 佈局中:layout.HTML("""{% include "summarizer/includes/summarize_button.html" %}"""):

當使用者點擊“Summarize by AI”按鈕時,Javascript 會暫時停用該按鈕,將其文字變更為“Summarizing...”,從QuillJS 欄位讀取HTML 值,並將其發佈為{"content ": "..."} 到摘要視圖。收到 {"summary": "..."} 形式的摘要後,Javascript 會填入摘要文字區域並使按鈕再次可點擊。

結論

SimplMind 使用智慧預設設定使 LLM 的使用變得更加容易,因此開發人員無需調整溫度或 max_tokens 等複雜的設定。

Gemini LLM 可以免費使用,對於像這樣的簡單功能和中等數量的活躍用戶來說似乎足夠了。

我僅用了半天時間就在 PyBazaar 上實現了此摘要功能,並且我可以輕鬆地調整此集成以生成元描述、電子郵件草稿或個性化推薦。

如果您是 Python 開發人員,希望展示自己的技能、共享資源或尋找機會,請立即造訪 PyBazaar.com!


封面照片由Caio拍攝

以上是在 Django 網站中建立基於 AI 的摘要的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板