Clean repository: delete agent.py

This commit is contained in:
2026-05-26 10:35:59 +00:00
parent d74ef05c9e
commit ca14f3e654
-97
View File
@@ -1,97 +0,0 @@
from langchain.agents import create_agent
from langchain.tools import tool
from langchain_openai import ChatOpenAI
from langgraph.checkpoint.memory import MemorySaver
from pydantic import SecretStr
llm = ChatOpenAI(
model="local-model",
base_url="http://localhost:1234/v1",
api_key=SecretStr("fake"),
temperature=0.7,
)
@tool
def get_price(product: str, city: str) -> str:
"""Возвращает примерную цену продукта в указанном городе."""
price_agent = create_agent(
model=llm,
tools=[],
system_prompt=(
"Ты субагент оценки цен. Верни одну markdown-таблицу "
"с колонками: Продукт, Цена (руб.), Магазин."
),
)
answer = price_agent.invoke(
{
"messages": [
{
"role": "human",
"content": (
f"Оцени реалистичную цену продукта '{product}' "
f"в городе {city}, опираясь на исторические данные о ценах."
),
}
]
}
)
return answer["messages"][-1].content
def format_message(message) -> str:
if message.content:
return message.content
if message.tool_calls:
call = message.tool_calls[0]
return f"{call['name']}({call['args']})"
return ""
def stream_shopping_agent() -> None:
memory = MemorySaver()
agent = create_agent(
model=llm,
tools=[get_price],
system_prompt="Ты помощник по планированию покупок",
checkpointer=memory,
)
stream = agent.stream(
{
"messages": [
{
"role": "human",
"content": (
"Помоги составить список покупок: молоко, хлеб, яблоки. "
"Я нахожусь в Казани."
),
}
]
},
stream_mode=["messages", "updates"],
config={"configurable": {"thread_id": "shopping-stream-demo"}},
)
step = None
for chunk_type, chunk_data in stream:
if chunk_type == "messages":
message, meta = chunk_data
current_step = meta.get("langgraph_step")
if current_step != step:
step = current_step
print("\n --- --- --- \n")
if message.content:
print(message.content, end="", flush=True)
if chunk_type == "updates" and chunk_data.get("model"):
last_message = chunk_data["model"]["messages"][-1]
formatted = format_message(last_message)
if formatted:
print(formatted)
if __name__ == "__main__":
stream_shopping_agent()