google / google/adk-python-community
Add standardized planner content blocks helper (community module)
- Ngôn ngữ chính
- Python
- Star
- 182
- Fork
- 75
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
### What
Add a small, read-only helper that converts planner-produced `google.genai.types.Part` lists into provider-agnostic, typed "content blocks" modelled after [LangChain v1's standard content blocks](https://docs.langchain.com/oss/python/langchain/messages#standard-content-blocks).
ADK planners (`PlanReActPlanner`, `BuiltInPlanner`) emit reasoning as parts with `thought=True`, and `PlanReActPlanner` additionally annotates text with inline `/*PLANNING*/`-style tags that consumers must parse by hand. This helper turns that into a list of typed blocks — `reasoning` (with a `reasoning_kind` of planning/replanning/reasoning/action), `text`, and `tool_call` — so consumers branch on a `type` discriminator instead of re-parsing raw text.
It is **additive and read-only**: it never mutates the parts and doesn't change how planners build instructions or post-process responses. Existing consumers of the `Part` output are unaffected.
### Background
Originally proposed in core ADK (google/adk-python#6185). That PR was closed and the maintainer suggested the feature belongs in `adk-python-community` as a community module. This issue tracks landing it here.
### Proposed location
New module `src/google/adk_community/planners/` exporting `parts_to_content_blocks` / `part_to_content_block` (plus the `ReasoningContentBlock` / `TextContentBlock` / `ToolCallContentBlock` TypedDicts, `ReasoningKind`, and `ContentBlock`). Self-contained — depends only on `google-genai` (already a transitive dependency via `google-adk`), so no new optional-dependency group is needed. Unit tests under `tests/unittests/planners/`.
A PR implementing this is ready to open.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với đường dẫn module được đề xuất src/google/adk_community/planners/ và kiểm tra google.genai.types.Part cùng các content block tiêu chuẩn của LangChain v1. Triển khai các helper chuyển đổi chỉ đọc và các kiểu TypedDict được mô tả trong issue, sau đó thêm unit test bên dưới tests/unittests/planners/. Công việc được xem là hoàn tất khi các block reasoning, text và tool_call cung cấp các type discriminator và loại reasoning đã nêu mà không làm biến đổi các part đầu vào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- ai
- Loại issue
- Tính năng
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 68/100