chatglm智能问答
时间: 2023-10-05 15:12:32 浏览: 205
Langchain+Chatglm2实现基于自有知识库的智能问答.zip
5星 · 资源好评率100%
langchain-ChatGLM是一个使用本地知识进行问答的框架。它基于已知信息生成简洁和专业的回答。如果无法从已知信息中得到答案,它会提示用户当前会话仅支持解决一个类型的问题,请清空历史信息重试。Langchain-ChatGLM使用ChatGLM-6B模型进行回答生成,并提供了一些参数用于控制生成回答的方式。在回答需要优化的环节中,可以根据具体需求调整这些参数来获得更好的结果。
在使用Langchain-ChatGLM时,可以使用以下代码加载预训练模型,并获取回答:
```python
from transformers import AutoModel, AutoTokenizer
from knowledge_query import search_similar_text
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b-int4", trust_remote_code=True).half().cuda()
model = model.eval()
def predict(input, max_length=2048, top_p=0.7, temperature=0.95, history=[]):
res = search_similar_text(input)
prompt_template = f"""基于以下已知信息,简洁和专业的来回答用户的问题。如果无法从中得到答案,请说 "当前会话仅支持解决一个类型的问题,请清空历史信息重试",不允许在答案中添加编造成分,答案请使用中文。
已知内容: {res}
问题: {input}
"""
query = prompt_template
for response, history in model.stream_chat(tokenizer, query, history, max_length=max_length, top_p=top_p, temperature=temperature):
chatbot[-1] = (parse_text(input), parse_text(response))
yield chatbot, history
```
阅读全文