Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion docs/docs/agent.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ Agent 中主要包括如下属性:
| knowledgebase | KnowledgeBase | 知识库,后端支持本地内存(local)和数据库(opensearch、viking、redis、mysql),通常设置为一个能够检索的向量数据库 |
| long_term_memory | LongTermMemory | 长期记忆,后端支持本地内存(local)和数据库(opensearch、viking、redis、mysql),通常设置为一个能够检索的向量数据库 |
| tracers | list | 追踪器列表,能够定义不同的追踪方式,并在 Agent 执行完毕后将整体 Tracing 信息保存至本地 |
| serve_url | str | Agent 服务主机的 URL,将显示在 Agent Card 中 |

您可以在[火山引擎方舟平台](https://www.volcengine.com/product/ark)选择适合您的大模型。

Expand Down
11 changes: 0 additions & 11 deletions tests/test_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ def test_agent():
knowledgebase=knowledgebase,
long_term_memory=long_term_memory,
tracers=[tracer],
serve_url="",
)

assert agent.model.model == f"{agent.model_provider}/{agent.model_name}" # type: ignore
Expand Down Expand Up @@ -89,8 +88,6 @@ def test_agent_default_values():
assert agent.long_term_memory is None
assert agent.tracers == []

assert agent.serve_url == ""


@patch.dict("os.environ", {"MODEL_AGENT_API_KEY": "mock_api_key"})
def test_agent_without_knowledgebase():
Expand Down Expand Up @@ -208,11 +205,3 @@ def test_agent_custom_name_and_description():

assert agent.name == custom_name
assert agent.description == custom_description


@patch.dict("os.environ", {"MODEL_AGENT_API_KEY": "mock_api_key"})
def test_agent_serve_url():
serve_url = "http://localhost:8080"
agent = Agent(serve_url=serve_url)

assert agent.serve_url == serve_url
33 changes: 0 additions & 33 deletions tests/test_agent_card.py

This file was deleted.

11 changes: 4 additions & 7 deletions veadk/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@

from __future__ import annotations

from typing import Optional
from typing import Optional, Union

from google.adk.agents import LlmAgent, RunConfig
from google.adk.agents.base_agent import BaseAgent
from google.adk.agents.llm_agent import ToolUnion
from google.adk.agents.llm_agent import InstructionProvider, ToolUnion
from google.adk.agents.run_config import StreamingMode
from google.adk.models.lite_llm import LiteLlm
from google.adk.runners import Runner
Expand Down Expand Up @@ -57,8 +57,8 @@ class Agent(LlmAgent):
description: str = DEFAULT_DESCRIPTION
"""The description of the agent. This will be helpful in A2A scenario."""

instruction: str = DEFAULT_INSTRUCTION
"""The instruction for the agent, such as principles of function calling."""
instruction: Union[str, InstructionProvider] = DEFAULT_INSTRUCTION
"""The instruction for the agent."""

model_name: str = Field(default_factory=lambda: settings.model.name)
"""The name of the model for agent running."""
Expand Down Expand Up @@ -93,9 +93,6 @@ class Agent(LlmAgent):
tracers: list[BaseTracer] = []
"""The tracers provided to agent."""

serve_url: str = ""
"""The url of agent serving host. Show in agent card."""

def model_post_init(self, __context: Any) -> None:
super().model_post_init(None) # for sub_agents init

Expand Down
4 changes: 2 additions & 2 deletions veadk/cli/cli_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
from typing import Any

import click
from veadk.version import VERSION

from veadk.version import VERSION

warnings.filterwarnings(
"ignore", category=UserWarning, module="pydantic._internal._fields"
Expand Down Expand Up @@ -103,7 +103,7 @@ def init(
shutil.rmtree(target_dir_path)

settings = _render_prompts()
settings["local_dir_name"] = local_dir_name.replace("-", "_")
settings["local_dir_name"] = local_dir_name

if not vefaas_template_type:
vefaas_template_type = "template"
Expand Down
40 changes: 30 additions & 10 deletions veadk/integrations/ve_faas/ve_faas.py
Original file line number Diff line number Diff line change
Expand Up @@ -195,16 +195,18 @@ def _release_application(self, app_id: str):
time.sleep(10)
status, full_response = self._get_application_status(app_id)

assert status == "deploy_success", (
f"Release application failed. Response: {full_response}"
)

cloud_resource = full_response["Result"]["CloudResource"]
cloud_resource = json.loads(cloud_resource)

url = cloud_resource["framework"]["url"]["system_url"]

return url
if status == "deploy_success":
cloud_resource = full_response["Result"]["CloudResource"]
cloud_resource = json.loads(cloud_resource)
url = cloud_resource["framework"]["url"]["system_url"]
return url
else:
logger.error(f"Release application failed: {full_response}")
logs = self._get_application_logs(app_id=app_id)
log_text = ""
for log_line in logs:
log_text += log_line.strip() + "\n"
raise Exception(f"Release application failed. Logs:\n{log_text}")

def _get_application_status(self, app_id: str):
response = ve_request(
Expand Down Expand Up @@ -707,3 +709,21 @@ def deploy_image(
logger.info(f"VeFaaS application {name} with ID {app_id} deployed on {url}.")

return url, app_id, function_id

def _get_application_logs(self, app_id: str) -> list[str]:
response = _ = ve_request(
request_body={"Id": app_id, "Limit": 99999, "RevisionNumber": 1},
action="GetApplicationRevisionLog",
ak=self.ak,
sk=self.sk,
service="vefaas",
version="2021-03-03",
region="cn-beijing",
host="open.volcengineapi.com",
)

try:
logs = response["Result"]["LogLines"]
return logs
except Exception as _:
raise ValueError(f"Get application log failed. Response: {response}")