diff options
Diffstat (limited to 'src/agents/02-sandbox/haystack_example.py')
| -rw-r--r-- | src/agents/02-sandbox/haystack_example.py | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/src/agents/02-sandbox/haystack_example.py b/src/agents/02-sandbox/haystack_example.py deleted file mode 100644 index 463b887..0000000 --- a/src/agents/02-sandbox/haystack_example.py +++ /dev/null @@ -1,43 +0,0 @@ -from haystack_integrations.components.generators.ollama import OllamaChatGenerator -from haystack.core.component import component -from haystack.components.agents import Agent -from haystack.tools import Tool, tool -from typing import List - -@tool -def validate_user(user_id: int, addresses: List[str]) -> str: - """Validate user using historical addresses. - - Args: - user_id (int): the user ID. - addresses (List[str]): Previous addresses as a list of strings. - """ - return f"User {user_id} validated with addresses: {addresses}" - - -llm = OllamaChatGenerator(model="qwen3:1.7b", - url="http://localhost:11434", - generation_kwargs={ - "temperature": 0, - }) - -from haystack.dataclasses import ChatMessage, ChatRole - -prompt = "Could you validate user 123? They previously lived at 123 Fake St in Boston MA and 234 Pretend Boulevard in Houston TX. Think before you call any tools" - -agent = Agent(chat_generator=llm, tools=[validate_user]) - -result = agent.run([ChatMessage.from_user(prompt)]) - -print("--- Full Haystack Result ---") -print(result) - -print("\n" + "="*40 + "\n") - -print("--- Extracted Reasoning ---") -for message in result["messages"]: - if message.role == ChatRole.ASSISTANT: - for content_block in message.content: - if hasattr(content_block, 'text') and "<think>" in content_block.text: - reasoning = content_block.text.split("<think>")[1].split("</think>")[0] - print(reasoning.strip()) |
