vanna 0.7.4__tar.gz → 0.7.5__tar.gz
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-0.7.4 → vanna-0.7.5}/PKG-INFO +4 -1
- {vanna-0.7.4 → vanna-0.7.5}/pyproject.toml +3 -2
- vanna-0.7.5/src/vanna/xinference/__init__.py +1 -0
- vanna-0.7.5/src/vanna/xinference/xinference.py +53 -0
- {vanna-0.7.4 → vanna-0.7.5}/README.md +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/ZhipuAI/ZhipuAI_Chat.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/ZhipuAI/ZhipuAI_embeddings.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/ZhipuAI/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/advanced/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/anthropic/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/anthropic/anthropic_chat.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/azuresearch/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/azuresearch/azuresearch_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/base/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/base/base.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/bedrock/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/bedrock/bedrock_converse.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/chromadb/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/chromadb/chromadb_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/exceptions/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/faiss/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/faiss/faiss.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/flask/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/flask/assets.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/flask/auth.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/google/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/google/bigquery_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/google/gemini_chat.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/hf/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/hf/hf.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/local.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/marqo/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/marqo/marqo.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/milvus/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/milvus/milvus_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/mistral/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/mistral/mistral.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/mock/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/mock/embedding.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/mock/llm.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/mock/vectordb.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/ollama/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/ollama/ollama.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/openai/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/openai/openai_chat.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/openai/openai_embeddings.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/opensearch/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/opensearch/opensearch_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/pgvector/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/pgvector/pgvector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/pinecone/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/pinecone/pinecone_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qdrant/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qdrant/qdrant.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qianfan/Qianfan_Chat.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qianfan/Qianfan_embeddings.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qianfan/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qianwen/QianwenAI_chat.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qianwen/QianwenAI_embeddings.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/qianwen/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/remote.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/types/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/utils.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/vannadb/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/vannadb/vannadb_vector.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/vllm/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/vllm/vllm.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/weaviate/__init__.py +0 -0
- {vanna-0.7.4 → vanna-0.7.5}/src/vanna/weaviate/weaviate_vector.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vanna
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.5
|
|
4
4
|
Summary: Generate SQL queries from natural language
|
|
5
5
|
Author-email: Zain Hoda <zain@vanna.ai>
|
|
6
6
|
Requires-Python: >=3.9
|
|
@@ -52,6 +52,7 @@ Requires-Dist: boto3 ; extra == "all"
|
|
|
52
52
|
Requires-Dist: botocore ; extra == "all"
|
|
53
53
|
Requires-Dist: langchain_core ; extra == "all"
|
|
54
54
|
Requires-Dist: langchain_postgres ; extra == "all"
|
|
55
|
+
Requires-Dist: xinference-client ; extra == "all"
|
|
55
56
|
Requires-Dist: anthropic ; extra == "anthropic"
|
|
56
57
|
Requires-Dist: azure-search-documents ; extra == "azuresearch"
|
|
57
58
|
Requires-Dist: azure-identity ; extra == "azuresearch"
|
|
@@ -90,6 +91,7 @@ Requires-Dist: snowflake-connector-python ; extra == "snowflake"
|
|
|
90
91
|
Requires-Dist: tox ; extra == "test"
|
|
91
92
|
Requires-Dist: vllm ; extra == "vllm"
|
|
92
93
|
Requires-Dist: weaviate-client ; extra == "weaviate"
|
|
94
|
+
Requires-Dist: xinference-client ; extra == "xinference-client"
|
|
93
95
|
Requires-Dist: zhipuai ; extra == "zhipuai"
|
|
94
96
|
Project-URL: Bug Tracker, https://github.com/vanna-ai/vanna/issues
|
|
95
97
|
Project-URL: Homepage, https://github.com/vanna-ai/vanna
|
|
@@ -122,6 +124,7 @@ Provides-Extra: snowflake
|
|
|
122
124
|
Provides-Extra: test
|
|
123
125
|
Provides-Extra: vllm
|
|
124
126
|
Provides-Extra: weaviate
|
|
127
|
+
Provides-Extra: xinference-client
|
|
125
128
|
Provides-Extra: zhipuai
|
|
126
129
|
|
|
127
130
|
|
|
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "vanna"
|
|
7
|
-
version = "0.7.
|
|
7
|
+
version = "0.7.5"
|
|
8
8
|
authors = [
|
|
9
9
|
{ name="Zain Hoda", email="zain@vanna.ai" },
|
|
10
10
|
]
|
|
@@ -33,7 +33,7 @@ bigquery = ["google-cloud-bigquery"]
|
|
|
33
33
|
snowflake = ["snowflake-connector-python"]
|
|
34
34
|
duckdb = ["duckdb"]
|
|
35
35
|
google = ["google-generativeai", "google-cloud-aiplatform"]
|
|
36
|
-
all = ["psycopg2-binary", "db-dtypes", "PyMySQL", "google-cloud-bigquery", "snowflake-connector-python", "duckdb", "openai", "qianfan", "mistralai>=1.0.0", "chromadb", "anthropic", "zhipuai", "marqo", "google-generativeai", "google-cloud-aiplatform", "qdrant-client", "fastembed", "ollama", "httpx", "opensearch-py", "opensearch-dsl", "transformers", "pinecone-client", "pymilvus[model]","weaviate-client", "azure-search-documents", "azure-identity", "azure-common", "faiss-cpu", "boto", "boto3", "botocore", "langchain_core", "langchain_postgres"]
|
|
36
|
+
all = ["psycopg2-binary", "db-dtypes", "PyMySQL", "google-cloud-bigquery", "snowflake-connector-python", "duckdb", "openai", "qianfan", "mistralai>=1.0.0", "chromadb", "anthropic", "zhipuai", "marqo", "google-generativeai", "google-cloud-aiplatform", "qdrant-client", "fastembed", "ollama", "httpx", "opensearch-py", "opensearch-dsl", "transformers", "pinecone-client", "pymilvus[model]","weaviate-client", "azure-search-documents", "azure-identity", "azure-common", "faiss-cpu", "boto", "boto3", "botocore", "langchain_core", "langchain_postgres", "xinference-client"]
|
|
37
37
|
test = ["tox"]
|
|
38
38
|
chromadb = ["chromadb"]
|
|
39
39
|
openai = ["openai"]
|
|
@@ -56,3 +56,4 @@ azuresearch = ["azure-search-documents", "azure-identity", "azure-common", "fast
|
|
|
56
56
|
pgvector = ["langchain-postgres>=0.0.12"]
|
|
57
57
|
faiss-cpu = ["faiss-cpu"]
|
|
58
58
|
faiss-gpu = ["faiss-gpu"]
|
|
59
|
+
xinference-client = ["xinference-client"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from .xinference import Xinference
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
from xinference_client.client.restful.restful_client import (
|
|
2
|
+
Client,
|
|
3
|
+
RESTfulChatModelHandle,
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
from ..base import VannaBase
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Xinference(VannaBase):
|
|
10
|
+
def __init__(self, config=None):
|
|
11
|
+
VannaBase.__init__(self, config=config)
|
|
12
|
+
|
|
13
|
+
if not config or "base_url" not in config:
|
|
14
|
+
raise ValueError("config must contain at least Xinference base_url")
|
|
15
|
+
|
|
16
|
+
base_url = config["base_url"]
|
|
17
|
+
api_key = config.get("api_key", "not empty")
|
|
18
|
+
self.xinference_client = Client(base_url=base_url, api_key=api_key)
|
|
19
|
+
|
|
20
|
+
def system_message(self, message: str) -> any:
|
|
21
|
+
return {"role": "system", "content": message}
|
|
22
|
+
|
|
23
|
+
def user_message(self, message: str) -> any:
|
|
24
|
+
return {"role": "user", "content": message}
|
|
25
|
+
|
|
26
|
+
def assistant_message(self, message: str) -> any:
|
|
27
|
+
return {"role": "assistant", "content": message}
|
|
28
|
+
|
|
29
|
+
def submit_prompt(self, prompt, **kwargs) -> str:
|
|
30
|
+
if prompt is None:
|
|
31
|
+
raise Exception("Prompt is None")
|
|
32
|
+
|
|
33
|
+
if len(prompt) == 0:
|
|
34
|
+
raise Exception("Prompt is empty")
|
|
35
|
+
|
|
36
|
+
num_tokens = 0
|
|
37
|
+
for message in prompt:
|
|
38
|
+
num_tokens += len(message["content"]) / 4
|
|
39
|
+
|
|
40
|
+
model_uid = kwargs.get("model_uid") or self.config.get("model_uid", None)
|
|
41
|
+
if model_uid is None:
|
|
42
|
+
raise ValueError("model_uid is required")
|
|
43
|
+
|
|
44
|
+
xinference_model = self.xinference_client.get_model(model_uid)
|
|
45
|
+
if isinstance(xinference_model, RESTfulChatModelHandle):
|
|
46
|
+
print(
|
|
47
|
+
f"Using model_uid {model_uid} for {num_tokens} tokens (approx)"
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
response = xinference_model.chat(prompt)
|
|
51
|
+
return response["choices"][0]["message"]["content"]
|
|
52
|
+
else:
|
|
53
|
+
raise NotImplementedError(f"Xinference model handle type {type(xinference_model)} is not supported, required RESTfulChatModelHandle")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|