SGR Agent Core - Schema-Guided Reasoning for building agent
Project description
SGR Agent Core — the first SGR open-source agentic framework for Schema-Guided Reasoning
Open-source agentic framework for building intelligent research agents using Schema-Guided Reasoning. The project provides a core library with a extendable BaseAgent interface implementing a two-phase architecture and multiple ready-to-use research agent implementations built on top of it.
The library includes extensible tools for search, reasoning, and clarification, real-time streaming responses, OpenAI-compatible REST API. Works with any OpenAI-compatible LLM, including local models for fully private research.
Why use SGR Agent Core?
- Schema-Guided Reasoning — SGR combines structured reasoning with flexible tool selection
- Multiple Agent Types — Choose from
SGRAgent,ToolCallingAgent, orSGRToolCallingAgent - Extensible Architecture — Easy to create custom agents and tools
- OpenAI-Compatible API — Drop-in replacement for OpenAI API endpoints
- Real-time Streaming — Built-in support for streaming responses via SSE
- Production Ready — Battle-tested with comprehensive test coverage and Docker support
Documentation
Get started quickly with our documentation:
- Project Docs - Complete project documentation
- Framework Quick Start Guide - Get up and running in minutes
- DeepSearch Service Documentation - REST API reference with examples
Quick Start
Running with Docker
The fastest way to get started is using Docker:
# Clone the repository
git clone https://github.com/vamplabai/sgr-agent-core.git
cd sgr-agent-core
# Create directories with write permissions for all
sudo mkdir -p logs reports
sudo chmod 777 logs reports
# Copy and edit the configuration file
cp examples/sgr_deep_research/config.yaml.example examples/sgr_deep_research/config.yaml
# Edit examples/sgr_deep_research/config.yaml and set your API keys:
# - llm.api_key: Your OpenAI API key
# - tools.web_search_tool.api_key: Your Tavily API key (optional)
# - tools.extract_page_content_tool.tavily_api_key: Your Tavily API key (optional)
# Run the container
docker run --rm -i \
--name sgr-agent \
-p 8010:8010 \
-v $(pwd)/examples/sgr_deep_research:/app/examples/sgr_deep_research:ro \
-v $(pwd)/logs:/app/logs \
-v $(pwd)/reports:/app/reports \
ghcr.io/vamplabai/sgr-agent-core:latest \
--config-file /app/examples/sgr_deep_research/config.yaml \
--host 0.0.0.0 \
--port 8010
The API server will be available at http://localhost:8010 with OpenAI-compatible API endpoints. Interactive API documentation (Swagger UI) is available at http://localhost:8010/docs.
Installation
If you want to use SGR Agent Core as a Python library (framework):
pip install sgr-agent-core
See the Installation Guide for detailed instructions and the Using as Library guide to get started.
Running Research Agents
The project includes example research agent configurations in the examples/ directory. To get started with deep research agents:
- Copy and configure the config file:
cp examples/sgr_deep_research/config.yaml.example examples/sgr_deep_research/config.yaml
# Edit examples/sgr_deep_research/config.yaml and set your API keys:
# - llm.api_key: Your OpenAI API key
# - tools.web_search_tool.api_key: Your Tavily API key (optional)
# - tools.extract_page_content_tool.tavily_api_key: Your Tavily API key (optional)
- Run the API server using the
sgrutility:
sgr --config-file examples/sgr_deep_research/config.yaml
# or use short option
sgr -c examples/sgr_deep_research/config.yaml
Note: You can also run the server directly with Python:
python -m sgr_agent_core.server --config-file examples/sgr_deep_research/config.yaml
Using the CLI Tool (sgrsh)
For interactive command-line usage, you can use the sgrsh utility:
# Single query mode
sgrsh "Найди цену биткоина"
# With agent selection (e.g. sgr_agent, dialog_agent)
sgrsh --agent sgr_agent "What is AI?"
# With custom config file
sgrsh -c config.yaml -a sgr_agent "Your query"
# Interactive chat mode (no query argument)
sgrsh
sgrsh -a sgr_agent
The sgrsh command:
- Automatically looks for
config.yamlin the current directory - Supports interactive chat mode for multiple queries
- Handles clarification and dialog (intermediate results) requests from agents
- Works with any agent defined in your configuration (e.g.
sgr_agent,dialog_agent)
For more examples and detailed usage instructions, see the examples/ directory.
Benchmarking
Performance Metrics on gpt-4.1-mini:
- Accuracy: 86.08%
- Correct: 3,724 answers
- Incorrect: 554 answers
- Not Attempted: 48 answers
More detailed benchmark results are available here.
Open-Source Development Team
All development is driven by pure enthusiasm and open-source community collaboration. We welcome contributors of all skill levels!
- SGR Concept Creator // @abdullin
- Project Coordinator & Vision // @VaKovaLskii
- Lead Core Developer // @virrius
- API Development // @EvilFreelancer
- DevOps & Deployment // @mixaill76
- Hybrid FC research // @Shadekss
If you have any questions - feel free to join our community chat↗️ or reach out Valerii Kovalskii↗️.
Special Thanks To:
This project is developed by the neuraldeep community. It is inspired by the Schema-Guided Reasoning (SGR) work and SGR Agent Demo↗️ delivered by "LLM Under the Hood" community and AI R&D Hub of TIMETOACT GROUP Österreich↗️
This project is supported by the AI R&D team at red_mad_robot, providing research capacity, engineering expertise, infrastructure, and operational support.
Learn more about red_mad_robot: redmadrobot.ai↗️ habr↗️ telegram↗️
Star History
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sgr_agent_core-0.7.0.tar.gz.
File metadata
- Download URL: sgr_agent_core-0.7.0.tar.gz
- Upload date:
- Size: 121.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e335868264a80f065957e81e2f82ce610158690f52c2412f2c4b8786280e43
|
|
| MD5 |
29a59747f6f1bae7b108735a0b4e25d7
|
|
| BLAKE2b-256 |
3f0167bc7410f3d22c55fc74ad25b74a906368a4c7e2a152c8519abdf69723d4
|
File details
Details for the file sgr_agent_core-0.7.0-py3-none-any.whl.
File metadata
- Download URL: sgr_agent_core-0.7.0-py3-none-any.whl
- Upload date:
- Size: 77.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e6c1a0fe6968f8f8d2cca66e73cd390a57299aac1d4c4d5af40383512a05666
|
|
| MD5 |
50f8c649a2944f27685a4826b0a8f7a5
|
|
| BLAKE2b-256 |
e2cdb1b3be2b4d63bcc41716fa80cb666691c36535737b63d457ce07bb872989
|