mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
485af07b8c
* Add agent-framework-gemini package * Add AGENTS.md documentation * Add LICENSE file * Add README.md for agent-framework-gemini package * Add Google Gemini API keys to .env.example * Add Google Gemini chat client implementation * Add tests for GeminiChatClient * Add Google Gemini agent examples * Fix client inheritence order * Update Gemini agent examples * Update documentation * Update AGENTS.md * Add tests for JSON string handling in GeminiChatClient * Add final response assembly test in GeminiChatClient * Add tests for handling empty candidates in GeminiChatClient * Improve Pydantic response handling in GeminiChatClient * Add tests for function result resolution and callable tool normalization * Add test for function result resolution when call_id is generated * Refactor GeminiChatClient to correct inheritance order Also updates constructor parameter order for environment file handling * Enhance documentation and clarify Gemini-specific fields * Update ThinkingConfig with new attributes and type * Add tests for GoogleSearch and GoogleMaps configs * Suppress valid-type mypy error on GeminiChatOptionsT * Move service_url method near overrides * Order _prepare_config kwargs by base then Gemini-specific * Use FunctionCallingConfigMode for clarity and type safety * Fix code_execution doc * Add agent-framework-gemini to project dependencies * Remove package from core dependencies Initial release will be done without agent-framework-gemini in core[all]. * Move integration tests into one file * Remove __init__.py file from gemini tests directory * Introduce RawGeminiChatClient as lightweight chat client Updated GeminiChatClient to inherit from RawGeminiChatClient, maintaining full functionality with added features. * Updated variable names from `model_id` to `model` Across the codebase, including environment variables and client initialization. Adjusted related tests and sample scripts to reflect this change, ensuring consistency in the usage of the Gemini model identifier. * Update AGENTS.md * Update Gemini package to alpha status * Fix docstrings in Gemini tests * Change 'model_id' to 'model' in response handling * Fix model property change in response handling * Add built-in tool factory methods to Gemini client Replaces boolean tool options (code_execution, google_search_grounding, google_maps_grounding) with static factory methods that return types.Tool objects: get_code_interpreter_tool, get_web_search_tool, get_mcp_tool, get_file_search_tool, and get_maps_grounding_tool. Simplifies _prepare_tools to a single translation boundary between FunctionTool (framework) and FunctionDeclaration (Gemini API), with types.Tool objects passed through unchanged. * Surface code execution parts _parse_parts now maps executable_code and code_execution_result parts to text Content objects so callers can see the code run and its output. Unknown part types log at debug level rather than being silently dropped. * Update Gemini client documentation * Unify Gemini model name Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com> * Update Agent Framework core version Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com> * Add Python 3.14 in classifiers * Replace kwargs with parameters in tool factories * Refactor chat options handling in Gemini client * Add tests for handling unknown and consumed keys * Update Gemini documentation Now reflects new options and built-in tool factory methods * Change build system to flit Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com> * Fix build system in pyproject.toml * Fix type checking for generate_content_stream --------- Co-authored-by: Eduard van Valkenburg <eavanvalkenburg@users.noreply.github.com>
73 lines
3.9 KiB
Markdown
73 lines
3.9 KiB
Markdown
# Python Package Status
|
|
|
|
This file tracks the current lifecycle state of the Python packages in this workspace. Some packages at later stages might have features within them that are not ready yet, these have feature stage decorators on the relevant APIs, and for `experimental` features warnings are raised. See the [Feature-level staged APIs](#feature-level-staged-apis) section below for details on which features are in which stage and where to find them.
|
|
|
|
Status is grouped into these buckets:
|
|
|
|
- `alpha` - initial release and early development packages that are not yet ready for general use
|
|
- `beta` - prerelease packages that are not currently release candidates
|
|
- `rc` - release candidate packages, these are close to ready for release but may still have some breaking changes before the final release
|
|
- `released` - stable packages without a prerelease suffix, these are stable packages that should not have breaking changes between versions
|
|
- `deprecated` - removed or deprecated packages that should not be used for new work
|
|
|
|
## Current packages
|
|
|
|
| Package | Path | State |
|
|
| --- | --- | --- |
|
|
| `agent-framework` | `python/` | `released` |
|
|
| `agent-framework-a2a` | `python/packages/a2a` | `beta` |
|
|
| `agent-framework-ag-ui` | `python/packages/ag-ui` | `beta` |
|
|
| `agent-framework-anthropic` | `python/packages/anthropic` | `beta` |
|
|
| `agent-framework-azure-ai-search` | `python/packages/azure-ai-search` | `beta` |
|
|
| `agent-framework-azure-cosmos` | `python/packages/azure-cosmos` | `beta` |
|
|
| `agent-framework-azurefunctions` | `python/packages/azurefunctions` | `beta` |
|
|
| `agent-framework-bedrock` | `python/packages/bedrock` | `beta` |
|
|
| `agent-framework-chatkit` | `python/packages/chatkit` | `beta` |
|
|
| `agent-framework-claude` | `python/packages/claude` | `beta` |
|
|
| `agent-framework-copilotstudio` | `python/packages/copilotstudio` | `beta` |
|
|
| `agent-framework-core` | `python/packages/core` | `released` |
|
|
| `agent-framework-declarative` | `python/packages/declarative` | `beta` |
|
|
| `agent-framework-devui` | `python/packages/devui` | `beta` |
|
|
| `agent-framework-durabletask` | `python/packages/durabletask` | `beta` |
|
|
| `agent-framework-foundry` | `python/packages/foundry` | `released` |
|
|
| `agent-framework-foundry-local` | `python/packages/foundry_local` | `beta` |
|
|
| `agent-framework-gemini` | `python/packages/gemini` | `alpha` |
|
|
| `agent-framework-github-copilot` | `python/packages/github_copilot` | `beta` |
|
|
| `agent-framework-lab` | `python/packages/lab` | `beta` |
|
|
| `agent-framework-mem0` | `python/packages/mem0` | `beta` |
|
|
| `agent-framework-ollama` | `python/packages/ollama` | `beta` |
|
|
| `agent-framework-openai` | `python/packages/openai` | `released` |
|
|
| `agent-framework-orchestrations` | `python/packages/orchestrations` | `beta` |
|
|
| `agent-framework-purview` | `python/packages/purview` | `beta` |
|
|
| `agent-framework-redis` | `python/packages/redis` | `beta` |
|
|
|
|
## Deprecated / removed packages
|
|
|
|
| Package | Previous path | State | Notes |
|
|
| --- | --- | --- | --- |
|
|
| `agent-framework-azure-ai` | `python/packages/azure-ai` | `deprecated` | The client classes within the `azure-ai` package were renamed, sometimes changed, and moved to `agent-framework-foundry`. |
|
|
|
|
## Feature-level staged APIs
|
|
|
|
The following feature IDs have explicit feature-stage decorators on public APIs in the packages
|
|
listed below.
|
|
|
|
### Experimental features
|
|
|
|
#### `EVALS`
|
|
|
|
- `agent-framework-core`: exported evaluation APIs from `agent_framework`, including
|
|
`LocalEvaluator`, `evaluate_agent`, `evaluate_workflow`, and the related evaluation types and
|
|
helper checks defined in `agent_framework/_evaluation.py`
|
|
- `agent-framework-foundry`: `FoundryEvals`, `evaluate_traces`, and `evaluate_foundry_target`
|
|
|
|
#### `SKILLS`
|
|
|
|
- `agent-framework-core`: exported skills APIs from `agent_framework`, including `Skill`,
|
|
`SkillResource`, `SkillScript`, `SkillScriptRunner`, and `SkillsProvider` from
|
|
`agent_framework/_skills.py`
|
|
|
|
### Release-candidate features
|
|
|
|
There are currently no feature-level `rc` APIs.
|