掘金 人工智能 14小时前
0基础进大厂,第9天:LLM 入门篇——与AI的多轮对话
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文是AI系列文章的开篇,旨在引导读者入门大型语言模型(LLM)。文章首先介绍了LLM的基本概念,并通过DeepSeek等模型演示了如何进行API调用,包括注册、密钥设置和代码编写。随后,文章详细讲解了如何实现多轮对话和无限对话,通过循环结构实现记忆功能。文章强调了理解对话流程和步骤的重要性,鼓励读者实践,为后续深入探索AI领域奠定基础。

💡 LLM是基于深度学习技术的强大AI模型,通过海量文本数据训练,实现对自然语言的理解和生成,是构建智能对话系统的关键。

🔑 开启与LLM的对话,首先需要进入DeepSeek开放平台,注册账号并充值,然后创建API密钥,确保安全保存。接着,安装openai库,并参考官方文档,进行API调用。

🗣️ 实现多轮对话的关键在于维护对话的上下文信息。将前一轮的问答回复添加到messages列表中,再结合新的问题一起发送给LLM,从而让模型拥有记忆能力。

🔄 无限对话通过循环结构实现。在循环中,将用户输入的问题和LLM的回复不断添加到messages列表中,形成持续的对话,实现无限的交互。

引言

从这篇文章开始,作者即将开启一个新系列文章——AI篇,我将从最基本的AI概念开始说起到AIGC,AIGC是终点吗?当然不是,学无止境...

LLM

LLM(Large Language Model,大型语言模型)是一种基于深度学习技术的人工智能模型,通过海量文本数据的训练,实现对自然语言的理解与生成
在这个领域,已经有很多优秀的大模型涌现,比如:DeepSeek-R1、Claude 4.0、ChatGpt-4o等等

开启和LLM的第一轮对话

为了方便演示,这里选用DeepSeek
接下来,我们需要做以下工作:

如果选择的是推理模型deepseek-reasoner,可以打印出大模型的思考过程

from openai import OpenAI client = OpenAI(    api_key=os.getenv('DEEPSEEK_API_KEY'),    base_url='https://api.deepseek.com/v1')completion = client.chat.completions.create(    model = "deepseek-reasoner",    messages=[        {'role':'system','content':'你是一个数学老师,请你回答今年高考数学相关问题'},        {'role':'user','content':'客观评价今年高考数学的难度如何'},    ]) print('思考过程')print(completion.choices[0].message.reasoning_content)print('回答')print(completion.choices[0].message.content)

第一步,成功迈出!

开启有记忆的第二轮对话

凡事先看官方文档多轮对话 | DeepSeek API Docs官方源码:
简单解释一下:把第一轮问答的回复添加到messages里,再带着新的问题,一起发给大模型,这样的大模型就有记忆了,就是如此朴实无华

from openai import OpenAIclient = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")# Round 1messages = [{"role": "user", "content": "What's the highest mountain in the world?"}]response = client.chat.completions.create(    model="deepseek-chat",    messages=messages)messages.append(response.choices[0].message)print(f"Messages Round 1: {messages}")# Round 2messages.append({"role": "user", "content": "What is the second?"})response = client.chat.completions.create(    model="deepseek-chat",    messages=messages)messages.append(response.choices[0].message)print(f"Messages Round 2: {messages}")

代码就自己去跑一下就行了,任务就留给你了

如何开启有记忆的无限对话?

这个时候,就肯定要想到循环了
我相信,你肯定想到了,就是循环把每一轮的对话信息,添加进messages,一并发给 LLM不难理解,页不难写,代码如下:

from openai import OpenAI client = OpenAI(    api_key=os.getenv('DEEPSEEK_API_KEY'),    base_url='https://api.deepseek.com/v1')def seed_message(message):    response = client.chat.completions.create(        model='deepseek-reasoner',        messages=message,    )    return responseif __name__ == '__main__':    messages = []    while 1 :        question = input('请输入问题:')        if question == 'exit':            break        messages.append({'role': 'user', 'content': question})        response = seed_message(messages)        message = response.choices[0].message        messages.append(            {                'role': message.role,                'content': message.content            }        )        print('思考过程:')        print(message.reasoning_content)        print('回答:')        print(message.content)

总结:

代码很容易看懂,不要拘泥于细节写不出来,后面写多了都会掌握的,作为入门,只需要大概知道与大模型对话是怎么一回事,有哪些步骤,如此,即可

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

LLM AI DeepSeek API调用 多轮对话
相关文章