大模型学习1——各类模型接入langchain,模型调用,记忆管理,工具调用

本系列会设计langchain开发、RAG、langgraph

本文主要介绍模型如何接入langchain,模型调用,记忆管理,工具调用,具体如下

```python

import langchain

```

```python

langchain.version

```

'1.2.0'

```python

%pwd

```

'D:\\'

```python

import os

print(os.getcwd())

```

D:\

```python

#将秘钥放入nev文件

import os

from dotenv import load_dotenv

```

```python

load_dotenv(override=True)

```

True

```python

#读入秘钥

DeepSeek_API_KEY=os.getenv("DEEPSEEK_API_KEY")

```

```python

print(DeepSeek_API_KEY)

```

sk-2dc53438fb88460e94f316c50bdeb4ad

```python

from openai import OpenAI

```

```python

#初始化deepseekapi客户端

client=OpenAI(api_key=DeepSeek_API_KEY,base_url="https://api.deepseek.com/v1")

```

```python

#模型接入langchain的完整代码

import os

from openai import OpenAI

配置DeepSeek API信息(建议将API Key放在环境变量中,更安全)

DEEPSEEK_API_KEY = os.getenv("DEEPSEEK_API_KEY", "sk-2dc53438fb88460e94f316c50bdeb4ad") # 替换为自己的API Key

BASE_URL = "https://api.deepseek.com/v1"

初始化客户端

client = OpenAI(

api_key=DEEPSEEK_API_KEY,

base_url=BASE_URL

)

def get_deepseek_response(user_prompt):

"""

调用DeepSeek API获取回复

:param user_prompt: 用户的提问内容

:return: DeepSeek返回的回答内容

"""

try:

核心调用逻辑(包含DeepSeek必填参数)

response = client.chat.completions.create(

model="deepseek-chat", # DeepSeek默认对话模型

messages=[

{"role": "system", "content": "你是一个乐于助人的智能助手,回答简洁、准确、易懂"},

{"role": "user", "content": user_prompt}

],

max_tokens=2048, # 最大生成token数,可根据需求调整(范围1-4096)

temperature=0.7, # 回答随机性,0-1之间(0更严谨,1更有创意)

stream=False # 非流式返回(如需流式可改为True,需调整后续解析逻辑)

)

提取核心回答内容

answer = response.choices[0].message.content

return answer

except Exception as e:

捕获并提示常见错误(方便排查问题)

print(f"调用DeepSeek API失败:{str(e)}")

return None

测试调用

if name == "main":

自定义用户提问

user_question = "您好,请介绍下你自己"

获取回复

result = get_deepseek_response(user_question)

输出结果

if result:

print("DeepSeek回复:")

print(result)

```

DeepSeek回复:

你好!我是DeepSeek,一个由深度求索公司开发的AI助手。很高兴认识你!😊

让我简单介绍一下自己:

  • **身份**:我是DeepSeek最新版本的AI助手

  • **能力**:我可以进行对话交流、回答问题、协助写作、分析问题、编程帮助等

  • **特点**:完全免费使用,支持128K上下文长度

  • **文件处理**:支持上传图像、txt、pdf、ppt、word、excel等多种格式文件,并能从中读取文字信息进行处理

  • **联网功能**:支持联网搜索(需要手动开启)

  • **知识截止**:我的知识更新到2024年7月

我的回复风格比较热情细腻,希望能给你带来温暖和帮助。有什么问题或需要协助的地方,尽管告诉我吧!我会尽力为你提供准确、有用的回答。✨

```python

#模型调用,记忆管理,工具调用

#每次调用要包括角色、内容,元数据是可选字段(如消息id、响应时间、token消耗量),基本使用方法如下:

from langchain_deepseek import ChatDeepSeek

```

```python

model=ChatDeepSeek(model="deepseek-chat")

```

```python

from langchain.messages import HumanMessage,AIMessage,SystemMessage

```

```python

system_msg=SystemMessage("你叫小智,是一名助人为乐的助手")

human_msg=HumanMessage("你好,好久不见,请介绍下你自己")

```

```python

messages=[system_msg,human_msg]

```

```python

messages

```

SystemMessage(content='你叫小智,是一名助人为乐的助手', additional_kwargs={}, response_metadata={}), HumanMessage(content='你好,好久不见,请介绍下你自己', additional_kwargs={}, response_metadata={})

```python

response=model.invoke(messages)

```

```python

response

```

AIMessage(content='你好!很高兴再次见到你!😊\n\n我是小智,一个乐于助人的AI助手。虽然我们没有具体的"上次见面"记忆,但每次对话对我来说都是全新的开始,我会用最大的热情来帮助你!\n\n关于我:\n- 我是一个人工智能助手,由先进的深度学习技术驱动\n- 我的知识截止到2024年7月,涵盖各个领域的信息\n- 我擅长回答问题、提供建议、协助思考、创作内容等\n- 我会用中文和你交流,但也能处理其他语言\n- 最重要的是,我会尽力提供准确、有用、安全的帮助\n\n无论你想聊什么话题,需要解决什么问题,或者只是想随便聊聊,我都很乐意陪伴你!有什么我可以帮你的吗?✨', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 149, 'prompt_tokens': 23, 'total_tokens': 172, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}, 'prompt_cache_hit_tokens': 0, 'prompt_cache_miss_tokens': 23}, 'model_provider': 'deepseek', 'model_name': 'deepseek-chat', 'system_fingerprint': 'fp_eaab8d114b_prod0820_fp8_kvcache', 'id': 'cf1fd6cc-50ee-488e-9542-af5ce7e10be7', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--019b626c-02bd-79c0-a465-79108ca4110a-0', usage_metadata={'input_tokens': 23, 'output_tokens': 149, 'total_tokens': 172, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}})

```python

#用stream来进行流式响应,即边生成边输出,更宽,更流畅,可展示思考过程

for chunk in model.stream("你好,好久不见"):

print(chunk.text,end="|",flush=True)

```

|你好|!|确实|有一|阵|子|没|见了|,|很高兴|能|再次|和你|聊天|。|最近|过得|怎么样|?|有没有|什么|新鲜|事|想|分享|,|或者|有什么|我可以|帮|你的|呢|?|无论是|闲聊|、|提问|,|还是|需要|建议|,|我|都在|这里|哦|~| 😊|||

```python

#每个任务完成都立刻获取结果用

for response in model.batch_as_completed(["请介绍下你自己","请问什么是机器学习","你知道机器学习和深度学习区别么"]):

print(response)

```

(0, AIMessage(content='你好!我是DeepSeek,由深度求索公司创造的AI助手,很高兴认识你!😊\n\n让我简单介绍一下自己:\n\n**基本信息:**\n- 我是纯文本AI模型,擅长理解和生成自然语言\n- 知识截止到2024年7月,会尽我所能为你提供准确、有用的信息\n- 拥有128K的上下文处理能力,可以处理较长的对话和文档\n\n**我的能力:**\n- 📝 回答各种问题,进行深度对话\n- 📁 支持文件上传(图像、txt、pdf、ppt、word、excel等),能从中读取文字信息进行处理\n- 🌐 支持联网搜索(需要你手动开启搜索功能)\n- 💭 逻辑推理、分析、创作、编程等多项任务\n\n**使用特点:**\n- 完全免费使用,没有收费计划\n- 可以通过官方应用商店下载App使用\n- 回复风格热情细腻,喜欢用心帮助每一位用户\n\n**我的局限:**\n- 我是纯文本模型,不支持多模态识别\n- 没有语音功能\n- 需要联网搜索时需手动开启\n\n我的使命就是尽我所能帮助你解决问题、获取知识、激发创意!无论是学习、工作还是日常生活中的疑问,我都很乐意和你一起探讨。\n\n有什么我可以帮你的吗?我会用心为你提供帮助!✨', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 278, 'prompt_tokens': 8, 'total_tokens': 286, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}, 'prompt_cache_hit_tokens': 0, 'prompt_cache_miss_tokens': 8}, 'model_provider': 'deepseek', 'model_name': 'deepseek-chat', 'system_fingerprint': 'fp_eaab8d114b_prod0820_fp8_kvcache', 'id': 'd80cf415-2f3f-48ea-9fde-c8b68494ff2a', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--019b6279-6c0b-7cd0-a08d-0630de0516d9-0', usage_metadata={'input_tokens': 8, 'output_tokens': 278, 'total_tokens': 286, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}))

(2, AIMessage(content='当然,这是一个非常核心的问题。简单来说,**深度学习是机器学习的一个子集**,但它在方法、能力和应用上带来了革命性的变化。\n\n我们可以用一个"同心圆"来理解它们的关系:\n**人工智能 > 机器学习 > 深度学习**\n\n下面从几个关键维度进行详细对比:\n\n| 维度 | 机器学习 | 深度学习 |\n| :--- | :--- | :--- |\n| **核心思想** | **从数据中学习模式和规则**,但通常需要人工进行"特征工程"。 | **让机器自动学习数据的多层次特征表示**。它模仿人脑的神经网络结构,通过多层处理来自动提取特征。 |\n| **数据依赖** | 对数据量要求相对较低,在小到中型数据集上也能表现良好。 | **极度依赖大量数据**。数据量越大,其性能通常越出色。在小数据集上容易过拟合。 |\n| **特征工程** | **至关重要且依赖人工**。专家需要花费大量时间从原始数据中提取、选择和构造有意义的特征。 | **自动化**。深度神经网络能够直接从原始数据(如图像像素、文本字符)中自动学习出层次化的特征,无需复杂的人工特征工程。 |\n| **模型结构** | 模型相对简单、可解释性强。 | 模型结构**非常复杂**,通常由数十、数百甚至上千层神经元组成,形成一个"深度"网络。 |\n| **计算需求** | 计算资源要求相对较低,可在普通CPU上运行。 | **计算需求极高**,通常需要强大的**GPU**或**TPU**进行大规模并行计算和训练,耗时耗电。 |\n| **可解释性** | 较好。如决策树、线性回归等模型的结果相对容易理解和解释。 | **较差,常被视为"黑箱"**。很难解释网络内部具体如何做出决策,这也是当前研究的热点。 |\n| **典型算法/模型** | - 线性/逻辑回归<br>- 决策树、随机森林<br>- 支持向量机<br>- K-近邻 | - **卷积神经网络**(用于图像)<br>- **循环神经网络/Transformer**(用于序列、文本)<br>- **深度强化学习**(用于游戏、控制) |\n| **典型应用场景** | - 垃圾邮件过滤<br>- 客户细分<br>- 房价预测<br>- 信用评分 | - **计算机视觉**:图像分类、人脸识别、自动驾驶<br>- **自然语言处理**:机器翻译、智能对话、文本生成<br>- **语音识别**:智能音箱、实时字幕<br>- 药物发现、AlphaGo |\n\n---\n\n### 一个生动的比喻\n\n想象一下你要教电脑识别"猫":\n\n* **传统机器学习方法**:\n 1. 你(专家)需要先告诉电脑:猫有"胡须"、"尖耳朵"、"椭圆形的眼睛"、"毛茸茸的纹理"等特征。\n 2. 然后你编写程序从图片中提取这些特征。\n 3. 最后,用一个机器学习算法(如SVM)根据这些特征来学习分类。\n\n* **深度学习方法**:\n 1. 你只需要给电脑**海量的图片**,并标出哪些是猫,哪些不是。\n 2. 深度神经网络(如CNN)会自己从像素开始,**自动学习**:第一层可能学边缘和角落,第二层学形状和纹理,更深层的网络则组合这些低级特征,最终识别出"猫"这个复杂的概念。\n 3. 你不需要告诉它任何关于"胡须"或"耳朵"的规则。\n\n### 总结与选择\n\n* **机器学习**:更适合**数据量有限、计算资源有限、需要模型可解释性**的场景。当业务逻辑清晰,特征易于定义时,它往往是更高效、更经济的选择。\n* **深度学习**:在**处理非结构化数据**(图像、声音、文本)、**数据量巨大**、且**问题极其复杂**(如自然语言理解、复杂游戏)时表现出压倒性优势。但它成本高昂,且像"黑箱"。\n\n**发展趋势**:近年来,由于大数据和算力的爆发,深度学习已成为人工智能领域最主流、最强大的工具,并在许多任务上超越了传统机器学习方法。然而,传统机器学习并未被淘汰,在很多实际场景中,它们依然是更合适、更实用的选择。两者是相辅相成的技术工具箱。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 912, 'prompt_tokens': 10, 'total_tokens': 922, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}, 'prompt_cache_hit_tokens': 0, 'prompt_cache_miss_tokens': 10}, 'model_provider': 'deepseek', 'model_name': 'deepseek-chat', 'system_fingerprint': 'fp_eaab8d114b_prod0820_fp8_kvcache', 'id': 'dc08ac84-66c4-47a5-a698-cdfa48bad251', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--019b6279-6c17-75a2-b7f0-4b6d7fab1671-0', usage_metadata={'input_tokens': 10, 'output_tokens': 912, 'total_tokens': 922, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}))

(1, AIMessage(content='当然,很高兴为你解释机器学习!\n\n简单来说,**机器学习是人工智能的一个核心分支,它让计算机能够从数据中"学习"规律和模式,并利用这些学习成果来做出预测或决策,而无需为每个具体任务进行明确的、固定的编程。**\n\n你可以把它想象成教孩子认动物:\n* **传统编程**:你需要详细地告诉他规则------"猫有尖耳朵、胡须、喵喵叫;狗耳朵形状多样、会汪汪叫"。每遇到一个新动物,你都要输入新规则。\n* **机器学习**:你给他看成千上万张标有"猫"或"狗"的图片。通过分析这些图片,他自己总结出区分猫和狗的特征(比如脸型、体型、毛发纹理等)。之后,当他看到一张全新的动物图片时,他就能根据自己的"经验"(模型)判断出这是猫还是狗。\n\n---\n\n### 机器学习的核心要素\n\n1. **数据**:这是机器学习的"燃料"。数据可以是数字、文本、图像、音频等。数据的数量和质量通常直接决定模型的效果。\n2. **特征**:从原始数据中提取出的、对解决问题有用的属性或指标。例如,在判断邮件是否为垃圾邮件时,"发件人"、"标题关键词"、"是否包含链接"等都是特征。\n3. **模型**:可以理解为一个数学函数或一套算法规则。它定义了如何根据输入特征得到输出结果。学习的过程就是不断调整模型内部参数,使其预测越来越准。\n4. **训练**:将数据输入模型,让模型自动调整其内部参数,以找到数据中的模式和关系的过程。\n5. **预测/推断**:使用训练好的模型,对新的、未见过的数据进行判断或预测。\n\n---\n\n### 主要学习类型\n\n机器学习主要分为三大类,区别在于学习时使用的"数据标签"不同:\n\n1. **监督学习**\n * **核心**:使用 **带有标签** 的数据进行训练。即每个训练样本都包含了"输入数据"和"对应的正确答案(标签)"。\n * **目标**:学习输入到输出之间的映射关系,以便对新的输入做出预测。\n * **典型任务**:\n * **分类**:预测离散类别。如:垃圾邮件过滤(垃圾/非垃圾)、图像识别(猫/狗)、疾病诊断(患病/健康)。\n * **回归**:预测连续数值。如:预测房价、预测股价、预测销售额。\n\n2. **无监督学习**\n * **核心**:使用 **没有标签** 的数据进行训练。算法需要自己发现数据中的内在结构和模式。\n * **目标**:探索数据的底层结构,进行数据分组或降维。\n * **典型任务**:\n * **聚类**:将数据自动分组。如:客户细分、社交网络分析。\n * **降维**:在保留主要信息的前提下压缩数据。便于可视化或后续处理。\n\n3. **强化学习**\n * **核心**:智能体通过与环境互动来学习。它采取**行动**,获得**奖励**或**惩罚**,目标是学习一套能获得长期最大累积奖励的**策略**。\n * **类比**:像训练宠物或玩游戏。你做对了(接近目标)就加分,做错了就扣分,最终学会如何完成任务。\n * **典型应用**:AlphaGo(围棋)、机器人控制、自动驾驶、游戏AI。\n\n---\n\n### 为什么机器学习如此重要?\n\n* **处理海量复杂数据**:在当今的大数据时代,人类难以手动处理和理解所有数据,机器学习可以高效地从中挖掘价值。\n* **解决传统编程难以解决的问题**:如图像识别、自然语言理解、语音识别等任务,很难用"如果...那么..."的规则来穷尽描述。\n* **自动化与智能化**:能够自动化进行预测、推荐、识别等任务,提升效率和体验。\n* **持续改进**:随着新数据的输入,模型可以不断更新和优化,变得越来越聪明。\n\n---\n\n### 生活中的常见应用\n\n你每天都在接触机器学习:\n* **推荐系统**:Netflix的电影推荐、淘宝的商品推荐、抖音的短视频推荐。\n* **搜索引擎**:谷歌、百度的搜索排序和自动补全。\n* **语音助手**:Siri、小爱同学、天猫精灵的语音识别和对话。\n* **人脸识别**:手机解锁、支付验证、照片自动分类。\n* **机器翻译**:谷歌翻译、百度翻译、DeepL。\n* **金融风控**:信用卡欺诈检测、贷款信用评估。\n* **自动驾驶**:感知周围环境并做出驾驶决策。\n\n### 总结\n\n**机器学习本质上是一种通过数据驱动,让计算机获得"举一反三"能力的技术。** 它不再依赖于人类编写所有逻辑,而是让计算机从大量示例中自己归纳出规律,从而能够处理未知的、复杂的新情况。\n\n它是当前人工智能浪潮的主要推动力,正在深刻地改变着我们生活的方方面面。', additional_kwargs={'refusal': None}, response_metadata={'token_usage': {'completion_tokens': 1052, 'prompt_tokens': 7, 'total_tokens': 1059, 'completion_tokens_details': None, 'prompt_tokens_details': {'audio_tokens': None, 'cached_tokens': 0}, 'prompt_cache_hit_tokens': 0, 'prompt_cache_miss_tokens': 7}, 'model_provider': 'deepseek', 'model_name': 'deepseek-chat', 'system_fingerprint': 'fp_eaab8d114b_prod0820_fp8_kvcache', 'id': '17b689d7-c36a-4767-90e8-ab7b6dfb3f38', 'finish_reason': 'stop', 'logprobs': None}, id='lc_run--019b6279-6c13-7451-978f-d35d0dde2c30-0', usage_metadata={'input_tokens': 7, 'output_tokens': 1052, 'total_tokens': 1059, 'input_token_details': {'cache_read': 0}, 'output_token_details': {}}))

```python

#结构化输出,用with_structured_output

from pydantic import BaseModel, Field#提供字段校验、默认值、描述信息、多层嵌套等高级功能

class Movie(BaseModel):#定义结构

"""A movie with details."""

title: str = Field(..., description="The title of the movie")

year: int = Field(..., description="The year the movie was released")

director: str = Field(..., description="The director of the movie")

rating: float = Field(..., description="The movie's rating out of 10")

```

```python

model_with_structure = model.with_structured_output(Movie)#结构化输入输出

response = model_with_structure.invoke("Provide details about the movie Inception")

print(response)

```

title='Inception' year=2010 director='Christopher Nolan' rating=8.8

```python

#小例子,搭建流式问答机器人,具体代码如下:

1. 导入所需依赖

from langchain_deepseek import ChatDeepSeek

from langchain.messages import HumanMessage, AIMessage, SystemMessage

from dotenv import load_dotenv

import os

2. 加载环境变量(优先使用.env文件中的配置,覆盖系统原有环境变量)

load_dotenv(override=True)

3. 初始化DeepSeek模型

model = ChatDeepSeek(model="deepseek-chat")

4. 初始化系统提示词(定义AI身份和对话风格)

system_message = SystemMessage(

content="你叫小智,是一名乐于助人的智能助手。请在对话中保持温和、有耐心的语气,用简洁易懂的语言回复用户。"

)

5. 初始化对话上下文(初始包含系统提示词,用于记忆多轮对话)

messages = [system_message]

6. 打印提示信息

print("♦ 输入 exit 或 quit 即可退出对话\n")

7. 多轮对话主循环

while True:

获取用户输入

user_input = input("👤 你: ")

退出逻辑:判断用户输入是否为退出指令(不区分大小写)

if user_input.lower() in {"exit", "quit"}:

print("🤖 小智: 对话结束,再见!")

break

追加用户消息到对话上下文

messages.append(HumanMessage(content=user_input))

调用模型获取流式回复

print("🤖 小智: ", end="", flush=True) # 不换行,保证回复内容紧跟提示词

ai_response_content = ""

流式获取AI回复,提升交互体验

for chunk in model.stream(messages):

if chunk.content:

print(chunk.content, end="", flush=True)

ai_response_content += chunk.content

换行分隔,优化视觉效果

print("\n")

追加AI回复到对话上下文(实现多轮上下文记忆)

messages.append(AIMessage(content=ai_response_content))

```

♦ 输入 exit 或 quit 即可退出对话

👤 你: 你好,舞蹈怎么学

🤖 小智: 你好!学习舞蹈是一个既有趣又有挑战的过程,以下是为你整理的入门步骤和建议,希望能帮助你顺利开始:


**1. 明确学习目标**

  • **兴趣方向**:先确定想学的舞种(如街舞、爵士、芭蕾、民族舞、交谊舞等)。

  • **目标设定**:是为了健身、社交、表演,还是培养爱好?目标会影响学习重点。


**2. 零基础入门建议**

  • **从基础开始**:

  • **体能训练**:舞蹈需要核心力量、柔韧性和耐力,可以每天做拉伸、平板支撑等。

  • **节奏感培养**:多听音乐,尝试用手或脚打拍子,跟上节拍。

  • **基本功练习**:

  • **身体协调性**:练习手脚分离动作(如左手画圆右手画方)。

  • **基本步法**:从简单步伐开始,如踏步、滑步等。


**3. 选择学习方式**

  • **线上资源**(适合自学):

  • 平台:B站、YouTube有很多免费教学视频(搜索"零基础舞蹈教程")。

  • 推荐博主:街舞可看"O-DOG",爵士舞可关注"舞林一分钟"。

  • **线下课程**(推荐初学者):

  • 舞蹈工作室体验课:亲身体验老师指导,纠正动作。

  • 社区/学校社团:成本低,适合结交舞友。

  • **结合学习**:先通过视频了解基础,再找老师细化动作。


**4. 练习技巧**

  • **分解动作**:将复杂动作拆解成小步骤,逐步连贯。

  • **对着镜子练**:及时调整姿势和表情。

  • **录制视频**:回看自己的动作,对比教学视频找差距。

  • **定期复习**:肌肉记忆需要重复,每周至少练习3次。


**5. 常见误区提醒**

  • **不要急于求成**:舞蹈进步需要时间,从简单曲目开始。

  • **避免受伤**:热身必不可少!尤其注意膝盖、脚踝的保护。

  • **保持放松**:僵硬会影响动作美感,呼吸要均匀。


**6. 附加小贴士**

  • **寻找舞友**:和小伙伴一起练会更坚持,也能互相纠正。

  • **参加舞蹈活动**:线下舞室或社区常有体验课、交流舞会。

  • **记录进步**:用打卡或视频记录自己的变化,会更有动力!


如果你有具体的舞种或学习阶段(比如"想学K-pop翻跳"或"柔韧性差怎么办"),可以告诉我,我会给你更针对性的建议哦! 🌟

```python

```

相关推荐
安得权2 小时前
Azure DevOps 学习概况总结
学习·azure·devops
无言(* ̄(エ) ̄)2 小时前
C语言--运算符/函数/结构体/指针
c语言·开发语言·数据结构·数据库·算法·mongodb
大模型真好玩2 小时前
从分享AI,到与AI共舞—大模型真好玩的2025总结
人工智能·trae·vibecoding
wa的一声哭了2 小时前
赋范空间 赋范空间的完备性
python·线性代数·算法·机器学习·数学建模·矩阵·django
码农小白猿2 小时前
提升压力容器改造方案报告标准条款审核效率,IACheck助力合规与安全
运维·人工智能·安全·ai·自动化·iacheck
Ccuno2 小时前
Java 核心类库与数据结构
java·深度学习
代码游侠2 小时前
学习笔记——SQLite3 编程与 HTML 基础
网络·笔记·算法·sqlite·html
IT_陈寒2 小时前
SpringBoot 3.2实战:我用这5个冷门特性将接口QPS提升了200%
前端·人工智能·后端
shayudiandian2 小时前
CSDN年度技术趋势预测
人工智能