vanna 0.3.4__py3-none-any.whl → 0.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- vanna/base/base.py +1 -0
- vanna/chromadb/chromadb_vector.py +6 -2
- vanna/flask/__init__.py +116 -42
- vanna/flask/assets.py +17 -17
- vanna/flask/auth.py +55 -0
- vanna/google/__init__.py +1 -0
- vanna/google/gemini_chat.py +52 -0
- {vanna-0.3.4.dist-info → vanna-0.4.0.dist-info}/METADATA +6 -1
- {vanna-0.3.4.dist-info → vanna-0.4.0.dist-info}/RECORD +10 -7
- {vanna-0.3.4.dist-info → vanna-0.4.0.dist-info}/WHEEL +0 -0
vanna/flask/auth.py
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
from abc import ABC, abstractmethod
|
|
2
|
+
|
|
3
|
+
import flask
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class AuthInterface(ABC):
|
|
7
|
+
@abstractmethod
|
|
8
|
+
def get_user(self, flask_request) -> any:
|
|
9
|
+
pass
|
|
10
|
+
|
|
11
|
+
@abstractmethod
|
|
12
|
+
def is_logged_in(self, user: any) -> bool:
|
|
13
|
+
pass
|
|
14
|
+
|
|
15
|
+
@abstractmethod
|
|
16
|
+
def override_config_for_user(self, user: any, config: dict) -> dict:
|
|
17
|
+
pass
|
|
18
|
+
|
|
19
|
+
@abstractmethod
|
|
20
|
+
def login_form(self) -> str:
|
|
21
|
+
pass
|
|
22
|
+
|
|
23
|
+
@abstractmethod
|
|
24
|
+
def login_handler(self, flask_request) -> str:
|
|
25
|
+
pass
|
|
26
|
+
|
|
27
|
+
@abstractmethod
|
|
28
|
+
def callback_handler(self, flask_request) -> str:
|
|
29
|
+
pass
|
|
30
|
+
|
|
31
|
+
@abstractmethod
|
|
32
|
+
def logout_handler(self, flask_request) -> str:
|
|
33
|
+
pass
|
|
34
|
+
|
|
35
|
+
class NoAuth(AuthInterface):
|
|
36
|
+
def get_user(self, flask_request) -> any:
|
|
37
|
+
return {}
|
|
38
|
+
|
|
39
|
+
def is_logged_in(self, user: any) -> bool:
|
|
40
|
+
return True
|
|
41
|
+
|
|
42
|
+
def override_config_for_user(self, user: any, config: dict) -> dict:
|
|
43
|
+
return config
|
|
44
|
+
|
|
45
|
+
def login_form(self) -> str:
|
|
46
|
+
return ''
|
|
47
|
+
|
|
48
|
+
def login_handler(self, flask_request) -> str:
|
|
49
|
+
return 'No login required'
|
|
50
|
+
|
|
51
|
+
def callback_handler(self, flask_request) -> str:
|
|
52
|
+
return 'No login required'
|
|
53
|
+
|
|
54
|
+
def logout_handler(self, flask_request) -> str:
|
|
55
|
+
return 'No login required'
|
vanna/google/__init__.py
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .gemini_chat import GoogleGeminiChat
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from ..base import VannaBase
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class GoogleGeminiChat(VannaBase):
|
|
6
|
+
def __init__(self, config=None):
|
|
7
|
+
VannaBase.__init__(self, config=config)
|
|
8
|
+
|
|
9
|
+
# default temperature - can be overrided using config
|
|
10
|
+
self.temperature = 0.7
|
|
11
|
+
|
|
12
|
+
if "temperature" in config:
|
|
13
|
+
self.temperature = config["temperature"]
|
|
14
|
+
|
|
15
|
+
if "model_name" in config:
|
|
16
|
+
model_name = config["model_name"]
|
|
17
|
+
else:
|
|
18
|
+
model_name = "gemini-1.0-pro"
|
|
19
|
+
|
|
20
|
+
self.google_api_key = None
|
|
21
|
+
|
|
22
|
+
if "api_key" in config or os.getenv("GOOGLE_API_KEY"):
|
|
23
|
+
"""
|
|
24
|
+
If Google api_key is provided through config
|
|
25
|
+
or set as an environment variable, assign it.
|
|
26
|
+
"""
|
|
27
|
+
import google.generativeai as genai
|
|
28
|
+
|
|
29
|
+
genai.configure(api_key=config["api_key"])
|
|
30
|
+
self.chat_model = genai.GenerativeModel(model_name)
|
|
31
|
+
else:
|
|
32
|
+
# Authenticate using VertexAI
|
|
33
|
+
from vertexai.preview.generative_models import GenerativeModel
|
|
34
|
+
self.chat_model = GenerativeModel("gemini-pro")
|
|
35
|
+
|
|
36
|
+
def system_message(self, message: str) -> any:
|
|
37
|
+
return message
|
|
38
|
+
|
|
39
|
+
def user_message(self, message: str) -> any:
|
|
40
|
+
return message
|
|
41
|
+
|
|
42
|
+
def assistant_message(self, message: str) -> any:
|
|
43
|
+
return message
|
|
44
|
+
|
|
45
|
+
def submit_prompt(self, prompt, **kwargs) -> str:
|
|
46
|
+
response = self.chat_model.generate_content(
|
|
47
|
+
prompt,
|
|
48
|
+
generation_config={
|
|
49
|
+
"temperature": self.temperature,
|
|
50
|
+
},
|
|
51
|
+
)
|
|
52
|
+
return response.text
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vanna
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Generate SQL queries from natural language
|
|
5
5
|
Author-email: Zain Hoda <zain@vanna.ai>
|
|
6
6
|
Requires-Python: >=3.9
|
|
@@ -28,11 +28,15 @@ Requires-Dist: chromadb ; extra == "all"
|
|
|
28
28
|
Requires-Dist: anthropic ; extra == "all"
|
|
29
29
|
Requires-Dist: zhipuai ; extra == "all"
|
|
30
30
|
Requires-Dist: marqo ; extra == "all"
|
|
31
|
+
Requires-Dist: google-generativeai ; extra == "all"
|
|
32
|
+
Requires-Dist: google-cloud-aiplatform ; extra == "all"
|
|
31
33
|
Requires-Dist: anthropic ; extra == "anthropic"
|
|
32
34
|
Requires-Dist: google-cloud-bigquery ; extra == "bigquery"
|
|
33
35
|
Requires-Dist: chromadb ; extra == "chromadb"
|
|
34
36
|
Requires-Dist: duckdb ; extra == "duckdb"
|
|
35
37
|
Requires-Dist: google-generativeai ; extra == "gemini"
|
|
38
|
+
Requires-Dist: google-generativeai ; extra == "google"
|
|
39
|
+
Requires-Dist: google-cloud-aiplatform ; extra == "google"
|
|
36
40
|
Requires-Dist: marqo ; extra == "marqo"
|
|
37
41
|
Requires-Dist: mistralai ; extra == "mistralai"
|
|
38
42
|
Requires-Dist: PyMySQL ; extra == "mysql"
|
|
@@ -50,6 +54,7 @@ Provides-Extra: bigquery
|
|
|
50
54
|
Provides-Extra: chromadb
|
|
51
55
|
Provides-Extra: duckdb
|
|
52
56
|
Provides-Extra: gemini
|
|
57
|
+
Provides-Extra: google
|
|
53
58
|
Provides-Extra: marqo
|
|
54
59
|
Provides-Extra: mistralai
|
|
55
60
|
Provides-Extra: mysql
|
|
@@ -8,12 +8,15 @@ vanna/ZhipuAI/__init__.py,sha256=NlsijtcZp5Tj9jkOe9fNcOQND_QsGgu7otODsCLBPr0,116
|
|
|
8
8
|
vanna/anthropic/__init__.py,sha256=85s_2mAyyPxc0T_0JEvYeAkEKWJwkwqoyUwSC5dw9Gk,43
|
|
9
9
|
vanna/anthropic/anthropic_chat.py,sha256=Wk0o-NMW1uvR2fhSWxrR_2FqNh-dLprNG4uuVqpqAkY,2615
|
|
10
10
|
vanna/base/__init__.py,sha256=Sl-HM1RRYzAZoSqmL1CZQmF3ZF-byYTCFQP3JZ2A5MU,28
|
|
11
|
-
vanna/base/base.py,sha256=
|
|
11
|
+
vanna/base/base.py,sha256=_2vANGAcUe6IrsEhZyFnE6FdO8NMLylfyGlRI4XujWE,58143
|
|
12
12
|
vanna/chromadb/__init__.py,sha256=-iL0nW_g4uM8nWKMuWnNePfN4nb9uk8P3WzGvezOqRg,50
|
|
13
|
-
vanna/chromadb/chromadb_vector.py,sha256=
|
|
13
|
+
vanna/chromadb/chromadb_vector.py,sha256=eKyPck99Y6Jt-BNWojvxLG-zvAERzLSm-3zY-bKXvaA,8792
|
|
14
14
|
vanna/exceptions/__init__.py,sha256=N76unE7sjbGGBz6LmCrPQAugFWr9cUFv8ErJxBrCTts,717
|
|
15
|
-
vanna/flask/__init__.py,sha256=
|
|
16
|
-
vanna/flask/assets.py,sha256=
|
|
15
|
+
vanna/flask/__init__.py,sha256=5Du2oK5s-VSLicRPvxMAL1-Gh_jdX847FjJOf5AVapo,23721
|
|
16
|
+
vanna/flask/assets.py,sha256=ZESgn0-XrJl4_YV69Lu7Dr7-Y9Eql7xqb7PsoMzrofw,183889
|
|
17
|
+
vanna/flask/auth.py,sha256=UpKxh7W5cd43W0LGch0VqhncKwB78L6dtOQkl1JY5T0,1246
|
|
18
|
+
vanna/google/__init__.py,sha256=M-dCxCZcKL4bTQyMLj6r6VRs65YNX9Tl2aoPCuqGm-8,41
|
|
19
|
+
vanna/google/gemini_chat.py,sha256=ps3A-afFbCo3HeFTLL_nMoQO1PsGvRUUPRUppbMcDew,1584
|
|
17
20
|
vanna/marqo/__init__.py,sha256=GaAWtJ0B-H5rTY607iLCCrLD7T0zMYM5qWIomEB9gLk,37
|
|
18
21
|
vanna/marqo/marqo.py,sha256=W7WTtzWp4RJjZVy6OaXHqncUBIPdI4Q7qH7BRCxZ1_A,5242
|
|
19
22
|
vanna/mistral/__init__.py,sha256=70rTY-69Z2ehkkMj84dNMCukPo6AWdflBGvIB_pztS0,29
|
|
@@ -26,6 +29,6 @@ vanna/openai/openai_embeddings.py,sha256=g4pNh9LVcYP9wOoO8ecaccDFWmCUYMInebfHucA
|
|
|
26
29
|
vanna/types/__init__.py,sha256=Qhn_YscKtJh7mFPCyCDLa2K8a4ORLMGVnPpTbv9uB2U,4957
|
|
27
30
|
vanna/vannadb/__init__.py,sha256=C6UkYocmO6dmzfPKZaWojN0mI5YlZZ9VIbdcquBE58A,48
|
|
28
31
|
vanna/vannadb/vannadb_vector.py,sha256=9YwTO3Lh5owWQE7KPMBqLp2EkiGV0RC1sEYhslzJzgI,6168
|
|
29
|
-
vanna-0.
|
|
30
|
-
vanna-0.
|
|
31
|
-
vanna-0.
|
|
32
|
+
vanna-0.4.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
|
|
33
|
+
vanna-0.4.0.dist-info/METADATA,sha256=pz6wxMyiXUNXgQJlRxW-vyA3yC8j0t2OHiTBgdsOSeg,10352
|
|
34
|
+
vanna-0.4.0.dist-info/RECORD,,
|
|
File without changes
|