引言
从这篇文章开始,作者即将开启一个新系列文章——AI篇,我将从最基本的AI概念开始说起到AIGC,AIGC是终点吗?当然不是,学无止境...
LLM
LLM(Large Language Model,大型语言模型)是一种基于深度学习技术的人工智能模型,通过海量文本数据的训练,实现对自然语言的理解与生成
在这个领域,已经有很多优秀的大模型涌现,比如:DeepSeek-R1、Claude 4.0、ChatGpt-4o等等
开启和LLM的第一轮对话
为了方便演示,这里选用DeepSeek
接下来,我们需要做以下工作:
- 进入DeepSeek开放平台,注册并进行充值创建API key,记得保存密钥查看deep seek接口文档(点击跳转):首次调用 API | DeepSeek API Docs在终端输入 pip3 install openai这里可以看到官方提供的一个简单案例,只需要将
<DeepSeek API Key>
换成自己的密钥,{"role": "user", "content": "换成你的问题"}
即可如果选择的是推理模型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)
总结:
代码很容易看懂,不要拘泥于细节写不出来,后面写多了都会掌握的,作为入门,只需要大概知道与大模型对话是怎么一回事,有哪些步骤,如此,即可