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
4 changes: 4 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ dependencies = [
"fastmcp>=2.11.3",
"fastapi",
"uvicorn[standard]",
"chromadb",
]
dynamic = ["version"]

Expand All @@ -31,6 +32,9 @@ aps_mic = [
asksage = [
"asksageclient==1.31"
]
postgresql_vector_store = [
"psycopg[binary]>=3.2.10"
]
docs = [
"sphinx",
"sphinx-rtd-theme"
Expand Down
26 changes: 22 additions & 4 deletions src/eaa/agents/asksage.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import os
import re

from typing import Dict, Any, List
from typing import Any, Callable, Dict, List, Optional, Sequence

from asksageclient import AskSageClient

from eaa.agents.base import BaseAgent
from eaa.agents.memory import MemoryManagerConfig, MemoryQueryResult, VectorStore
from eaa.util import decode_image_base64, get_timestamp


Expand All @@ -15,6 +16,12 @@ def __init__(
self,
llm_config: dict,
system_message: str = None,
memory_config: Optional[MemoryManagerConfig] = None,
*,
memory_vector_store: Optional[VectorStore] = None,
memory_notability_filter: Optional[Callable[[str, Dict[str, Any]], bool]] = None,
memory_formatter: Optional[Callable[[List[MemoryQueryResult]], str]] = None,
memory_embedder: Optional[Callable[[Sequence[str]], List[List[float]]]] = None,
) -> None:
"""An agent that uses OpenAI-compatible API to generate responses.

Expand All @@ -31,10 +38,21 @@ def __init__(
- `cacert_path`: The path to the CA certificate file (*.pem).
system_message : str, optional
The system message for the OpenAI-compatible API.
memory_config : MemoryManagerConfig, optional
Optional configuration for persistent memory support.
memory_vector_store, memory_notability_filter, memory_formatter,
memory_embedder : optional
Overrides for the memory backend, storage filter, recall formatting,
and embedding function respectively.
"""
super().__init__(
llm_config=llm_config,
system_message=system_message
llm_config=llm_config,
system_message=system_message,
memory_config=memory_config,
memory_vector_store=memory_vector_store,
memory_notability_filter=memory_notability_filter,
memory_formatter=memory_formatter,
memory_embedder=memory_embedder,
)

@property
Expand Down Expand Up @@ -176,4 +194,4 @@ def asksage_response_to_openai_response(self, response: dict) -> dict:
):
oai_response["tool_calls"] = response["tool_calls"]
return oai_response


Loading