-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1540 from phidatahq/release/2.7.0
Release 2.7.0
- Loading branch information
Showing
23 changed files
with
606 additions
and
68 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
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,24 @@ | ||
from phi.agent import Agent | ||
from phi.model.openai import OpenAIChat | ||
from phi.tools.replicate import ReplicateTools | ||
|
||
"""Create an agent specialized for Replicate AI content generation""" | ||
|
||
video_agent = Agent( | ||
name="Video Generator Agent", | ||
model=OpenAIChat(id="gpt-4o"), | ||
tools=[ | ||
ReplicateTools(model="tencent/hunyuan-video:847dfa8b01e739637fc76f480ede0c1d76408e1d694b830b5dfb8e547bf98405") | ||
], | ||
description="You are an AI agent that can generate videos using the Replicate API.", | ||
instructions=[ | ||
"When the user asks you to create a video, use the `generate_media` tool to create the video.", | ||
"Return the URL as raw to the user.", | ||
"Don't convert video URL to markdown or anything else.", | ||
], | ||
markdown=True, | ||
debug_mode=True, | ||
show_tool_calls=True, | ||
) | ||
|
||
video_agent.print_response("Generate a video of a horse in the dessert.") |
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.model.openai import OpenAIChat | ||
from phi.tools.replicate import ReplicateTools | ||
|
||
"""Create an agent specialized for Replicate AI content generation""" | ||
|
||
image_agent = Agent( | ||
name="Image Generator Agent", | ||
model=OpenAIChat(id="gpt-4o"), | ||
tools=[ReplicateTools(model="luma/photon-flash")], | ||
description="You are an AI agent that can generate images using the Replicate API.", | ||
instructions=[ | ||
"When the user asks you to create an image, use the `generate_media` tool to create the image.", | ||
"Return the URL as raw to the user.", | ||
"Don't convert image URL to markdown or anything else.", | ||
], | ||
markdown=True, | ||
debug_mode=True, | ||
show_tool_calls=True, | ||
) | ||
|
||
image_agent.print_response("Generate an image of a horse in the dessert.") |
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,20 @@ | ||
from phi.agent import Agent | ||
from phi.model.openai import OpenAIChat | ||
from phi.tools.fal_tools import FalTools | ||
|
||
fal_agent = Agent( | ||
name="Fal Video Generator Agent", | ||
model=OpenAIChat(id="gpt-4o"), | ||
tools=[FalTools("fal-ai/hunyuan-video")], | ||
description="You are an AI agent that can generate videos using the Fal API.", | ||
instructions=[ | ||
"When the user asks you to create a video, use the `generate_media` tool to create the video.", | ||
"Return the URL as raw to the user.", | ||
"Don't convert video URL to markdown or anything else.", | ||
], | ||
markdown=True, | ||
debug_mode=True, | ||
show_tool_calls=True, | ||
) | ||
|
||
fal_agent.print_response("Generate video of balloon in the ocean") |
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,33 @@ | ||
from phi.agent import Agent | ||
from phi.knowledge.pdf import PDFUrlKnowledgeBase | ||
from phi.vectordb.pgvector import PgVector | ||
from phi.tools.exa import ExaTools | ||
|
||
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai" | ||
|
||
knowledge_base = PDFUrlKnowledgeBase( | ||
urls=[ | ||
"https://www.poshantracker.in/pdf/Awareness/MilletsRecipeBook2023_Low%20Res_V5.pdf", | ||
"https://www.cardiff.ac.uk/__data/assets/pdf_file/0003/123681/Recipe-Book.pdf", | ||
], | ||
vector_db=PgVector(table_name="recipes", db_url=db_url), | ||
) | ||
knowledge_base.load(recreate=False) | ||
|
||
recipe_agent = Agent( | ||
name="RecipeGenie", | ||
knowledge_base=knowledge_base, | ||
search_knowledge=True, | ||
tools=[ExaTools()], | ||
markdown=True, | ||
instructions=[ | ||
"Search for recipes based on the ingredients and time available from the knowledge base.", | ||
"Include the exact calories, preparation time, cooking instructions, and highlight allergens for the recommended recipes.", | ||
"Always search exa for recipe links or tips related to the recipes apart from knowledge base.", | ||
"Provide a list of recipes that match the user's requirements and preferences.", | ||
], | ||
) | ||
|
||
recipe_agent.print_response( | ||
"I have potatoes, tomatoes, onions, garlic, ginger, and chicken. Suggest me a quick recipe for dinner", 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
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,45 @@ | ||
from phi.agent import Agent | ||
from phi.llm.openai import OpenAIChat | ||
from phi.tools.lumalab import LumaLabTools | ||
|
||
"""Create an agent specialized for Luma AI video generation""" | ||
|
||
luma_agent = Agent( | ||
name="Luma Video Agent", | ||
agent_id="luma-video-agent", | ||
llm=OpenAIChat(model="gpt-4o"), | ||
tools=[LumaLabTools()], # Using the LumaLab tool we created | ||
markdown=True, | ||
debug_mode=True, | ||
show_tool_calls=True, | ||
instructions=[ | ||
"You are an agent designed to generate videos using the Luma AI API.", | ||
"You can generate videos in two ways:", | ||
"1. Text-to-Video Generation:", | ||
" - Use the generate_video function for creating videos from text prompts", | ||
" - Default parameters: loop=False, aspect_ratio='16:9', keyframes=None", | ||
"2. Image-to-Video Generation:", | ||
" - Use the image_to_video function when starting from one or two images", | ||
" - Required parameters: prompt, start_image_url", | ||
" - Optional parameters: end_image_url, loop=False, aspect_ratio='16:9'", | ||
" - The image URLs must be publicly accessible", | ||
"Choose the appropriate function based on whether the user provides image URLs or just a text prompt.", | ||
"The video will be displayed in the UI automatically below your response, so you don't need to show the video URL in your response.", | ||
"Politely and courteously let the user know that the video has been generated and will be displayed below as soon as its ready.", | ||
"After generating any video, if generation is async (wait_for_completion=False), inform about the generation ID", | ||
], | ||
system_message=( | ||
"Use generate_video for text-to-video requests and image_to_video for image-based " | ||
"generation. Don't modify default parameters unless specifically requested. " | ||
"Always provide clear feedback about the video generation status." | ||
), | ||
) | ||
|
||
luma_agent.run("Generate a video of a car in a sky") | ||
# luma_agent.run("Transform this image into a video of a tiger walking: https://upload.wikimedia.org/wikipedia/commons/thumb/3/3f/Walking_tiger_female.jpg/1920px-Walking_tiger_female.jpg") | ||
# luma_agent.run(""" | ||
# Create a transition video between these two images: | ||
# Start: https://img.freepik.com/premium-photo/car-driving-dark-forest-generative-ai_634053-6661.jpg?w=1380 | ||
# End: https://img.freepik.com/free-photo/front-view-black-luxury-sedan-road_114579-5030.jpg?t=st=1733821884~exp=1733825484~hmac=735ca584a9b985c53875fc1ad343c3fd394e1de4db49e5ab1a9ab37ac5f91a36&w=1380 | ||
# Make it a smooth, natural movement | ||
# """) |
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
Oops, something went wrong.