【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中进行学习。

相关推荐
踏遍三十六岸15 天前
OpenAPI
oneapi
007php00717 天前
PHP调用阿里云OSS的SDK封装成服务的完整指南与问题解决
java·开发语言·经验分享·笔记·git·功能测试·gpt·其他·nginx·百度·阿里云·docker·微信·chatgpt·架构·golang·系统架构·单元测试·appium·云计算·json·github·aigc·php·企业微信·文心一言·sass·课程设计·ai编程·laravel·微信公众平台·phpstorm·可用性测试·facebook·oneapi·twitter·composer·paddle·新浪微博·segmentfault·微信开放平台
007php00717 天前
如何生成自定义二维码和实现安全便捷的扫码登录功能以及对接企业微信API
java·开发语言·经验分享·redis·笔记·git·功能测试·jmeter·其他·nginx·安全·百度·ajax·ci/cd·docker·微信·架构·golang·系统架构·单元测试·centos·github·jenkins·php·erlang·企业微信·postman·sass·课程设计·微信公众平台·safari·facebook·oneapi·twitter·composer·jira·paddle·新浪微博·lvs·segmentfault·微信开放平台
xie_zhr17 天前
SpringBoot3整合SpringDoc实现在线接口文档
springboot3·swagger·oneapi·springdoc·接口文档
007php00719 天前
docker安装消息队列mq中的rabbit服务
java·大数据·运维·经验分享·笔记·git·python·selenium·其他·nginx·mongodb·百度·docker·单例模式·微信·容器·架构·golang·系统架构·centos·github·php·apache·负载均衡·压力测试·postman·课程设计·微信公众平台·phpstorm·可用性测试·devops·facebook·oneapi·twitter·visual studio·composer·安全性测试·paddle·新浪微博·segmentfault·微信开放平台
007php00722 天前
使用PHP对接企业微信审批接口的问题与解决办法(二)
java·大数据·开发语言·经验分享·redis·笔记·git·功能测试·jmeter·其他·nginx·百度·docker·微信·chatgpt·架构·golang·系统架构·centos·gitlab·github·aigc·测试用例·php·企业微信·postman·文心一言·sass·课程设计·制造·ai编程·微信公众平台·可用性测试·模块测试·oneapi·composer·paddle·新浪微博·segmentfault·微信开放平台
007php00723 天前
高速公路智能管理系统:构建安全畅通的数字大动脉
java·大数据·经验分享·redis·笔记·git·功能测试·程序人生·nginx·安全·百度·docker·微信·chatgpt·架构·golang·系统架构·centos·appium·github·测试用例·php·负载均衡·postman·文心一言·课程设计·ai编程·微信公众平台·可用性测试·facebook·oneapi·composer·agi·新浪微博·segmentfault·微信开放平台
007php0071 个月前
探索教研在线平台的系统架构
java·大数据·经验分享·redis·笔记·git·功能测试·selenium·jmeter·程序人生·其他·nginx·安全·百度·docker·微信·chatgpt·架构·golang·系统架构·centos·github·php·postman·文心一言·课程设计·ai编程·微信公众平台·facebook·oneapi·twitter·composer·paddle·新浪微博·segmentfault·微信开放平台·dall·e 2
007php0071 个月前
构建智慧小程序平台——系统架构设计与应用探索
java·大数据·经验分享·redis·笔记·git·功能测试·gpt·selenium·jmeter·其他·nginx·安全·百度·docker·微服务·微信·云原生·小程序·架构·golang·系统架构·测试用例·php·负载均衡·压力测试·文心一言·课程设计·ai编程·微信公众平台·模块测试·测试覆盖率·facebook·oneapi·twitter·composer·jira·paddle·新浪微博·segmentfault·微信开放平台