【ChatBI】超轻量Python库Vanna快速上手,对接oneapi

oneapi 准备

首先确保你有oneapi ,然后申请 kimi的api

需要去Moonshot AI - 开放平台

然后添加一个api key

然后打开oneapi的渠道界面,添加kimi。

然后点击 测试, 如果能生成响应时间,就是配置正确。

然后创建令牌 http://xxx:3000/token , 模型名是moonshot-v1-8k

然后复制token , token是sk开头的一串密码。

其他平台接入也是类似操作, 不懂的读者可以留言评论。

Vanna安装使用

pip install vanna就可以了

然后执行以下代码。

python 复制代码
from openai import OpenAI
from vanna.openai.openai_chat import OpenAI_Chat
from vanna.chromadb.chromadb_vector import ChromaDB_VectorStore
# zhipu
from zhipuai import ZhipuAI

# oneapi kimi
url,API_KEY,model_name =  "http://10.106.153.12:3002/v1",'sk-NykXx0lml5gnMy6gEe8bA114BbB644C398Ac0d8b5a123d48','moonshot-v1-8k'

client = OpenAI(
    api_key=API_KEY,
    base_url=url,
)
def single_query(query):
  return [{"role": "user", "content": query}]

def qwen_chat(client,model,history):
  # create a chat completion temperature=0.9,
  completion = client.chat.completions.create(
    model=model, max_tokens=512,
    messages=history
  )
  return completion.choices[0].message.content
# print the completion
# 用这一行测试是否能正常访问 oneapi的接口
# print(qwen_chat(client,model_name,single_query('你好')))


class MyVanna(ChromaDB_VectorStore, OpenAI_Chat):
    def __init__(self, client=None, config=None):
        ChromaDB_VectorStore.__init__(self, config=config)
        OpenAI_Chat.__init__(self, client=client, config=config)


vn = MyVanna(client=client, config={"model": model_name})
#vn.max_tokens = 1000
vn.temperature = 1
vn.train(ddl="""
CREATE TABLE IF NOT EXISTS users (
    id INT PRIMARY KEY COMMENT '用户ID',
    username VARCHAR(50) COMMENT '用户名',
    email VARCHAR(100) COMMENT '电子邮件',
    age INT COMMENT '年龄',
    gender VARCHAR(10) COMMENT '性别(男/女)',
    city VARCHAR(50) COMMENT '城市'
) COMMENT='用户信息表' CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
""")
res = vn.generate_sql('男性用户有多少个')


print('\n\n')

print({'sql':res })

vanna的优势是可以直接生成sql,不需要访问你的数据表。 只需要sql 建表信息, 或者是一些已有的sql ,它可以从已有的sql中进行学习。

相关推荐
极昆仑智慧3 天前
智能问数零售行业场景3-缺货损失量化与智能补货:缺货没有“账本“,怎么把损失量化成数字?一个 Data Agent 的实现思路
零售·chatbi·智能问数·agentic bi·data agent
极昆仑智慧3 天前
智能问数零售行业场景4-供应商履约监控与采购成本优化:多源数据融合 + 证据链,把采购谈判从“凭经验“变成“有据可依“
零售·chatbi·智能问数·agentic bi·data agent
极昆仑智慧5 天前
智能问数零售行业场景2:滞销库存与跨店错配的自动化处置——从全连锁交叉匹配到调拨清仓派单的工程实现,示例口径一次性盘活/止损约420-620万
bi·chatbi·ai+bi·智能问数·data agent
极昆仑智慧5 天前
智能问数零售行业场景1:生鲜损耗管理的自动化落地——从每日巡检、五类归因到分级降价派单的工程实现,示例口径年化减少损耗约500-1100万
bi·chatbi·ai+bi·智能问数·data agent
衡石科技6 天前
让 BI 能力可编排:CLI、Headless API 与可治理执行
人工智能·chatbi
衡石科技6 天前
企业级 ChatBI 的安全边界:身份、权限、语义与审计
chatbi
衡石科技6 天前
多源数据分析的工程路径:连接、建模、同步与加速
大数据·人工智能·chatbi
黄骨鱼骨12 天前
DatI:给AI接入数据库,Agent时代的NL2SQL问数与多维表格应该怎么做
java·database·text2sql·nl2sql·chatbi·mcp·data agent
Aloudata19 天前
语义层 vs MCP 工具层:Agent 调用数据时,语义应该放在哪一层
数据库·数据分析·chatbi·data agent·语义层
QH139292318801 个月前
R&S FSPN50 FSPN26 FSWP26 相位噪声分析仪典型应用案例
人工智能·百度·微信·集成测试·音视频·facebook·oneapi