每個人都討厭做簡報幻燈片;如果你不這麼認為,那你應該有這種感覺。但嘿,這不是世界運作的方式。不管你是學術界還是產業界,PowerPoint 簡報都是不可避免的。
不過,這還是很無聊。正如智者德懷特·施魯特所說的那樣。
因此,我建立了一個 AI 驅動的工具,可以自動從資料集創建 PPT。
這個工具的功能如下:
以下是我們需要的庫來完成這項工作。
這裡是 Composio 的簡介。
Composio 是一個開源平台,提供構建 AI 應用程式的工具解決方案。它讓您好整合第三方應用程式,如 GitHub、Jira、Linear 和 Slack,來創建 AI 軟體工程師、GitHub PR 代理等。
Composio 擁有超過 100 種工具和整合,使開發者能夠構建全面的 AI 自動化軟體。
請幫我們點個星。 🥹
這將幫助我們創建更多這樣的文章 💖
{% cta https://dub.composio.dev/bMGi1lR %}給 Composio 倉庫點星 ⭐{% endcta %}
CrewAI 是一個開源框架,旨在輕鬆構建強大的 AI 代理。它支持所有流行的 LLM 推理提供者,如 OpenAI、Anthropic、Google、Groq 等。
瞭解更多關於 CrewAI 的資訊 這裡。
這就是 AI 代理將要做的。
python-pptx
庫創建 PowerPoint 幻燈片。首先,像任何 Python 專案一樣,創建一個虛擬環境。
python -m venv ppt-agent
cd ppt-agent
source bin/activate
接下來,安裝以下依賴項。
composio-crewai
langchain-openai
python-dotenv
.env
變數到本地 shell 環境。然後,創建一個 .env
文件並添加 OpenAI API 金鑰的環境變數。
OPENAI_API_KEY=your API key
要創建 OpenAI API 金鑰,請進入 官方 網站並在儀表板上創建 API 金鑰。
接下來,您需要登錄並進行 Composio 的認證。
composio login
這將打開一個選項卡要求您登錄。您可以使用 GitHub、Gmail 或任何電子郵件登錄。
登錄後,會出現帶有金鑰的屏幕。
複製它並粘貼到終端中。
現在,更新應用。
composio apps update
接下來,整合 Google 表格。
composio add googlesheet
您將被提示授予權限。批准後,您就完成了。
一旦您添加了整合,您可以從您的 Composio 儀表板監控它。
現在一切都準備好了,讓我們進入編碼部分。
正如我所說,此單文件代碼幾乎只有 50 行。那麼,讓我們開始吧。
首先,導入庫和模組,並加載 .env
變數到 shell 環境中。
from tabnanny import verbose
from urllib import response
from composio_crewai import ComposioToolSet, App, Action
from crewai import Crew, Agent, Task, Process
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
from pathlib import Path
import os
load_dotenv()
實例化 GPT-4o。
llm = ChatOpenAI(model='gpt-4o')
在這裡獲取您想使用的 Google 表格的 ID。您可以從您的表格網址中找到該 ID。
GOOGLE_SHEET_ID = '1i8OwCM_o2E4tmpZ18-2Jgu8G42ntPWoUgGhfbcyxnoo'
現在,初始化 Composio Toolset 實例以及代碼解釋器工具和 Google Sheets 的所有操作。
composio_toolset = ComposioToolSet(output_dir=Path("/Users/composio/Desktop/sample-projects/ppt_builder"))
tools = composio_toolset.get_tools(actions=[Action.CODEINTERPRETER_EXECUTE_CODE,
Action.CODEINTERPRETER_GET_FILE_CMD,
Action.CODEINTERPRETER_RUN_TERMINAL_CMD,
Action.GOOGLESHEETS_BATCH_GET])
以下是操作的摘要。
Action.CODEINTERPRETER_EXECUTE_CODE
:執行和解釋代碼以進行計算或數據變換。Action.CODEINTERPRETER_GET_FILE_CMD
:從指定位置或目錄檢索和處理文件。Action.CODEINTERPRETER_RUN_TERMINAL_CMD
:直接在系統上執行終端或 shell 命令。Action.GOOGLESHEETS_BATCH_GET
:批量從 Google Sheets 獲取數據以進行進一步處理或分析。接下來,使用 CrewAI 定義 PPT 代理。
ppt_agent = Agent(
role="Google Sheets Assistant",
goal="Read Google Sheets Data",
backstory=f"""
您是一個 AI 助手,專注於使用 Python-PPTX 庫創建 PowerPoint 簡報。
您的任務是分析來自提供的電子表格 ID: {GOOGLE_SHEET_ID} 的 Google Sheets 數據。
提取關鍵洞見,並根據這些數據生成相關圖表。
最後,創建一個結構良好的簡報,該簡報包括這些圖表和任何必要的圖像,確保格式專業且視覺吸引。
使用 Google Sheets 工具時,僅應將電子表格 ID 作為輸入參數傳遞。
注意:用戶通常傳遞小型表格,因此盡量一次性讀取整個表格,而不是透過範圍讀取。
""",
tools=tools,
)
該代理具有角色、目標和背景故事等參數。這些附加信息幫助 LLM 在執行任務時更好地做出回應。
接下來,定義任務。
agent_task = Task(
description=f"""
在 Google 表格上創建 ppt: {GOOGLE_SHEET_ID}.
創建沙盒
首先,檢索表格的內容,然後使用代碼解釋器 pip 安裝 python-pptx。
然後運行代碼以從數據創建圖表。
然後,使用 Python-pptx 寫代碼來創建 PowerPoint。
確保 ppt 詳細且格式得當,讓它看起來良好。圖表應該是事實性的。
注意:通常用戶會傳遞小型表格,因此儘量一次性讀取整個表格,而不是透過範圍讀取。
""",
expected_output="表格已讀取,圖表已繪製,簡報已創建",
tools=tools,
agent=ppt_agent,
verbose=True,
)
任務是程式中最關鍵的部分。以下是每個參數的含義。
最後,定義 Crew 並運行它。
crew = Crew(
agents=[ppt_agent],
tasks=[agent_task],
process=Process.sequential,
)
response= crew.kickoff()
Crew 包含 PPT 代理、任務,並且過程設置為按順序執行。
將所有內容整合在一起。
from tabnanny import verbose
from urllib import response
from composio_crewai import ComposioToolSet, App, Action
from crewai import Crew, Agent, Task, Process
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
from pathlib import Path
import os
load_dotenv()
llm = ChatOpenAI(model='gpt-4o')
#Settings.llm = Groq(model="llama3-groq-70b-8192-tool-use-preview")
#llm = Groq(model="llama3-groq-70b-8192-tool-use-preview")
GOOGLE_SHEET_ID = '1i8OwCM_o2E4tmpZ18-2Jgu8G42ntPWoUgGhfbcyxnoo'
#GOOGLE_SHEET_LINK + 'https://docs.google.com/spreadsheets/d/1i8OwCM_o2E4tmpZ18-2Jgu8G42ntPWoUgGhfbcyxnoo/edit?gid=0#gid=0z'
composio_toolset = ComposioToolSet(output_dir=Path("/Users/composio/Desktop/sample-projects/ppt_builder"))
tools = composio_toolset.get_tools(actions=[Action.CODEINTERPRETER_EXECUTE_CODE,
Action.CODEINTERPRETER_GET_FILE_CMD,
Action.CODEINTERPRETER_RUN_TERMINAL_CMD,
Action.GOOGLESHEETS_BATCH_GET])
ppt_agent = Agent(
role="Google Sheets Assistant",
goal="Read Google Sheets Data",
backstory=f"""
您是一個 AI 助手,專注於使用 Python-PPTX 庫創建 PowerPoint 簡報。
您的任務是分析來自提供的電子表格 ID: {GOOGLE_SHEET_ID} 的 Google Sheets 數據。
提取關鍵洞見,並生成相關圖表。
最後,創建一個結構良好的簡報,該簡報包括這些圖表和任何必要的圖像,確保格式專業且視覺吸引。
僅應將電子表格 ID 作為輸入參數傳遞。
注意:用戶通常會傳遞小型表格,因此儘量一次性讀取整個表格,而不是透過範圍讀取。
""",
tools=tools,
)
agent_task = Task(
description=f"""
在 Google 表格上創建 ppt: {GOOGLE_SHEET_ID}.
創建沙盒
首先,檢索表格的內容,然後使用代碼解釋器 pip 安裝 python-pptx。
然後運行代碼以從數據創建圖表。
然後,使用 Python-pptx 寫代碼來創建 PowerPoint。
確保 ppt 詳細且格式得當,讓它看起來良好。圖表應該是事實性的。
注意:通常用戶會傳遞小型表格,因此儘量一次性讀取整個表格,而不是透過範圍讀取。
""",
expected_output="表格已讀取,圖表已繪製,簡報已創建",
tools=tools,
agent=ppt_agent,
verbose=True,
)
crew = Crew(
agents=[ppt_agent],
tasks=[agent_task],
process=Process.sequential,
)
response= crew.kickoff()
現在,運行代碼並查看代理的運作過程。
python main.py
查看 AI 代理在終端日誌中創建最終 PPT 的步驟。
GOOGLESHEETS_BATCH_GET
操作從 Google 表格檢索數據。CODEINTERPRETER_EXECUTE_CODE
操作根據數據繪製圖表。python-pptx
庫自動創建 PowerPoint 幻燈片並將其保存到指定的路徑。完整代碼可以在 這裡 GitHub 上找到。
這裡是代理運作的範例。👇
{% embed https://x.com/KaranVaidya6/status/1839691051575267350 %}
在這篇文章中,您建立了一個 AI 工具,可以自動從電子表格創建 PowerPoint 簡報。然而,這些對於現實世界而言有點簡單。為了構建一個更強大的代理,您可以在此基礎上進行迭代,添加更多工具和多種數據格式(PDF、CSV、網頁等)。
這本身可以成為一個很好的產品,我可以想見實際上會有人在他們的工作中使用這樣的東西。
如果您在 Composio 上進行開發,請在社交媒體上標註我們;我們希望能在我們的 食譜 和擁有超過 10,000 名讀者的電子報中向您展示。
{% cta https://dub.composio.dev/bMGi1lR %}開始使用 Composio ⚡{% endcta %}