-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvanna_setup.py
More file actions
33 lines (25 loc) · 1023 Bytes
/
Copy pathvanna_setup.py
File metadata and controls
33 lines (25 loc) · 1023 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import os
from dotenv import load_dotenv
from vanna import Agent
from vanna.core.registry import ToolRegistry
from vanna.core.user import UserResolver, User
from vanna.tools import RunSqlTool, VisualizeDataTool
from vanna.tools.agent_memory import SaveQuestionToolArgsTool, SearchSavedCorrectToolUsesTool
from vanna.integrations.sqlite import SqliteRunner
from vanna.integrations.local.agent_memory import DemoAgentMemory
from vanna.integrations.google import GeminiLlmService
load_dotenv()
class SimpleUserResolver(UserResolver):
def resolve_user(self, **kwargs) -> User:
return User(user_id="default_user")
def get_agent():
llm = GeminiLlmService(os.getenv("GOOGLE_API_KEY"), "gemini-2.0-flash")
runner = SqliteRunner("clinic.db")
memory = DemoAgentMemory()
tools = ToolRegistry([
RunSqlTool(runner),
VisualizeDataTool(),
SaveQuestionToolArgsTool(),
SearchSavedCorrectToolUsesTool()
])
return Agent(llm, tools, memory, SimpleUserResolver())