Skip to content

Commit ac5d478

Browse files
committed
Initial commit - static functions done
0 parents  commit ac5d478

12 files changed

Lines changed: 5384 additions & 0 deletions

File tree

.gitignore

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Python-generated files
2+
__pycache__/
3+
*.py[oc]
4+
build/
5+
dist/
6+
wheels/
7+
*.egg-info
8+
.env
9+
src/.env
10+
# Virtual environments
11+
.venv

.python-version

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3.13

README.md

Whitespace-only changes.

main.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
def main():
2+
print("Hello from advisory-agent!")
3+
4+
5+
if __name__ == "__main__":
6+
main()

pyproject.toml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
[project]
2+
name = "advisory-agent"
3+
version = "0.1.0"
4+
description = "Add your description here"
5+
readme = "README.md"
6+
requires-python = ">=3.13"
7+
dependencies = [
8+
"faker>=40.21.0",
9+
"jsonpatch>=1.33",
10+
"jsonpointer>=3.1.1",
11+
"langchain>=1.3.4",
12+
"langchain-core>=1.4.0",
13+
"langchain-groq>=1.1.2",
14+
"langgraph>=1.2.4",
15+
"pydantic>=2.13.4",
16+
"pydantic-ai>=1.107.0",
17+
"python-dateutil>=2.9.0.post0",
18+
"python-dotenv>=1.2.2",
19+
"tavily>=1.1.0",
20+
"tavily-python>=0.7.26",
21+
]

src/agents.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import os
2+
3+
from dotenv import load_dotenv
4+
from pydantic import validate_call
5+
from pydantic_ai import Agent
6+
from tavily import AsyncTavilyClient
7+
8+
from schemas import FinancialSummary, GSTSummary, TDSSummary, WebSearchResult
9+
10+
load_dotenv()
11+
12+
13+
gst_agent = Agent(model="openai/gpt-oss-safeguard-20b", output_type=GSTSummary)
14+
15+
16+
@validate_call
17+
@agent.tool_plain
18+
async def search_web(query: str) -> WebSearchResult:
19+
"""
20+
Search the web to verify latest Indian financial rules relating GST, TDS and other financial regulations.
21+
Search results are required to from official verified sources only. Do you not assume any numbers or facts from search results.
22+
Check for the date of the search results to ensure they are from a recent official source.
23+
Use this when client situation requires updated financial information or fact checking.
24+
"""
25+
days_back = "month"
26+
client = AsyncTavilyClient(api_key=os.getenv("TAVILY_API_KEY"))
27+
results = await client.search(
28+
query,
29+
max_results=3,
30+
time_range=days_back,
31+
include_domains=[
32+
"gst.gov.in",
33+
"cbic-gst.gov.in",
34+
"incometaxindia.gov.in",
35+
"incometax.gov.in",
36+
"tdscpc.gov.in",
37+
"indiabudget.gov.in",
38+
"cleartax.in",
39+
],
40+
)
41+
return results

src/prompts.py

Whitespace-only changes.

0 commit comments

Comments
 (0)