Cookie: sidebar_status=closed详细解释
时间: 2024-04-27 16:24:40 浏览: 19
这是一个 HTTP Cookie,其中 "sidebar_status=closed" 是 Cookie 的键值对。这个 Cookie 通常是由网站在用户访问时设置的,用于在用户进行页面刷新或者浏览时保持网站的状态。在这个例子中,"sidebar_status=closed" 表示用户关闭了网站的侧边栏,网站会根据这个状态在用户访问其他页面时保持侧边栏的关闭状态。通常,Cookie 在浏览器中保存一段时间,以便用户在一段时间内重新访问网站时可以保持状态。
相关问题
将下面这段代码转换成在mysql里创建表的形式class Sidebar(models.Model): # 侧边栏的模型数据 STATUS = ( (1, '隐藏'), (2, '展示') ) DISPLAY_TYPE = ( (1, '搜索'), (2, '最新文章'), (3, '最热文章'), (4, '最近评论'), (5, '文章归档'), (6, 'HTML') ) title = models.CharField(max_length=50, verbose_name="模块名称") # 模块名称 display_type = models.PositiveIntegerField(default=1, choices=DISPLAY_TYPE, verbose_name="展示类型") # 侧边栏 搜索框/最新文章/热门文章/HTML自定义等 content = models.CharField(max_length=500, blank=True, default='', verbose_name="内容", help_text="如果设置的不是HTML类型,可为空") # 这个字段是专门用来给HTML类型用的,其他类型可为空 sort = models.PositiveIntegerField(default=1, verbose_name="排序", help_text='序号越大越靠前') status = models.PositiveIntegerField(default=2, choices=STATUS, verbose_name="状态") # 隐藏 显示状态 add_date = models.DateTimeField(auto_now_add=True, verbose_name="创建时间") # 时间 class Meta: verbose_name = "侧边栏" verbose_name_plural = verbose_name ordering = ['-sort'] def __str__(self): return self.title
以下是将上述代码转换为 MySQL 表的示例:
```
CREATE TABLE sidebar (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50) NOT NULL,
display_type INT NOT NULL,
content VARCHAR(500),
sort INT NOT NULL,
status INT NOT NULL,
add_date DATETIME NOT NULL,
CONSTRAINT display_type_check CHECK (display_type BETWEEN 1 AND 6),
CONSTRAINT status_check CHECK (status BETWEEN 1 AND 2)
);
```
在 MySQL 中,我们使用 `CREATE TABLE` 子句创建表,并为每个字段指定类型、长度和约束。在这个示例中,我们将 `models.CharField` 转换为 `VARCHAR`,将 `models.PositiveIntegerField` 转换为 `INT`,将 `models.DateTimeField` 转换为 `DATETIME`。同时,我们需要指定每个字段是否允许为空,并为所有非空字段添加 `NOT NULL` 约束。我们还为 `display_type` 和 `status` 字段添加了约束,以确保它们的取值在一定的范围内。最后,我们使用 `AUTO_INCREMENT` 关键字为 `id` 字段指定自增长属性,并将其作为主键。
from transformers import AutoModel, AutoTokenizer import streamlit as st from streamlit_chat import message st.set_page_config( page_title="ChatGLM-6b 演示", page_icon=":robot:" ) @st.cache_resource def get_model(): tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda() model = model.eval() return tokenizer, model MAX_TURNS = 20 MAX_BOXES = MAX_TURNS * 2 def predict(input, max_length, top_p, temperature, history=None): tokenizer, model = get_model() if history is None: history = [] with container: if len(history) > 0: if len(history)>MAX_BOXES: history = history[-MAX_TURNS:] for i, (query, response) in enumerate(history): message(query, avatar_style="big-smile", key=str(i) + "_user") message(response, avatar_style="bottts", key=str(i)) message(input, avatar_style="big-smile", key=str(len(history)) + "_user") st.write("AI正在回复:") with st.empty(): for response, history in model.stream_chat(tokenizer, input, history, max_length=max_length, top_p=top_p, temperature=temperature): query, response = history[-1] st.write(response) return history container = st.container() # create a prompt text for the text generation prompt_text = st.text_area(label="用户命令输入", height = 100, placeholder="请在这儿输入您的命令") max_length = st.sidebar.slider( 'max_length', 0, 4096, 2048, step=1 ) top_p = st.sidebar.slider( 'top_p', 0.0, 1.0, 0.6, step=0.01 ) temperature = st.sidebar.slider( 'temperature', 0.0, 1.0, 0.95, step=0.01 ) if 'state' not in st.session_state: st.session_state['state'] = [] if st.button("发送", key="predict"): with st.spinner("AI正在思考,请稍等........"): # text generation st.session_state["state"] = predict(prompt_text, max_length, top_p, temperature, st.session_state["state"])逐句解析代码
这段代码是一个基于 ChatGLM-6B 模型的 AI 对话系统的 Streamlit 应用程序。它从 transformers 库中导入了 AutoModel 和 AutoTokenizer,以及 Streamlit 库中的 message 函数。然后,它定义了一个用于获取模型和分词器的函数 get_model,并使用 st.cache_resource 装饰器将其缓存,以避免重复加载模型和分词器。接下来,它定义了 MAX_TURNS 和 MAX_BOXES 常量,以及一个 predict 函数,它接受输入、max_length、top_p、temperature 和 history 参数,并返回一个历史记录。predict 函数使用 get_model 函数获取模型和分词器,然后使用 model.stream_chat 方法对输入进行处理,并将输出逐步显示在 Streamlit 应用程序的界面上。最后,它定义了一个包含一个文本区域和一个发送按钮的用户界面,用户可以在文本区域中输入命令,并按下发送按钮将命令发送给 AI。当用户按下发送按钮时,程序将调用 predict 函数来生成 AI 的回复,并将历史记录保存在 st.session_state 中。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)