baidubce / bce-qianfan-sdk

Provide best practices for LMOps, as well as elegant and convenient access to the features of the Qianfan MaaS Platform. (提供大模型工具链最佳实践,以及优雅且便捷地访问千帆大模型平台)
https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html
Apache License 2.0
334 stars 51 forks source link

修改了缓存路径但不起作用 #852

Closed Yangyang8462 closed 3 weeks ago

Yangyang8462 commented 1 month ago

System Info

在.env文件中设置了路径,QIANFAN_CACHE_DIR = "path/to/...",没有用,在代码中也设置了 os.environ["QIANFAN_CACHE_DIR"] = "path/to/...",还是用默认路径,为什么呢

Reproduction

import qianfan
import os
os.environ["QIANFAN_CACHE_DIR"] = "path/to/..."

def gen_wenxin_messages(prompt):
    messages = [{"role": "user", "content": prompt}]
    return messages

def get_completion(prompt, model="ERNIE-4.0-Turbo-8K", temperature=0.01):
    chat_comp = qianfan.ChatCompletion()
    message = gen_wenxin_messages(prompt)

    resp = chat_comp.do(messages=message, 
                        model=model,
                        temperature = temperature,
                        system="你是一名个人助理")

    return resp["result"]

get_completion("你好,介绍一下你自己", model="ERNIE-4.0-Turbo-8K")
Yangyang8462 commented 1 month ago

不知道什么原因,又没有权限错误了。

Dobiichi-Origami commented 4 weeks ago

推理调用并不会产生本地缓存,请问需要修改这个缓存路径是为了?

Yangyang8462 commented 4 weeks ago

推理调用并不会产生本地缓存,请问需要修改这个缓存路径是为了?

一开始没有设置这个路径,报错说没有权限写入C盘。修改到了D盘,但还是之前的报错,重启内核也没用。后来放了一会儿再运行就好了,在D盘建了缓存文件夹。

Dobiichi-Origami commented 4 weeks ago

推理调用并不会产生本地缓存,请问需要修改这个缓存路径是为了?

一开始没有设置这个路径,报错说没有权限写入C盘。修改到了D盘,但还是之前的报错,重启内核也没用。后来放了一会儿再运行就好了,在D盘建了缓存文件夹。

了解,这个是因为千帆 SDK 在运行时会首先从远端获取支持的模型列表,方便用户直接使用模型名来调用模型服务。且为了防止重复拉取而做了本地缓存,存在 CACHE_DIR 下。

Yangyang8462 commented 4 weeks ago

推理调用并不会产生本地缓存,请问需要修改这个缓存路径是为了?

一开始没有设置这个路径,报错说没有权限写入C盘。修改到了D盘,但还是之前的报错,重启内核也没用。后来放了一会儿再运行就好了,在D盘建了缓存文件夹。

了解,这个是因为千帆 SDK 在运行时会首先从远端获取支持的模型列表,方便用户直接使用模型名来调用模型服务。且为了防止重复拉取而做了本地缓存,存在 CACHE_DIR 下。

好的,了解。那这个改了路径、重启了内核、重新运行还是会报错、使用默认路径是什么原因呢。

Dobiichi-Origami commented 4 weeks ago

推理调用并不会产生本地缓存,请问需要修改这个缓存路径是为了?

一开始没有设置这个路径,报错说没有权限写入C盘。修改到了D盘,但还是之前的报错,重启内核也没用。后来放了一会儿再运行就好了,在D盘建了缓存文件夹。

了解,这个是因为千帆 SDK 在运行时会首先从远端获取支持的模型列表,方便用户直接使用模型名来调用模型服务。且为了防止重复拉取而做了本地缓存,存在 CACHE_DIR 下。

好的,了解。那这个改了路径、重启了内核、重新运行还是会报错、使用默认路径是什么原因呢。

在 Mac 上并未复现出相关问题,由于手边缺乏 Windows 的机器,可以请你尝试一下手动创建 CACHE 目录再试试吗?

Yangyang8462 commented 4 weeks ago

推理调用并不会产生本地缓存,请问需要修改这个缓存路径是为了?

一开始没有设置这个路径,报错说没有权限写入C盘。修改到了D盘,但还是之前的报错,重启内核也没用。后来放了一会儿再运行就好了,在D盘建了缓存文件夹。

了解,这个是因为千帆 SDK 在运行时会首先从远端获取支持的模型列表,方便用户直接使用模型名来调用模型服务。且为了防止重复拉取而做了本地缓存,存在 CACHE_DIR 下。

好的,了解。那这个改了路径、重启了内核、重新运行还是会报错、使用默认路径是什么原因呢。

在 Mac 上并未复现出相关问题,由于手边缺乏 Windows 的机器,可以请你尝试一下手动创建 CACHE 目录再试试吗?

好的,可能是系统问题吧。但感觉主要不是这个文件夹要不要手动建,主要是 os.environ["QIANFAN_CACHE_DIR"] 环境变量有的时候似乎没有被读取到,不过识别一次之后就没什么问题。