ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s

This commit is contained in:
2026-08-20 13:12:50 +00:00
commit b119135836
10275 changed files with 3284984 additions and 0 deletions
@@ -0,0 +1,95 @@
import asyncio
import logging
import os
from dotenv import load_dotenv
from aworld.core.memory import LongTermConfig, MemoryConfig, AgentMemoryConfig, EmbeddingsConfig, VectorDBConfig, \
MemoryLLMConfig
from aworld.memory.main import MemoryFactory
from aworld.memory.models import LongTermMemoryTriggerParams, MessageMetadata
from tests.memory.short_term.utils import add_mock_messages
async def init():
load_dotenv()
MemoryFactory.init(
config=MemoryConfig(
provider="aworld",
llm_config=MemoryLLMConfig(
provider="openai",
model_name=os.environ["LLM_MODEL_NAME"],
api_key=os.environ["LLM_API_KEY"],
base_url=os.environ["LLM_BASE_URL"]
),
embedding_config=EmbeddingsConfig(
provider="ollama",
base_url="http://localhost:11434",
model_name="nomic-embed-text"
),
vector_store_config=VectorDBConfig(
provider="chroma",
config=
{
"chroma_data_path": "./chroma_db",
"collection_name": "aworld",
}
)
))
async def trigger_long_term_memory_agent_experience():
await init()
memory = MemoryFactory.instance()
metadata = MessageMetadata(
user_id="zues",
session_id="session#foo",
task_id="zues:session#foo:task#1",
agent_id="super_agent",
agent_name="super_agent"
)
await add_mock_messages(memory, metadata)
memory_config = AgentMemoryConfig(
enable_long_term=True,
long_term_config=LongTermConfig.create_simple_config(
enable_agent_experiences=True
)
)
await memory.trigger_short_term_memory_to_long_term(LongTermMemoryTriggerParams(
agent_id=metadata.agent_id,
session_id=metadata.session_id,
task_id=metadata.task_id,
user_id=metadata.user_id,
force=True
), memory_config)
"""
"""
await asyncio.sleep(10)
async def query_agent_experience():
# await init()
memory = MemoryFactory.instance()
metadata = MessageMetadata(
user_id="zues",
session_id="session#foo",
task_id="zues:session#foo:task#1",
agent_id="super_agent",
agent_name="super_agent"
)
agent_experiences = await memory.retrival_agent_experience(
agent_id=metadata.agent_id,
user_input="what is my advantage skills?"
)
for agent_experience in agent_experiences:
logging.info(f"Search->{agent_experience}")
# if __name__ == '__main__':
# asyncio.run(trigger_long_term_memory_agent_experience())
# asyncio.run(query_agent_experience())
@@ -0,0 +1,107 @@
import asyncio
import logging
import os
from dotenv import load_dotenv
from aworld.core.memory import LongTermConfig, MemoryConfig, AgentMemoryConfig, MemoryLLMConfig, EmbeddingsConfig, \
VectorDBConfig
from aworld.memory.main import MemoryFactory
from aworld.memory.models import LongTermMemoryTriggerParams, MessageMetadata
from tests.memory.short_term.utils import add_mock_messages
async def init():
load_dotenv()
MemoryFactory.init(
config=MemoryConfig(
provider="aworld",
llm_config=MemoryLLMConfig(
provider="openai",
model_name=os.environ["LLM_MODEL_NAME"],
api_key=os.environ["LLM_API_KEY"],
base_url=os.environ["LLM_BASE_URL"]
),
embedding_config=EmbeddingsConfig(
provider="ollama",
base_url="http://localhost:11434",
model_name="nomic-embed-text"
),
vector_store_config=VectorDBConfig(
provider="chroma",
config=
{
"chroma_data_path": "./chroma_db",
"collection_name": "aworld",
}
)
))
async def trigger_long_term_memory_user_profile():
await init()
memory = MemoryFactory.instance()
metadata = MessageMetadata(
user_id="zues",
session_id="session#foo",
task_id="zues:session#foo:task#1",
agent_id="super_agent",
agent_name="super_agent"
)
await add_mock_messages(memory, metadata)
memory_config = AgentMemoryConfig(
enable_long_term=True,
long_term_config=LongTermConfig.create_simple_config(
enable_user_profiles=True
)
)
await memory.trigger_short_term_memory_to_long_term(LongTermMemoryTriggerParams(
agent_id=metadata.agent_id,
session_id=metadata.session_id,
task_id=metadata.task_id,
user_id=metadata.user_id,
force=True
), memory_config)
"""
[
{
"key": "skills.technical",
"value": {
"gaming_skills": ["League of Legends"]
}
},
{
"key": "goals.learning",
"value": {
"target": "improve gaming skills in League of Legends"
}
}
]
"""
await asyncio.sleep(10)
async def query_user_profile():
memory = MemoryFactory.instance()
metadata = MessageMetadata(
user_id="zues",
session_id="session#foo",
task_id="zues:session#foo:task#1",
agent_id="super_agent",
agent_name="super_agent"
)
user_profiles = await memory.retrival_user_profile(
user_id=metadata.user_id,
user_input="what is my advantage skills?"
)
for user_profile in user_profiles:
logging.info(f"Search->{user_profile}")
# if __name__ == '__main__':
# asyncio.run(trigger_long_term_memory_user_profile())
# asyncio.run(query_user_profile())