Phidata

Latest version: v2.7.10

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

1.0.0

Changelog

This is a major refactor to be coupled with the launch of Agno.

Interface Changes:

- `phi.model.x` → `agno.models.x`
- `phi.knowledge_base.x` → `agno.knowledge.x` (applies to all knowledge bases)
- `phi.document.reader.xxx` → `agno.document.reader.xxx_reader` (applies to all document readers)
- All Agno toolkits are now suffixed with `Tools`. E.g. `DuckDuckGo` → `DuckDuckGoTools`
- Multi-modal interface updates:
- `agent.run(images=[])` and `agent.print_response(images=[])` is now of type `Image`

python
class Image(BaseModel):
url: Optional[str] = None Remote location for image
filepath: Optional[Union[Path, str]] = None Absolute local location for image
content: Optional[Any] = None Actual image bytes content
detail: Optional[str] = None low, medium, high or auto (per OpenAI spec https://platform.openai.com/docs/guides/vision?lang=node#low-or-high-fidelity-image-understanding)
id: Optional[str] = None


- `agent.run(audio=[])` and `agent.print_response(audio=[])` is now of type `Audio`

python
class Audio(BaseModel):
filepath: Optional[Union[Path, str]] = None Absolute local location for audio
content: Optional[Any] = None Actual audio bytes content
format: Optional[str] = None


- `agent.run(video=[])` and `agent.print_response(video=[])` is now of type `Video`

python
class Video(BaseModel):
filepath: Optional[Union[Path, str]] = None Absolute local location for video
content: Optional[Any] = None Actual video bytes content


- `RunResponse.images` is now a list of type `ImageArtifact`

python
class ImageArtifact(Media):
id: str
url: str Remote location for file
alt_text: Optional[str] = None


- `RunResponse.audio` is now a list of type `AudioArtifact`

python
class AudioArtifact(Media):
id: str
url: Optional[str] = None Remote location for file
base64_audio: Optional[str] = None Base64-encoded audio data
length: Optional[str] = None
mime_type: Optional[str] = None


- `RunResponse.videos` is now a list of type `VideoArtifact`

python
class VideoArtifact(Media):
id: str
url: str Remote location for file
eta: Optional[str] = None
length: Optional[str] = None


- `RunResponse.response_audio` is now of type `AudioOutput`

python
class AudioOutput(BaseModel):
id: str
content: str Base64 encoded
expires_at: int
transcript: str


- Models:
- `Hermes` → `OllamaHermes`
- `AzureOpenAIChat` → `AzureOpenAI`
- `CohereChat` → `Cohere`
- `DeepSeekChat` → `DeepSeek`
- `GeminiOpenAIChat` → `GeminiOpenAI`
- `HuggingFaceChat` → `HuggingFace`
- Embedders now all take `id` instead of `model` as a parameter. For example

python
db_url = "postgresql+psycopg://ai:ailocalhost:5532/ai"

knowledge_base = PDFUrlKnowledgeBase(
urls=["https://phi-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
vector_db=PgVector(
table_name="recipes",
db_url=db_url,
embedder=OllamaEmbedder(id="llama3.2", dimensions=3072),
),
)
knowledge_base.load(recreate=True)


- Agent Storage class
- `PgAgentStorage` → `PostgresAgentStorage`
- `SqlAgentStorage` → `SqliteAgentStorage`
- `MongoAgentStorage` → `MongoDbAgentStorage`
- `S2AgentStorage` → `SingleStoreAgentStorage`
- Workflow Storage class
- `SqlWorkflowStorage` → `SqliteWorkflowStorage`
- `PgWorkflowStorage` → `PostgresWorkflowStorage`
- `MongoWorkflowStorage` → `MongoDbWorkflowStorage`
- Knowledge Base
- `phi.knowledge.pdf.PDFUrlKnowledgeBase` → `agno.knowledge.pdf_url.PDFUrlKnowledgeBase`
- `phi.knowledge.csv.CSVUrlKnowledgeBase` → `agno.knowledge.csv_url.CSVUrlKnowledgeBase`
- Readers
- `phi.document.reader.arxiv` → `agno.document.reader.arxiv_reader`
- `phi.document.reader.docx` → `agno.document.reader.docx_reader`
- `phi.document.reader.json` → `agno.document.reader.json_reader`
- `phi.document.reader.pdf` → `agno.document.reader.pdf_reader`
- `phi.document.reader.s3.pdf` → `agno.document.reader.s3.pdf_reader`
- `phi.document.reader.s3.text` → `agno.document.reader.s3.text_reader`
- `phi.document.reader.text` → `agno.document.reader.text_reader`
- `phi.document.reader.website` → `agno.document.reader.website_reader`

Improvements:

- **Dataclasses** - Changed various instances of Pydantic models to dataclasses to improve the speed.

Removals

- Removed all references to `Assistant`
- Removed all references to `llm`
- Removed the `PhiTools` tool
- Removed the `PythonAgent` and `DuckDbAgent` (this will be brought back in future with more specific agents)

Bug Fixes:

- Fixed semantic chunking by replacing `similarity_threshold` param with `threshold` param

New Features

- Introducing Evals to measure the performance, accuracy, and reliability of your Agents

0.1.7

0.1.6

None

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.