5 Commits
Author SHA1 Message Date
+7 9342086712 feat: V2.0.0 (#4226)
Changelog TBD

---------

Co-authored-by: Willem Carel de Jongh <[email protected]>
Co-authored-by: Nancy Chauhan <[email protected]>
Co-authored-by: manu <[email protected]>
Co-authored-by: Mustafa Esoofally <[email protected]>
Co-authored-by: Kaustubh <[email protected]>
Co-authored-by: ysolanky <[email protected]>
Co-authored-by: Harshith VH <[email protected]>
Co-authored-by: Ayush <[email protected]>
Co-authored-by: Monalisha Mishra <[email protected]>
Co-authored-by: Yash Pratap Solanky <[email protected]>
Co-authored-by: Ashpreet <[email protected]>
Co-authored-by: yarin-tradezbird <[email protected]>
Co-authored-by: yarinbass <[email protected]>
Co-authored-by: Anurag <[email protected]>
Co-authored-by: Adi Berkowitz <[email protected]>
Co-authored-by: Adi Berkowitz <[email protected]>
2025-09-09 15:39:09 +02:00
a932dabab0 Github toolkit updates and Windows validation scripts (#2473)
## Description

- **Summary of changes**: Describe the key changes in this PR and their
purpose.
- **Related issues**: Mention if this PR fixes or is connected to any
issues.
- **Motivation and context**: Explain the reason for the changes and the
problem they solve.
- **Environment or dependencies**: Specify any changes in dependencies
or environment configurations required for this update.
- **Impact on metrics**: (If applicable) Describe changes in any metrics
or performance benchmarks.

Fixes # (issue)

---

## Type of change

Please check the options that are relevant:

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] Model update (Addition or modification of models)
- [ ] Other (please describe):

---

## Checklist

- [x] Adherence to standards: Code complies with Agno’s style guidelines
and best practices.
- [x] Formatting and validation: You have run `./scripts/format.sh` and
`./scripts/validate.sh` to ensure code is formatted and linted.
- [x] Self-review completed: A thorough review has been performed by the
contributor(s).
- [x] Documentation: Docstrings and comments have been added or updated
for any complex logic.
- [ ] Examples and guides: Relevant cookbook examples have been included
or updated (if applicable).
- [ ] Tested in a clean environment: Changes have been tested in a clean
environment to confirm expected behavior.
- [ ] Tests (optional): Tests have been added or updated to cover any
new or changed functionality.

---

## Additional Notes

Include any deployment notes, performance implications, security
considerations, or other relevant information (e.g., screenshots or logs
if applicable).

---------

Co-authored-by: Yash Pratap Solanky <[email protected]>
Co-authored-by: Dirk Brand <[email protected]>
2025-04-08 07:22:52 +02:00
e67ee57766 Phidata -> Agno (#1935)
# Changelog

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

## 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:ai@localhost: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
- …

## Bug Fixes:

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

---------

Co-authored-by: Ashpreet <[email protected]>
Co-authored-by: Yash Pratap Solanky <[email protected]>
Co-authored-by: Willem Carel de Jongh <[email protected]>
Co-authored-by: Anurag <[email protected]>
Co-authored-by: Ayush <[email protected]>
Co-authored-by: Manthan Gupta <[email protected]>
Co-authored-by: ysolanky <[email protected]>
Co-authored-by: ansub <[email protected]>
Co-authored-by: Manthan Gupta <[email protected]>
2025-01-30 14:26:41 +02:00
Hansi P. aac1824cf9 fix batch scripts
->'print_heading' was not found + erratic behaviour
+ replace 'echo' by 'print_heading' in 'create_venv.bat'
+ fix doc:  'create_venv_win.bat' to 'create_venv.bat
2024-09-21 19:26:55 +03:00
Jacob Weiss 5de5f486e8 add windows dev setup 2024-05-07 08:10:44 -06:00