Spaces:
Running on Zero
Running on Zero
Download test_tool_call.py from shamiur/sunnyware: direct link, hf CLI and curl.
- Browser
- Download file 1.2 kB
-
https://huggingface.co/spaces/shamiur/sunnyware/resolve/main/test_tool_call.py
- Command line
-
hf download hf://spaces/shamiur/sunnyware/test_tool_call.py
-
curl -L -o test_tool_call.py https://huggingface.co/spaces/shamiur/sunnyware/resolve/main/test_tool_call.py
1.2 kB
| import sys | |
| import asyncio | |
| from pathlib import Path | |
| # Add src to path | |
| sys.path.insert(0, str(Path("src").absolute())) | |
| from sunnyware.tools import _TOOLS | |
| from sunnyware.needle_tool_loader import build_schema_from_tool | |
| from sunnyware import local_llm | |
| async def main(): | |
| print(f"[1] Building schemas for {len(_TOOLS)} tools...") | |
| all_schemas = [build_schema_from_tool(tool) for tool in _TOOLS.values()] | |
| print(f"[2] Built {len(all_schemas)} schemas.") | |
| prompt = "Use Python to calculate the first 10 fibonacci numbers." | |
| system = "You are a helpful assistant." | |
| print("[3] Calling local LLM (this may take a few minutes)...") | |
| res = await local_llm.chat( | |
| prompt=prompt, | |
| system=system, | |
| history=[], | |
| tools=all_schemas, | |
| timeout=300.0 | |
| ) | |
| print("\n=== FINAL RESULT ===") | |
| print(f"ok: {res.get('ok')}") | |
| print(f"error: {res.get('error')}") | |
| content = res.get('content') | |
| if content: | |
| print(f"content (first 500 chars): {content[:500]}") | |
| else: | |
| print("content: None") | |
| tool_calls = res.get('tool_calls') | |
| print(f"tool_calls: {tool_calls}") | |
| if __name__ == "__main__": | |
| asyncio.run(main()) | |