用 Python + LLM 实现一个智能对话

大型语言模型LLM最近比较火,所以我也来用LLM写个智能对话玩玩。

简介

大语言模型LLM全称是Large Language Models。LLM是指具有巨大参数量和极高语言理解能力的神经网络模型。这些模型被训练来理解和生成自然语言文本,能够执行多种自然语言处理(NLP)任务,如文本生成、翻译、摘要、问答等。 所以LLM可以做以下事情:

  • 文本生成:LLM可以生成各种类型的文本,如新闻、文章、小说等。
  • 智能对话系统:LLM可以用于构建智能对话系统,能够理解用户输入并生成合理的回复。
  • 信息检索和摘要:LLM可以帮助搜索引擎生成更准确的搜索结果摘要。
  • 语言翻译:LLM可以将一种语言翻译成另一种语言。
  • 语言理解和分析:LLM可以用于解析和理解自然语言文本,提取其中的信息和意义。

安装依赖

主要是安装transformers和torch

bash 复制代码
pip install transformers
bash 复制代码
pip install torch

加载模型和分词器

python 复制代码
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

实现对话逻辑

python 复制代码
def chat(prompt, max_length=200):
    # 将输入文本编码成模型可识别的tokens
    input_ids = tokenizer.encode(prompt, return_tensors="pt")
    # 生成对话
    response_ids = model.generate(input_ids, max_length=max_length, num_return_sequences=1, temperature=0.9)
    # 解码tokens成文本字符串
    response_text = tokenizer.decode(response_ids[0], skip_special_tokens=True)
    return response_text

调用聊天函数

这里是循环聊天

python 复制代码
while True:
    user_input = input("You:")
    if user_input.lower() == "exit":
        print("Goodbye!")
        break
    response = chat(user_input)
    print("Bot:", response)

完整代码

python 复制代码
from transformers import GPT2LMHeadModel, GPT2Tokenizer

# 加载预训练的GPT-2模型和分词器
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")

def chat(prompt, max_length=200):
    # 将输入文本编码成模型可识别的tokens
    input_ids = tokenizer.encode(prompt, return_tensors="pt")

    # 生成对话response
    response_ids = model.generate(input_ids, max_length=max_length, num_return_sequences=1, temperature=0.9)

    # 解码response tokens成文本
    response_text = tokenizer.decode(response_ids[0], skip_special_tokens=True)
    return response_text

# 进入对话循环
while True:
    user_input = input("You:")
    if user_input.lower() == "exit":
        print("Goodbye!")
        break
    response = chat(user_input)
    print("Bot:", response)

目前模型训练还不够智能,所以对话稍显逊色。

之后实现有前端界面的,之后再更新文章。

未完待续。。。

相关推荐
湘-枫叶情缘1 分钟前
具生哲学思考:基于大型语言模型的个人哲学实践方法论
人工智能·语言模型
AI产品库1 分钟前
通义灵码是什么?阿里云推出的智能编程助手全面评测-AI产品库
人工智能·ai编程
RockHopper20254 分钟前
构建个人学习与工作LLM应用系统的核心运行机制:一种人机协同系统“认知引擎”的架构原理
人工智能·llm·认知导向·认知引擎
Java后端的Ai之路5 分钟前
【神经网络基础】-权重说明
人工智能·深度学习·神经网络
桂花饼6 分钟前
Gemini 3 Pro Image (Nano Banana2) 深度解析:专业级图像生成与API集成指南
人工智能·qwen3-next·nano banana 2·gemini-3-pro·gpt-5.2·glm-4.7
natide7 分钟前
表示/嵌入差异-1-欧几里得距离(Euclidean Distance)-L2 距离(L2 distance)-欧式距离的标准化
人工智能·pytorch·python·深度学习·算法·自然语言处理
、BeYourself10 分钟前
Spring AI ChatClient 完全指南-1
人工智能·springai
qzhqbb10 分钟前
群智能计算核心算法全解析
人工智能·算法
小毅&Nora15 分钟前
【人工智能】【强化学习】 ① 本年度大模型强化学习算法全景:6种主流算法深度解析
人工智能·强化学习
LiFileHub17 分钟前
计算机视觉全栈宝典:从BEV感知到边缘部署(附15套实战方案)
人工智能·计算机视觉