在“pycharm”上部署百度千帆大模型

1、概述:

        该项目通过python代码调取百度AI开发平台(百度智能云千帆AppBuilder)API实现本地化AI部署,这里采用查看百度千帆模型的API文档,查看调用方式。

2、实现步骤:

(1):注册一个“百度AI开发平台”的账号。(我这里已经是注册过了,就不给大家演示了)

百度AI开放平台-全球领先的人工智能服务平台 (baidu.com)

(2):登录好后进入控制台,并查看产品导览,并选择百度智能云千帆ModeBuider。

(3):点击应用接入,创建应用实例。(这里可以看见为你创建的应用实例创建的服务,也  就是说你对应的这个API对应的有那些功能)。当创建好应用实例后就可以得到:应用ID 、API Key、Secret Key。

这里的应用描述按照自己的要求写就行。

创建好后就可以得到应用ID 、API Key、Secret Key。

(4):为了检测你的的应用实例服务是否开通,可以前往检验(去模型广场随机选择一个模型,  单击它去产看它的API文档,然后前往API在线调试平台-示例代码进行检验服务是否开通)

这里我就随便选择了一个模型来试一下服务是否开通。

 当这里显示已鉴权,就可以使用了。

(5):部署代码逻辑:

            A.查看刚刚的模型API的技术文档python示例代码,将API Key、

Secret Key替换为自己的,就可以使用了。(注意:这里使用的方法 2 )


import os
import qianfan

# 通过环境变量初始化认证信息
# 方式一:【推荐】使用安全认证AK/SK鉴权
# 替换下列示例中参数,安全认证Access Key替换your_iam_ak,Secret Key替换your_iam_sk,如何获取请查看https://cloud.baidu.com/doc/Reference/s/9jwvz2egb
os.environ["QIANFAN_ACCESS_KEY"] = "your_iam_ak"
os.environ["QIANFAN_SECRET_KEY"] = "your_iam_sk"

# 方式二:【不推荐】使用应用AK/SK鉴权
# 替换下列示例中参数,将应用API_Key、应用Secret key值替换为真实值
#os.environ["QIANFAN_AK"] = "应用API_Key"
#os.environ["QIANFAN_SK"] = "应用Secret_Key"

chat_comp = qianfan.ChatCompletion()

# 指定特定模型
resp = chat_comp.do(model="ERNIE-4.0-8K-Latest", messages=[{
    "role": "user",
    "content": "你好"
}])

print(resp["body"])

            B.在原示例代码的基础上进行修改,完善AI本地部署。(这里的代码是根据官方提供的示例代码进行修改的)

import os
import qianfan
from concurrent.futures import ThreadPoolExecutor

# 设置环境变量
os.environ["QIANFAN_AK"] = "QAQg7UPHbqN8aF8ww8GlDkHS"
os.environ["QIANFAN_SK"] = "oXK8P6Z525Cly2T09NndxDZINquzRijn"

# 初始化ChatCompletion对象
chat_comp = qianfan.ChatCompletion()

# 缓存字典,用于存储查询结果
cache = {}


def get_response(model, message):
    # 使用缓存来避免重复查询
    cache_key = (model, message["content"])
    if cache_key in cache:
        return cache[cache_key]

    # 发送请求并获取响应
    resp = chat_comp.do(model=model, messages=[message])
    # 存储结果到缓存
    cache[cache_key] = resp["body"]
    return resp["body"]


# 使用线程池来并行处理请求
def parallel_requests(models_messages):
    with ThreadPoolExecutor(max_workers=5) as executor:
        results = list(executor.map(lambda args: get_response(*args), models_messages))
    return results

# 持续性提问循环
while True:
    # 用户输入
    user_input = input("用户:")
    if user_input.lower() == "退出":
        print("退出聊天。")
        break

    models_messages = [
        ("ERNIE-4.0-8K-Latest", {"role": "user", "content": user_input}),
        # 如果需要,可以继续添加更多的模型和消息对
    ]

    responses = parallel_requests(models_messages)
    for resp in responses:
        print("AI助手:", resp)

运行的结果:

当出现“用户:”时就可以进行与AI的交谈了

这里的返回速度根据你问的问题的内容、网络环境有关。

(6)计费情况

去计费管理查看各个模型的计费规则。

可以在首页面查看实际输入与输出token情况。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值