使用 LangChain 构建 LLM 应用详细教程(附python代码演练)

news2024/11/25 23:43:26

介绍

欢迎来到语言处理的未来!在一个语言是连接人与技术的桥梁的世界中,自然语言处理(NLP)的进步为我们带来了令人难以置信的机会。其中一个重要的进步是革命性的语言模型,即大型语言模型(LLM),它彻底改变了我们与基于文本的数据进行交互的方式。我们将探索LLM的奇迹,并学习如何使用LangChain构建基于LLM的应用,LangChain是一个创新平台,充分发挥了LLM的潜力。

语言模型在各种应用中具有重要意义,因为它们能够理解和生成类似人类的文本。这些模型已经彻底改变了自然语言处理任务,如机器翻译、情感分析、聊天机器人和内容生成。它们提供了宝贵的洞察力,改善了沟通,并增强了用户体验。

学习目标

  • 了解语言模型 (LLM) 的基础知识及其在构建智能应用程序中的重要性。

  • 了解如何将 LangChain 集成到应用程序开发工作流程中并利用其 API。

  • 深入了解 Langchain 可以做什么。

  • 使用 Langchain 与各种 LLMs 进行互动。

  • 使用 LLM 创建对话式聊天机器人。

  • 深入了解使用 langchain 微调 LLM 的含义。

目录

  • 介绍

  • 什么是LLMs?

  • LangChain介绍

  • LangChain的特点与能力

  • 将LLMs整合到你的项目中

  • 释放LLMs的魔力

  • 设置LangChain

  • 使用 LangChain 与 LLM 互动

  • Langchain可以做什么?

  • 构建对话式聊天机器人

  • 使用 LangChain 微调 LLM

  • 数据集准备

  • 配置参数

  • 训练流程

  • 评估

  • 现实世界的用例和成功故事

  • 客户支持

  • 电子商务

  • 卫生保健

  • 内容生成

  • 结论

  • 经常问的问题

什么是LLMs?

LLM,即大型语言模型,是指经过大量文本数据训练的最先进的语言模型。它利用深度学习技术来理解和生成类似人类的文本,使其成为各种应用程序的强大工具,例如文本完成、语言翻译、情感分析等。LLMs最著名的例子之一是 OpenAI 的 GPT-3,它因其语言生成能力而受到广泛关注和赞誉。

46efd31156ce965eafb70e77232b5f0d.png

LangChain介绍

欢迎来到 LangChain,这是一个开拓性的平台,打开了通往语言模型 (LLM) 迷人领域的大门。通过 LangChain,你可以将LLMs无缝集成到你的项目中,利用其非凡的能力。让我们踏上一段激动人心的旅程,探索LangChain的迷人功能和无限可能。

LangChain 是一个先进的平台,为开发人员提供无缝且直观的界面,以在其应用程序中利用 LLM 的强大功能。它提供了一系列 API 和工具,可简化 LLM 与你项目的集成,使你能够释放语言处理的全部潜力。

LangChain的特点与能力

LangChain 拥有一系列让你着迷的特性和功能。从完成句子到分析情感,从翻译语言到识别命名实体,LangChain 为你提供了创造语言奇迹的工具。当你探索 API 文档时,你将发现如何有效使用这些功能的秘密,就像巫师掌握咒语一样。

将LLMs整合到你的项目中

了解了 LangChain 的特性和功能后,是时候将其魔力融入到你自己的项目中了。使用 LangChain SDK,你可以将 LLM 的非凡能力与你现有的代码库无缝融合。只需几行代码,你就能够调用LLMs的语言处理能力,将你的应用程序转变为能够理解和生成类人文本的智能生物。

释放LLMs的魔力

有了LangChain,可能性就如你的想象一样无限。想象一下,聊天机器人可以吸引用户进行有趣的对话,为他们提供有用且诙谐的回复。想象一下电子商务平台可以如此准确地推荐产品,让客户无法抗拒购买。想象一下提供个性化医疗信息的医疗保健应用程序,使患者能够做出明智的决定。创造这些令人难以置信的体验的力量就在你的掌握之中。

5a29479c15a20be3bdc2d23bb06e81ed.png

设置LangChain

为了开始我们的 LangChain 之旅,我们需要确保正确的安装和设置。你还将获得有关导入有效使用LLMs所需的必要库和依赖项的说明。

导入必要的库

import langchain
import openai
import os
import IPython
from langchain.llms import OpenAI
from dotenv import load_dotenv
from langchain.chat_models import ChatOpenAI
from langchain.schema import (
    AIMessage,
    HumanMessage,
    SystemMessage
)
from langchain.embeddings import OpenAIEmbeddings
from langchain.chains import LLMChain
from langchain.chains import RetrievalQA
from langchain import ConversationChain

load_dotenv()
# API configuration
openai.api_key = os.getenv("OPENAI_API_KEY")

使用 LangChain 与 LLM 互动

使用 LangChain 与LLMs进行交互涉及一系列步骤,这些步骤允许你利用预训练语言模型的强大功能来执行文本生成和理解任务。这里是每个部分的详细解释,以及代码实现。

初始化LLM

要在LangChain中初始化LLM,首先需要导入必要的库和依赖项。例如,如果你使用 Python 编程语言,则可以导入“langchain”库并指定要使用的语言模型。这是一个例子:

from langchain import LangModel

# Specify the language model you want to use
model_name = 'gpt3'

# Initialize the LLM
llm = LangModel(model_name)

输入提示

初始化 LLM 后,你可以输入提示(prompt)来生成文本或获取响应。提示是语言模型生成文本的起点。你可以根据你的要求提供单个提示或多个提示。这是一个例子:

# Input a single prompt
prompt = "Once upon a time"

# Generate text based on the prompt
generated_text = llm.generate_text(prompt)

检索生成的文本或响应

输入提示后,你可以从 LLM 检索生成的文本或响应。生成的文本或响应将基于提示提供的上下文和语言模型的功能。这是一个例子:

# Print the generated text
print(generated_text)

# Print the responses
for response in responses:
    print(response)

通过遵循这些步骤并实现相应的代码,你可以使用 LangChain 与预先训练的 LLM 无缝交互,利用它们的能力来完成各种文本生成和理解任务。

Langchain可以做什么?

LangChain 凭借其多样化的功能,为开发人员在其应用程序中探索和利用提供了广泛的可能性。让我们深入了解 LangChain 的关键组件——模型、提示、链、索引和内存,并了解每个组件可以完成什么。

模型

目前,许多新的LLMs正在涌现。LangChain为各种模型提供了简化的界面和集成。

LangChain 的核心是强大的语言模型(LLM),使应用程序能够理解和生成类似人类的文本。通过 LangChain,开发人员可以接触到大量的LLMs,每个LLMs都接受过大量数据的训练,能够出色地完成各种与语言相关的任务。

无论是理解用户查询、生成响应,还是执行复杂的语言任务,LangChain 的模型都是语言处理能力的支柱。

from langchain.llms import OpenAI
llm = OpenAI(model_name="text-davinci-003")

# The LLM takes a prompt as an input and outputs a completion
prompt = "How many days are there in a month"
completion = llm(prompt)

聊天模型

这将使用 ChatOpenAI 类在用户和 AI 聊天机器人之间建立对话。聊天机器人的初始化温度为 0,这使其响应更加集中和确定。对话以一条说明机器人目的的系统消息开始,然后是一条表达食物偏好的人类消息。聊天机器人将根据给定的输入生成响应。

chat = ChatOpenAI(temperature=0)

chat(
    [
        SystemMessage(content="You are a nice AI bot that helps a user figure out 
          what to eat in one short sentence"),
        HumanMessage(content="I like tomatoes, what should I eat?")
    ]
)

文本嵌入模型

文本嵌入模型接收文本输入,然后输出以数字方式表示输入文本的嵌入列表。可以使用嵌入从文本中提取信息。稍后,可以应用此信息来确定两个文本(例如电影摘要)的相似程度。

embeddings = OpenAIEmbeddings()

text = "Alice has a parrot. What animal is Alice's pet?"
text_embedding = embeddings.embed_query(text)

提示

尽管以自然语言向LLMs添加提示应该感觉很自然,但在获得所需结果之前,你必须对提示进行重大更改。这称为即时工程

一旦你有了一个好的提示,你可能想将它用作其他事情的模板。因此,LangChain 提供了 PromptTemplates,使你能够使用各种组件构建提示。

template = "What is a good name for a company that makes {product}?"

prompt = PromptTemplate(
    input_variables=["product"],
    template=template,
)

prompt.format(product="colorful socks")

链接

将LLM与其他组件结合起来创建应用程序的过程在LangChain中称为链接。示例包括:

  • 结合提示模板和 LLM

  • 通过使用第一个 LLM 的输出作为第二个 LLM 的输入,可以按顺序组合多个 LLS。

  • 例如,将LLMs与外部数据相结合来回答问题。

  • 将LLMs与长期记忆(例如聊天记录)相结合。

chain = LLMChain(llm = llm, 
                  prompt = prompt)

chain.run("colorful socks")

索引

缺乏上下文信息(例如访问特定文档或电子邮件)是LLMs的一大缺点。允许LLMs访问特定的外部数据将帮助你避免这种情况。

一旦外部数据准备好存储为文档,你就可以使用文本嵌入模型在名为 VectorStore 的矢量数据库中对其进行索引。

矢量存储现在将你的文档存储为嵌入。利用这些外部数据,你现在可以采取许多操作。

fc9d3eedb3bf9f17308095a830ee494a.png

让我们将它用于基于信息检索器的问答任务。

retriever = db.as_retriever()

qa = RetrievalQA.from_chain_type(
    llm=llm, 
    chain_type="stuff", 
    retriever=retriever, 
    return_source_documents=True)

query = "What am I never going to do?"
result = qa({"query": query})

print(result['result'])

记忆

对于聊天机器人这样的程序来说,能够回忆起之前的对话至关重要。然而,除非你输入聊天记录,否则LLMs默认缺乏任何长期记忆。

通过提供多种处理聊天记录的选项,LangChain 通过维护所有对话、最近的 K 条对话并总结所说内容来解决这个问题。

conversation = ConversationChain(llm=llm, verbose=True)
conversation.predict(input="Alice has a parrot.")
conversation.predict(input="Bob has two cats.")
conversation.predict(input="How many pets do Alice and Bob have?")

构建对话式聊天机器人

对话式聊天机器人已成为许多应用程序不可或缺的一部分,为用户提供无缝交互和个性化体验。开发成功的聊天机器人的关键在于其理解和生成类似人类响应的能力。借助LangChain先进的语言处理能力,你可以创建超越传统基于规则的系统的智能聊天机器人。

9967b46e2d6bd238e6acf9e4e6ea5699.jpeg

导入必要的库

from langchain.llms import OpenAI
from langchain import LLMChain
from langchain.prompts.prompt import PromptTemplate

# Chat specific components
from langchain.memory import ConversationBufferMemory

使用提示模板

这将创建一个聊天机器人模板,该模板通过获取用户的输入并将其合并到预定义的 joke 格式中来生成 joke 。它使用 PromptTemplate 和 ConversationBufferMemory 来存储和检索聊天历史记录,使聊天机器人能够生成上下文相关的 joke 。

template = """
You are a helpful chatbot.
Your goal is to help the user make jokes.
Take what the user is saying and make a joke out of it

{chat_history}
Human: {human_input}
Chatbot:"""

prompt = PromptTemplate(
    input_variables=["chat_history", "human_input"], 
    template=template
)
memory = ConversationBufferMemory(memory_key="chat_history")

聊天机器人

这将设置 LLMChain 类的实例,该实例利用 OpenAI 语言模型来生成响应。然后使用“llm_chain.predict()”方法根据提供的用户输入生成响应。

llm_chain = LLMChain(
    llm=OpenAI(temperature=0), 
    prompt=prompt, 
    verbose=True, 
    memory=memory
)
llm_chain.predict(human_input="Is an pear a fruit or vegetable?")

使用 LangChain 微调 LLM

微调是一个过程,其中现有的预训练LLMs在特定数据集上进一步训练,以使其适应特定任务或领域。通过将模型暴露于特定于任务的数据,它可以学习更好地理解目标领域的细微差别、上下文和复杂性。此过程使开发人员能够改进模型的性能、提高准确性并使其与实际应用程序更加相关。

介绍LangChain的微调能力

LangChain 通过为开发人员提供一个全面的框架来在自定义数据集上训练LLMs,从而将微调提升到新的高度。它提供了一个用户友好的界面和一套简化微调过程的工具。LangChain支持各种流行的LLM架构,例如GPT-3,使开发人员能够为其应用程序使用最先进的模型。借助 LangChain,定制和优化 LLM 的能力触手可及。

LangChain 的微调工作流程

数据集准备

要微调 LLM,请根据你的特定任务或领域定制数据集。首先收集或整理与你的目标应用程序一致的标记数据集。该数据集应包括输入-输出对或用于微调过程的合适格式。

配置参数

在LangChain界面中,开发人员指定所需的LLM架构,例如层数、模型大小以及其他相关参数。这些配置定义了要训练的模型的架构和容量,使开发人员能够在性能和计算资源之间取得适当的平衡。

训练流程

LangChain利用分布式计算资源来高效训练LLM。开发者发起训练流程,LangChain优化训练流程,保证资源高效利用和更快收敛。在训练期间,模型从提供的数据集中学习,调整其参数以捕获特定于目标任务或领域的细微差别和模式。

一旦准备好数据集,你就可以开始使用 LangChain 进行微调过程。首先,导入必要的库和依赖项。然后,初始化预训练的 LLM 并在你的自定义数据集上对其进行微调。

这是一个例子:

from langchain import LangModel

# Initialize the pre-trained LLM
pre_trained_model = LangModel('gpt3')

# Load and preprocess your dataset
dataset = load_dataset('your_dataset.txt')
preprocessed_dataset = preprocess(dataset)

# Fine-tune the LLM on your dataset
fine_tuned_model = pre_trained_model.fine_tune(preprocessed_dataset, 
  num_epochs=5, batch_size=16)

在本例中,我们加载数据集,将其预处理为所需的格式,然后使用 LangModel 的“fine_tune”方法在预处理的数据集上训练 LLM。你可以根据你的具体要求调整训练周期数和批量大小等参数。

评估

LLM微调后,评估其表现至关重要。此步骤可帮助你评估模型对你的特定任务的适应程度。你可以使用适当的指标和单独的测试数据集来评估微调模型。这是一个例子:

# Prepare the test dataset
test_dataset = load_dataset('your_test_dataset.txt')
preprocessed_test_dataset = preprocess(test_dataset)

# Evaluate the fine-tuned LLM
evaluation_results = fine_tuned_model.evaluate(preprocessed_test_dataset)

评估结果可让你深入了解经过微调的LLMs课程的有效性。你可以测量准确性、精确度、召回率或特定领域的指标等指标来评估模型的性能。

通过遵循这些步骤并实现提供的代码示例,你可以使用 LangChain 有效地微调预训练的 LLM。此过程允许你定制语言模型的行为,使其更适合并与你的特定应用程序要求相关。

使用LangChain的好处

  • 使用 LangChain 微调LLMs可以提高模型的准确性和特定任务或领域的上下文相关性,从而产生更高质量的输出。

  • LangChain 允许开发人员定制LLMs来处理独特的任务、行业特定的术语和特定领域的上下文,以满足特定的用户需求。

  • 经过微调的LLMs可以通过对特定领域语言的更深入理解来开发功能强大的应用程序,从而获得更准确和上下文感知的响应。

  • 使用 LangChain 进行微调减少了对大量训练数据和计算资源的需求,节省了时间和精力,同时实现了显着的性能改进。

现实世界的用例和成功故事

我们将深入研究LLMs应用程序的真实例子和成功故事,以展示LLMs和LangChain产生重大影响的广泛行业。我们将探讨这些应用程序如何改变客户支持、电子商务、医疗保健和内容生成,从而改善用户体验并增强业务成果。

客户支持

由LLMs支持的聊天机器人通过为用户提供即时和个性化的帮助,彻底改变了客户支持。公司正在利用 LangChain 构建聊天机器人,以理解客户的查询、提供相关信息,甚至处理复杂的交易。这些聊天机器人可以处理大量查询,确保全天候支持,同时减少等待时间并提高客户满意度。

电子商务

利用LLMs来增强电子商务行业的购物体验。LangChain使开发人员能够构建能够理解产品描述、用户偏好和购买模式的应用程序。通过利用LLMs功能,电子商务平台可以提供个性化的产品推荐、回答客户查询,甚至生成创意产品描述,从而提高销售额和客户参与度。

卫生保健

由LLMs支持的应用程序正在通过改善患者护理、诊断和治疗流程来改变医疗保健行业。LangChain支持开发智能虚拟助手,可以理解医疗查询、提供准确信息,甚至根据症状协助对患者进行分诊。这些应用程序有助于更快地访问医疗保健信息,减轻医疗保健提供者的负担,并使患者能够就其健康做出明智的决定。

内容生成

事实证明,LLMs是内容生成和创作方面的宝贵工具。LangChain 使开发人员能够构建能够生成创意和上下文相关内容的应用程序,例如博客文章、产品描述和社交媒体帖子。这些应用程序帮助内容创作者产生想法、提高写作效率并保持语气和风格的一致性。

这些现实世界的用例展示了LLMs支持的应用程序在各个行业的多功能性和影响力。通过利用LangChain的功能,开发人员可以创建创新的解决方案来简化流程、改善用户体验并推动业务增长。

实施LLMs申请的公司的成功案例展示了所取得的切实利益和成果。例如,大型电子商务平台实施的客户支持聊天机器人显着减少了支持票解决时间并提高了客户满意度得分。同样,利用LLMs功能的医疗保健应用程序提高了分类准确性并减少了急诊室的等待时间,最终挽救了生命。

结论

在构建 LLM 支持的应用程序方面,LangChain 开启了一个充满可能性的世界。如果你的兴趣在于文本完成、语言翻译、情感分析、文本摘要或命名实体识别。LangChain 提供直观的平台和强大的 API,将你的想法变为现实。通过利用LLMs的功能,你可以创建能够理解和生成类人文本的智能应用程序,从而彻底改变我们与语言交互的方式。

要点

  • LangChain 支持开发利用语言模型 (LLM) 卓越功能来理解和生成类人文本的应用程序。

  • 借助LangChain直观的平台,开发人员可以通过安装LangChain SDK并使用API凭证进行身份验证,轻松将LLM集成到他们的项目中。

  • 通过 LangChain 整合LLMs,开发人员可以创建与用户提供更自然和上下文感知交互的应用程序,从而增强用户体验并提高参与度。

常见问题

Q1. 什么是LangChain?

A1. LangChain 是一个提供工具和 API 的平台,用于构建由语言模型 (LLM) 驱动的应用程序。它简化了LLMs与你项目的集成,使你能够利用高级语言处理功能。

Q2. 什么是语言模型(LLM)?

A2. 语言模型 (LLM) 是基于大量文本数据训练的强大机器学习模型。它们可以理解并生成类似人类的文本,这使得它们对于文本完成、翻译、情感分析等应用很有价值。

Q3. 我需要机器学习方面的专业知识才能使用 LangChain 吗?

A3. 不,LangChain 的设计目的是让所有级别的开发者都可以使用,包括初学者。虽然对自然语言处理概念的一些了解可能会有所帮助,但 LangChain 的用户友好平台和文档使没有丰富机器学习专业知识的开发人员更容易构建由 LLM 驱动的应用程序。

Q4. LangChain可以使用哪些编程语言?

A4. LangChain提供了可以使用各种编程语言访问的API,包括Python、JavaScript、Java等。你可以选择你最熟悉的语言来将 LangChain 集成到你的应用程序中。

Q5. 可以用 Langchain 来增强语言模型的性能吗?

A5. 是的,通过 LangChain 集成LLMs,你可以增强语言处理模型的性能。LLMs拥有理解和生成文本的高级功能,可以补充和提高现有模型的准确性和有效性。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

8ad43643077f74bdefa87399aa8a86ae.jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/867860.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

图解java.util.concurrent并发包源码系列——Condition条件等待队列深入详解

图解java.util.concurrent并发包源码系列——Condition条件等待队列深入详解 Condition的作用Condition的原理Condition源码Condition的定义和Condition对象的获取await方法addConditionWaiter方法unlinkCancelledWaiters方法 fullyRelease方法isOnSyncQueue方法checkInterrupt…

一台阿里云服务器怎么部署多个网站?以CentOS系统为例

本文阿里云百科介绍如何在CentOS 7系统的ECS实例上使用Nginx搭建多个Web站点。本教程适用于熟悉Linux操作系统,希望合理利用资源、统一管理站点以提高运维效率的用户。比如,您可以在一台云服务器上配置多个不同分类的博客平台或者搭建多个Web站点实现复杂…

为新手和非技术人员提供扩展Web网站提供一个升级指南

本指南总结了扩展的基本原则,从一台服务器扩展到能够服务数百万用户的Web应用程序。它面向在技术领域工作的新手和非开发人员。因此,如果您刚刚部署了您的多云平台VPN设置,那么本文并不适合您。 话不多说,那就让我们开始吧&#x…

STM32CubeMX工程配置说明

一、STM32CubeMX配置 1.1 设置时钟 单片机的时钟,相当于人的心跳。只要单片机工作,必须要开启时钟! STM32单片机共有4个时钟来源: 名称缩写频率外部连接功能用途特性外部高速晶体振荡器HSE4~16MHz4~16MHz晶体 系统时钟/RTC成…

流水线时序调度之规避冲突

1 写在前面的: 其实略微一个大点的机器,一个测试流程需要若干个步骤,都可以用流水线的思维去看待它; 我之前也没往流水线的角度去考虑,那有些机器的时序调度是不好理解的,甚至计算个通量都很麻烦&#xff…

p5.js 视频播放指南

theme: smartblue 本文简介 在刚接触 p5.js 时我以为这只是一个艺术方向的 canvas 库,没想到它还支持视频文件和视频流的播放。 本文简单讲讲如何使用 P5.js 播放视频。 播放视频文件 p5.js 除了可以使用 video 元素播放视频外,还支持使用 image 控件播放…

Linux 终端操作命令(3)内部命令用法

Linux 终端操作命令 内部命令用法 A- alias NAME alias - Define or display aliases. SYNOPSIS alias [-p] [name[value] ... ] DESCRIPTION Define or display aliases. Without arguments, alias prints the list of aliases in the reusable form al…

创建MySQL数据库和创建表的详细步骤(navicat)

目录 一、介绍 二、操作步骤 (一)新建连接 (二)新建数据库 (三)新建表 插入数据测试 对字段进行增加或者修改 三、关于MySQL的其他文章(额外篇) 一、介绍 在创建数据库…

(统计学习方法|李航)第一章统计学习方法概论-一二三节统计学习及统计学习种类,统计学习三要素

目录 一,统计学习 1.统计学习的特点 2.统计学习的对象 3.统计学习的目的 4.统计学习的方法 5.统计学习方法的研究 6.重要性 二,统计学习的基本种类 1.监督学习 (1)输入空间,输出空间和特征空间 &#xff08…

sklearn机器学习库(一)sklearn中的决策树

sklearn机器学习库(一)sklearn中的决策树 sklearn中决策树的类都在”tree“这个模块之下。 tree.DecisionTreeClassifier分类树tree.DecisionTreeRegressor回归树tree.export_graphviz将生成的决策树导出为DOT格式,画图专用tree.export_text以文字形式输出树tree.…

成像镜头均匀性校正——360°超广角均匀校准光源

随着空间技术的不断发展,遥感仪器在对地观测、大气探测及海洋探测等方面的应用也不断拓展,以实现不同任务的观测精度。空间遥感仪器热控技术旨在保证遥感器各部件所需温度水平、温度梯度和温度稳定度,以满足遥感器高质量成像要求。 近年来我国…

ubuntu20.04磁盘满了 /dev/mapper/ubuntu--vg-ubuntu--lv 占用 100%

问题 执行 mysql 大文件导入任务,最后快完成了,查看结果发现错了!悲催!都执行了 两天了 The table ‘XXXXXX’ is full ? 磁盘满了? 刚好之前另一个 centos 服务器上也出现过磁盘满了,因此&a…

变形金刚在图像识别方面比CNN更好吗?

链接到文 — https://arxiv.org/pdf/2010.11929.pdf 一、说明 如今,在自然语言处理(NLP)任务中,转换器已成为goto架构(例如BERT,GPT-3等)。另一方面,变压器在计算机视觉任务中的使用…

关于技术转管理角色的认知

软件质量保障:所寫即所思|一个阿里质量人对测试的所感所悟。 程序员发展的岔路口 技术人做了几年专业工作之后,会来到一个重要的“分岔路口”,一边是专业的技术路线,一边是技术团队的管理路线。不少人就开始犯难&…

sqlsessionfactory和sqlsession是否线程安全?

判断是否线程安全的规则:是否存在多线程间可共享的变量 sqlsessionfactory是线程安全的,默认的实现类只有一个final属性。 sqlsession单独来看是线程不安全的,但是我们用mybatis时,mapper接口的使用是基于动态代理,这…

计算机竞赛 GRU的 电影评论情感分析 - python 深度学习 情感分类

1 前言 🔥学长分享优质竞赛项目,今天要分享的是 🚩 GRU的 电影评论情感分析 - python 深度学习 情感分类 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 这…

python爬虫5:requests库-案例3

python爬虫5:requests库-案例3 前言 ​ python实现网络爬虫非常简单,只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点,方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论,并不会对网…

uniapp 小兔鲜儿 - 首页模块(1)

目录 自定义导航栏 静态结构 安全区域​ 通用轮播组件 静态结构 自动导入全局组件 全局组件类型声明 .d.ts文件 注册组件 vue/runtime-core 首页 – 轮播图指示点 首页 – 获取轮播图数据 首页 – 轮播图数据类型并渲染 首页 – 轮播图总结 首页分类 首页 – 前…

计算机竞赛 opencv python 深度学习垃圾图像分类系统

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 opencv python 深度学习垃圾分类系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 这是一个较为新颖的竞…

VR安全宣传系列:防触电虚拟现实体验

在电气工作中,安全问题始终是重中之重。为了更好地提高公众的电气安全意识和技能,广州华锐互动开发了一种基于虚拟现实技术的模拟系统——VR防触电虚拟体验系统。这种系统可以模拟各种因操作不当导致的触电事故场景,并提供沉浸式的体验&#…