-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into example-video-captioning-agent-phi-2176
- Loading branch information
Showing
41 changed files
with
1,144 additions
and
87 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,4 +48,6 @@ data.db | |
|
||
.ipynb_checkpoints | ||
|
||
audio_generations | ||
|
||
*.db |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,19 @@ | ||
import base64 | ||
from phi.agent import Agent | ||
from phi.model.openai import OpenAIChat | ||
from phi.utils.audio import write_audio_to_file | ||
|
||
agent = Agent( | ||
model=OpenAIChat( | ||
id="gpt-4o-audio-preview", modalities=["text", "audio"], audio={"voice": "alloy", "format": "wav"} | ||
), | ||
debug_mode=True, | ||
add_history_to_messages=True, | ||
) | ||
|
||
agent.run("Is a golden retriever a good family dog?") | ||
if agent.run_response.audio is not None and "data" in agent.run_response.audio: | ||
wav_bytes = base64.b64decode(agent.run_response.audio["data"]) | ||
with open("tmp/answer_1.wav", "wb") as f: | ||
f.write(wav_bytes) | ||
if agent.run_response.response_audio is not None and "data" in agent.run_response.response_audio: | ||
write_audio_to_file(audio=agent.run_response.response_audio["data"], filename="tmp/answer_1.wav") | ||
|
||
agent.run("Why do you say they are loyal?") | ||
if agent.run_response.audio is not None and "data" in agent.run_response.audio: | ||
wav_bytes = base64.b64decode(agent.run_response.audio["data"]) | ||
with open("tmp/answer_2.wav", "wb") as f: | ||
f.write(wav_bytes) | ||
if agent.run_response.response_audio is not None and "data" in agent.run_response.response_audio: | ||
write_audio_to_file(audio=agent.run_response.response_audio["data"], filename="tmp/answer_2.wav") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
-- Create 'users' table | ||
CREATE TABLE IF NOT EXISTS users ( | ||
id INT AUTO_INCREMENT PRIMARY KEY, | ||
username VARCHAR(50) NOT NULL UNIQUE, | ||
email VARCHAR(100) NOT NULL UNIQUE, | ||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | ||
); | ||
|
||
-- Create 'products' table | ||
CREATE TABLE IF NOT EXISTS products ( | ||
id INT AUTO_INCREMENT PRIMARY KEY, | ||
name VARCHAR(100) NOT NULL, | ||
description TEXT, | ||
price DECIMAL(10,2) NOT NULL, | ||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | ||
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
from phi.agent import Agent | ||
from phi.tools.yfinance import YFinanceTools | ||
from phi.playground import Playground, serve_playground_app | ||
from phi.model.google import Gemini | ||
|
||
finance_agent = Agent( | ||
name="Finance Agent", | ||
model=Gemini(id="gemini-2.0-flash-exp"), | ||
tools=[YFinanceTools(stock_price=True)], | ||
debug_mode=True, | ||
) | ||
|
||
app = Playground(agents=[finance_agent]).get_app(use_async=False) | ||
|
||
if __name__ == "__main__": | ||
serve_playground_app("gemini_agents:app", reload=True) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
from phi.agent import Agent | ||
from phi.model.google import Gemini | ||
|
||
task = ( | ||
"Three missionaries and three cannibals need to cross a river. " | ||
"They have a boat that can carry up to two people at a time. " | ||
"If, at any time, the cannibals outnumber the missionaries on either side of the river, the cannibals will eat the missionaries. " | ||
"How can all six people get across the river safely? Provide a step-by-step solution and show the solutions as an ascii diagram" | ||
) | ||
|
||
agent = Agent(model=Gemini(id="gemini-2.0-flash-thinking-exp-1219"), markdown=True) | ||
agent.print_response(task, stream=True) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
"""Run `pip install yfinance` to install dependencies.""" | ||
|
||
from ollama import Client as OllamaClient | ||
from phi.agent import Agent, RunResponse # noqa | ||
from phi.model.ollama import Ollama | ||
from phi.playground import Playground, serve_playground_app | ||
from phi.tools.yfinance import YFinanceTools | ||
|
||
agent = Agent( | ||
model=Ollama(id="llama3.1:8b", client=OllamaClient()), | ||
tools=[YFinanceTools(stock_price=True)], | ||
markdown=True, | ||
) | ||
|
||
app = Playground(agents=[agent]).get_app() | ||
|
||
if __name__ == "__main__": | ||
serve_playground_app("agent_set_client:app", reload=True) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
docker run -d \ | ||
-e MYSQL_ROOT_PASSWORD=phi \ | ||
-e MYSQL_DATABASE=phi \ | ||
-e MYSQL_USER=phi \ | ||
-e MYSQL_PASSWORD=phi \ | ||
-p 3306:3306 \ | ||
-v mysql_data:/var/lib/mysql \ | ||
-v $(pwd)/cookbook/mysql-init:/docker-entrypoint-initdb.d \ | ||
--name mysql \ | ||
mysql:8.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
"""Run `pip install duckduckgo-search openai` to install dependencies.""" | ||
|
||
from phi.agent import Agent | ||
from phi.tools.duckduckgo import DuckDuckGo | ||
from phi.storage.agent.json import JsonFileAgentStorage | ||
|
||
agent = Agent( | ||
storage=JsonFileAgentStorage(dir_path="tmp/agent_sessions_json"), | ||
tools=[DuckDuckGo()], | ||
add_history_to_messages=True, | ||
) | ||
agent.print_response("How many people live in Canada?") | ||
agent.print_response("What is their national anthem called?") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
"""Run `pip install duckduckgo-search openai` to install dependencies.""" | ||
|
||
from phi.agent import Agent | ||
from phi.tools.duckduckgo import DuckDuckGo | ||
from phi.storage.agent.yaml import YamlFileAgentStorage | ||
|
||
agent = Agent( | ||
storage=YamlFileAgentStorage(dir_path="tmp/agent_sessions_yaml"), | ||
tools=[DuckDuckGo()], | ||
add_history_to_messages=True, | ||
) | ||
agent.print_response("How many people live in Canada?") | ||
agent.print_response("What is their national anthem called?") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
from phi.agent import Agent | ||
from phi.tools.confluence import ConfluenceTools | ||
|
||
|
||
agent = Agent( | ||
name="Confluence agent", | ||
tools=[ConfluenceTools()], | ||
show_tool_calls=True, | ||
markdown=True, | ||
) | ||
|
||
## getting space details | ||
agent.print_response("How many spaces are there and what are their names?") | ||
|
||
## getting page_content | ||
agent.print_response("What is the content present in page 'Large language model in LLM space'") | ||
|
||
## getting page details in a particular space | ||
agent.print_response("Can you extract all the page names from 'LLM' space") | ||
|
||
## creating a new page in a space | ||
agent.print_response("Can you create a new page named 'TESTING' in 'LLM' space") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
""" | ||
pip install elevenlabs | ||
""" | ||
|
||
from phi.agent import Agent | ||
from phi.model.openai import OpenAIChat | ||
from phi.tools.eleven_labs_tools import ElevenLabsTools | ||
|
||
audio_agent = Agent( | ||
model=OpenAIChat(id="gpt-4o"), | ||
tools=[ | ||
ElevenLabsTools( | ||
voice_id="21m00Tcm4TlvDq8ikWAM", model_id="eleven_multilingual_v2", target_directory="audio_generations" | ||
) | ||
], | ||
description="You are an AI agent that can generate audio using the ElevenLabs API.", | ||
instructions=[ | ||
"When the user asks you to generate audio, use the `generate_audio` tool to generate the audio.", | ||
"You'll generate the appropriate prompt to send to the tool to generate audio.", | ||
"You don't need to find the appropriate voice first, I already specified the voice to user." | ||
"Return the audio file name in your response. Don't convert it to markdown.", | ||
"The audio should be long and detailed.", | ||
], | ||
markdown=True, | ||
debug_mode=True, | ||
show_tool_calls=True, | ||
) | ||
|
||
audio_agent.print_response("Generate a very long audio of history of french revolution") | ||
|
||
|
||
audio_agent.print_response("Generate a kick sound effect") |
Oops, something went wrong.