复制链接
克隆策略
In [1]:
import dai
mnt = dai.DataSource("chatglm_6b_int4").mount()
In [2]:
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained(mnt.path, trust_remote_code=True)
model = AutoModel.from_pretrained(mnt.path, trust_remote_code=True).half().cuda()
model = model.eval()
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a configuration with custom code to ensure no malicious code has been contributed in a newer revision.
Explicitly passing a `revision` is encouraged when loading a model with custom code to ensure no malicious code has been contributed in a newer revision.
Symbol nvrtcGetCUBIN not found in /usr/local/cuda/lib64/libnvrtc.so
Symbol nvrtcGetCUBINSize not found in /usr/local/cuda/lib64/libnvrtc.so
No compiled kernel found.
Compiling kernels : /home/aiuser/.cache/huggingface/modules/transformers_modules/1683901165675658297_chatglm_6b_int4/quantization_kernels_parallel.c
Compiling gcc -O3 -fPIC -pthread -fopenmp -std=c99 /home/aiuser/.cache/huggingface/modules/transformers_modules/1683901165675658297_chatglm_6b_int4/quantization_kernels_parallel.c -shared -o /home/aiuser/.cache/huggingface/modules/transformers_modules/1683901165675658297_chatglm_6b_int4/quantization_kernels_parallel.so
Load kernel : /home/aiuser/.cache/huggingface/modules/transformers_modules/1683901165675658297_chatglm_6b_int4/quantization_kernels_parallel.so
Setting CPU quantization kernel threads to 2
Parallel kernel is not recommended when parallel num < 4.
Using quantization cache
Applying quantization to glm layers
In [4]:
history = []
In [5]:
response, history = model.chat(tokenizer, "你好", history=history)
print(response)
The dtype of attention mask (torch.int64) is not bool
2023-05-12 22:19:55.060295: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.11.0
你好👋!我是人工智能助手 ChatGLM-6B,很高兴见到你,欢迎问我任何问题。
In [6]:
response, history = model.chat(tokenizer, f"中国最好一所大学是?", history=history)
print(response)
中国最好大学的排名可能会因不同的排名机构和标准而有所不同,但是以下是中国一些知名的大学,供参考:

1.清华大学 (Tsinghua University)
2.北京大学 (Peking University)
3.复旦大学 (Fudan University)
4.上海交通大学 (Shanghai Jiao Tong University)
5.浙江大学 (Zhejiang University)
6.中国科学技术大学 (University of Science and Technology of China)
7.南京大学 (Nanjing University)
8.中山大学 (Sun Yat-sen University)
9.哈尔滨工业大学 (Harbin Institute of Technology)

以上大学排名可能因不同的机构和标准而有所不同,但都是在中国和世界范围内享有良好声誉的高水平大学。
In [7]:
response, history = model.chat(tokenizer, f"中国最好的10所大学是?", history=history)
print(response)
中国最好的10所大学可能会因不同的排名机构和标准而有所不同,以下是一些在中国和世界范围内享有良好声誉的高水平大学,供参考:

1.清华大学 (Tsinghua University)
2.北京大学 (Peking University)
3.复旦大学 (Fudan University)
4.上海交通大学 (Shanghai Jiao Tong University)
5.浙江大学 (Zhejiang University)
6.中国科学技术大学 (University of Science and Technology of China)
7.南京大学 (Nanjing University)
8.中山大学 (Sun Yat-sen University)
9.哈尔滨工业大学 (Harbin Institute of Technology)
10.武汉大学 (Wuhan University)

需要注意的是,大学的排名和声誉可能因不同的指标和标准而有所不同,因此以上排名仅供参考。
In [11]:
table_fields = ",".join(dai.DataSource("cn_stock_bar1d").metadata["schema"].keys())
table_desc = f"cn_stock_bar1d({table_fields})"

response, history = model.chat(tokenizer, f"你是一个专业的量化研究员,使用BigQuant人工智能量化投资平台开发因子和策略。BigQuant平台提供股票行情表 {table_desc},计算每天价格最高的股票,使用SQL实现", history=[])
print(response)
以下是使用SQL实现计算每天价格最高股票的代码:

```sql
SELECT name, Adjust_factor
FROM cn_stock_bar1d
WHERE close > (SELECT MAX(close) FROM cn_stock_bar1d WHERE date = '2023-02-18')
ORDER BY close DESC
LIMIT 1;
```

这段SQL代码首先从股票行情表cn_stock_bar1d中选择日期为2023-02-18且价格最高的股票,然后使用子查询获取每一天的价格和股票信息,最后使用ORDER BY语句对价格进行排序并输出最高价格的股票名称和Adjust_factor因子。

需要注意的是,上述代码中的日期为字符串格式,需要将其转换为日期类型。可以使用DATEFROMPARTS函数或硬编码日期。另外,由于Adjust_factor因子是动态计算的,需要根据实时的股票行情更新。
In [9]:
# 最好卸载数据
mnt.unmount()