Skip to content

Commit 61649d8

Browse files
committed
Merge branch 'main' into feat/skills
2 parents 5015d66 + 68db19e commit 61649d8

6 files changed

Lines changed: 68 additions & 4 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "veadk-python"
3-
version = "0.5.18"
3+
version = "0.5.19"
44
description = "Volcengine agent development kit, integrations with Volcengine cloud services."
55
readme = "README.md"
66
requires-python = ">=3.10"

veadk/config.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@
4949
env_from_dotenv = {}
5050
logger.info("No `.env` file found.")
5151

52+
provider = (os.getenv("CLOUD_PROVIDER") or "").lower()
53+
if provider == "byteplus":
54+
byteplus_access_key = os.getenv("BYTEPLUS_ACCESS_KEY")
55+
if byteplus_access_key:
56+
os.environ["VOLCENGINE_ACCESS_KEY"] = byteplus_access_key
57+
byteplus_secret_key = os.getenv("BYTEPLUS_SECRET_KEY")
58+
if byteplus_secret_key:
59+
os.environ["VOLCENGINE_SECRET_KEY"] = byteplus_secret_key
60+
5261

5362
class VeADKConfig(BaseModel):
5463
model: ModelConfig = Field(default_factory=ModelConfig)
@@ -90,6 +99,20 @@ def getenv(
9099
"""
91100
value = os.getenv(env_name, default_value)
92101

102+
if value == default_value or not value:
103+
provider = (os.getenv("CLOUD_PROVIDER") or "").lower()
104+
if provider == "byteplus":
105+
if env_name == "VOLCENGINE_ACCESS_KEY":
106+
byteplus_key = os.getenv("BYTEPLUS_ACCESS_KEY")
107+
if byteplus_key:
108+
os.environ["VOLCENGINE_ACCESS_KEY"] = byteplus_key
109+
value = byteplus_key
110+
elif env_name == "VOLCENGINE_SECRET_KEY":
111+
byteplus_key = os.getenv("BYTEPLUS_SECRET_KEY")
112+
if byteplus_key:
113+
os.environ["VOLCENGINE_SECRET_KEY"] = byteplus_key
114+
value = byteplus_key
115+
93116
if allow_false_values:
94117
return value
95118

veadk/models/ark_llm.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
ResponseReasoningSummaryTextDeltaEvent,
3838
ResponseTextDeltaEvent,
3939
ResponseCompletedEvent,
40+
ResponseIncompleteEvent,
41+
ResponseError,
42+
)
43+
from volcenginesdkarkruntime.types.responses.response_incomplete_details import (
44+
IncompleteDetails,
4045
)
4146
from volcenginesdkarkruntime.types.responses.response_input_message_content_list_param import (
4247
ResponseInputTextParam,
@@ -551,6 +556,26 @@ def request_reorganization_by_ark(request_data: Dict) -> Dict:
551556

552557
# ---------------------------------------
553558
# output transfer -----------------------
559+
def record_logs(raw_response: ArkTypeResponse):
560+
try:
561+
if isinstance(raw_response, ArkTypeResponse):
562+
error_message = ""
563+
if raw_response.error and isinstance(raw_response.error, ResponseError):
564+
error_message += f"The response with error code `{raw_response.error.code}`, error message is `{raw_response.error.message}`"
565+
566+
if raw_response.incomplete_details and isinstance(
567+
raw_response.incomplete_details, IncompleteDetails
568+
):
569+
error_message += f"The reason for the incomplete return is `{raw_response.incomplete_details.reason}`, content_filter: `{raw_response.incomplete_details.content_filter}`"
570+
logger.debug(
571+
f"Ark response: Received Response from model `{raw_response.model}` with id `{raw_response.id}`. "
572+
f"Status: `{raw_response.status}`. "
573+
f"{error_message}"
574+
)
575+
except Exception as e:
576+
logger.error(f"Failed to record ark logs: {e}")
577+
578+
554579
def event_to_generate_content_response(
555580
event: Union[ArkTypeResponse, ResponseStreamEvent],
556581
*,
@@ -587,7 +612,9 @@ def event_to_generate_content_response(
587612
parts.append(types.Part(text=event.delta, thought=True))
588613
elif isinstance(event, ResponseTextDeltaEvent):
589614
parts.append(types.Part.from_text(text=event.delta))
590-
elif isinstance(event, ResponseCompletedEvent):
615+
elif isinstance(event, ResponseCompletedEvent) or isinstance(
616+
event, ResponseIncompleteEvent
617+
):
591618
raw_response = event.response
592619
llm_response = ark_response_to_generate_content_response(raw_response)
593620
return llm_response
@@ -607,6 +634,7 @@ def ark_response_to_generate_content_response(
607634
ArkTypeResponse -> LlmResponse
608635
instead of `_model_response_to_generate_content_response`,
609636
"""
637+
record_logs(raw_response)
610638
outputs = raw_response.output
611639
status = raw_response.status
612640
incomplete_details = getattr(

veadk/tracing/telemetry/telemetry.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ def trace_tool_call(
305305
tool: BaseTool,
306306
args: dict[str, Any],
307307
function_response_event: Event,
308+
**kwargs,
308309
) -> None:
309310
"""Trace a tool function call with comprehensive telemetry data.
310311
@@ -344,6 +345,8 @@ def trace_call_llm(
344345
event_id: str,
345346
llm_request: LlmRequest,
346347
llm_response: LlmResponse,
348+
*args,
349+
**kwargs,
347350
) -> None:
348351
"""Trace a language model call with comprehensive telemetry data.
349352
@@ -413,4 +416,4 @@ def trace_call_llm(
413416

414417

415418
# Do not modify this function
416-
def trace_send_data(): ...
419+
def trace_send_data(**kwargs): ...

veadk/utils/misc.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,16 @@ def set_envs(config_yaml_path: str, env_from_dotenv: dict = None) -> tuple[dict,
152152
continue
153153
veadk_environments[k] = str(config_upper_map.get(k))
154154
os.environ[k] = str(config_upper_map.get(k))
155+
156+
provider = (os.getenv("CLOUD_PROVIDER") or "").lower()
157+
if provider == "byteplus":
158+
byteplus_access_key = veadk_environments.get("BYTEPLUS_ACCESS_KEY")
159+
if byteplus_access_key:
160+
os.environ["VOLCENGINE_ACCESS_KEY"] = byteplus_access_key
161+
byteplus_secret_key = veadk_environments.get("BYTEPLUS_SECRET_KEY")
162+
if byteplus_secret_key:
163+
os.environ["VOLCENGINE_SECRET_KEY"] = byteplus_secret_key
164+
155165
return config_dict, veadk_environments
156166

157167

veadk/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
VERSION = "0.5.18"
15+
VERSION = "0.5.19"

0 commit comments

Comments
 (0)