使用LLM构建智能体应用的架构与实现

图解LLM智能体(LLM Agents):构建与运作机制的全面解析 本文深入探讨了大型语言模型(LLM)智能体的构建与运作机制,涵盖其核心组件和多智能体框架。LLM智能体通过外部工具、记忆系统和规划能力弥补了传统LLM的不足,能够执行复杂任务并展示自主行为。文章详细介绍了记忆模块(短期与长期记忆)、工具使用(如Toolformer和MCP协议)以及规划与推理技术(如ReAct和Reflexion)。此外,多智能体系统的协作框架被提出,用于解决单一智能体在工具选择、上下文复杂性和任务专业化上的局限性。生成式智能体(Generative Agents)模拟人类行为的研究展示了多 阅读详情

此研究文章探讨了使用文档加载器、嵌入、向量存储和提示模板构建基于语言模型的学习(LLM)应用程序的过程。由于语言模型能够生成连贯且语境相关的文本,LLMs 在自然语言处理任务中越来越受欢迎。本文讨论了LLMs的重要性,比较了微调和上下文注入方法,介绍了LangChain,并提供了构建LLM应用的逐步过程。适用的情况下会包含Python代码片段。

在这里插入图片描述

语言是人类交流思想和观点的主要媒介。理解和处理人类语言一直是人工智能领域的一个基本挑战。随着自然语言处理技术的发展,复杂语言模型的开发为各种NLP任务带来了重大突破。

基于语言模型的学习(LLM)已经成为解决这些挑战的强大方法。LLMs利用深度学习技术来建模和理解人类语言的复杂模式和结构。这些模型在生成连贯且语境相关的文本方面表现出色,使其在文本生成、摘要、翻译和问答系统等任务中表现出色。

LLMs在自然语言处理任务中的应用
将LLMs集成到自然语言处理任务中彻底改变了我们与文本数据交互的方式。这些模型可以从大量的文本信息中学习,并捕捉单词、短语和概念之间的复杂关系。通过利用这些知识,LLMs可以生成与给定上下文一致的人类语言文本。

LLMs的一个关键优势是能够生成连贯且语境相关的文本。与传统的基于规则或统计的方法不同,LLMs能够生成遵循语法规则、保留上下文并展示对语义关系深层理解的语言。这使得文本摘要等应用程序能够从给定文档中提取关键信息,生成简洁且具有信息性的摘要。

此外,LLMs还被用于机器翻译系统中,学习将输入文本从一种语言映射到另一种语言,从而生成高质量的翻译。这些模型表现出色,优于先前的机器翻译方法,并缩小了语言之间的差距。

连贯且语境相关的文本生成
LLMs能够生成连贯且语境相关的文本,这是由于它们在大量多样化的文本数据上进行训练的结果。这些模型从数据中捕获模式、依赖关系和上下文线索,使其能够生成与输入上下文一致的文本。

例如,在文本完成任务中,LLMs可以生成给定句子最有可能的延续,确保生成的文本与前文上下文连贯且相关。这在自动完成功能中具有实际应用,LLMs可以在用户输入时预测下一个单词或短语,提供实时建议。

此外,LLMs被用于聊天机器人系统中,使会话智能体能够生成人类语言的响应。这些模型从对话数据集中学习,并生成与上下文相关的响应,考虑对话历史以在整个对话中保持连贯性和相关性。

LLMs在自然语言处理任务中变得不可或缺,能够生成连贯且语境相关的文本。深度学习技术的进步以及大规模训练数据的使用,为LLMs在文本生成、摘要、翻译和对话系统等任务中表现卓越铺平了道路。利用LLMs的力量为自动化语言相关任务和创建更互动、智能的应用程序提供了新的可能性。

微调与上下文注入
微调LLMs
微调是LLM开发中的一种流行方法,涉及将预训练的语言模型适应特定任务。微调始于利用一个经过大量通用语言数据预训练的LLM。预训练阶段使模型能够学习丰富的语言表示并捕捉自然语言的统计模式。

为了将LLM微调为特定任务,我们从预训练模型开始,进一步在其特定任务数据集上对其进行训练。该数据集包含与目标任务相关的标签样本。在微调过程中,模型的参数被调整以优化其在特定任务上的性能。

用于微调LLM的Python代码通常涉及以下步骤:

1、加载预训练的LLM模型
2、准备特定任务的数据集

3、对输入数据进行分词

4、微调模型

from transformers import TFAutoModelForSequenceClassification, TFAutoTokenizer

model_name = "bert-base-uncased"  # Example pre-trained model
model = TFAutoModelForSequenceClassification.from_pretrained(model_name)
tokenizer = TFAutoTokenizer.from_pretrained(model_name)

task_dataset = ...  # Load or preprocess the task-specific dataset

tokenized_data = tokenizer(task_dataset["text"], padding=True, truncation=True, max_length=128)

model.compile(optimizer="adam", loss="binary_crossentropy")
model.fit(tokenized_data, task_dataset["labels"], epochs=3)

微调提供了几个优势。首先,它利用了预训练模型的语言理解能力,从而能够更快地开发。其次,与从头开始训练相比,微调所需的特定任务训练示例相对较少,这在数据标签有限的情况下是一个实用的选择。最后,微调后的模型在下游任务上的表现通常优于从头开始训练的模型。

然而,微调在计算上可能会比较昂贵,因为整个模型需要在特定任务的数据集上进行训练。此外,微调可能会遭受一种称为灾难性遗忘的现象,在这一过程中,模型在微调过程中会忘记之前学习的知识。

大型语言模型中的上下文注入
上下文注入,也称为提示工程,是一种在不进行大量微调的情况下利用预训练大型语言模型的替代方法。与其微调整个模型,上下文注入是通过将特定的上下文或提示注入到预训练的语言模型中,以引导其为特定任务生成输出。

提示工程相比微调提供了灵活性和更快的迭代周期。开发人员可以设计包含所需输入输出行为的提示,并编码特定任务的指令。通过精心设计提示,可以从预训练的大型语言模型中生成特定任务的输出,而无需进行大量的重新训练。

用于上下文注入的Python代码涉及以下步骤:

1、加载预训练的大型语言模型。
2、定义提示。
3、基于提示生成文本。
4、评估生成的输出。

from transformers import GPT2LMHeadModel, GPT2Tokenizer

model_name = "gpt2"  # Example pre-trained model
model = GPT2LMHeadModel.from_pretrained(model_name)
tokenizer = GPT2Tokenizer.from_pretrained(model_name)

prompt = "Translate the following English text to French: "

input_text = prompt + "Hello, how are you?"  # Example input text
input_ids = tokenizer.encode(input_text, return_tensors="pt")
output = model.generate(input_ids)
decoded_output = tokenizer.decode(output[0], skip_special_tokens=True)

print(decoded_output)

上下文注入通过提示中的显式指令,允许对生成的文本进行细粒度控制。开发人员可以试验不同的提示并快速迭代,以实现特定任务所需的输出。上下文注入的一个挑战是设计有效的提示。提示应精心设计,以诱发出所需的响应,同时保持连贯性和上下文性。这需要对LLM的能力和手头任务有深入的理解,以便生成高质量的输出。

细调与上下文注入的比较
细调和上下文注入各有其优缺点和权衡。细调的优势在于可以专门为特定任务训练LLM,从而获得更优的性能。然而,它需要特定任务的有标签数据,并且可能计算成本较高。

另一方面,上下文注入允许更快的迭代周期,并利用了LLM的预训练知识。它提供了通过注入特定任务的上下文来引导输出生成的灵活性。然而,当需要广泛的任务适应时,它可能无法达到与细调相同的性能水平。

选择细调还是上下文注入取决于任务的具体要求、有标签数据的可用性、计算资源以及期望的性能与开发时间之间的权衡。

LangChain:LLM应用框架
LangChain架构与组件概述
LangChain是一个强大的框架,提供了一种模块化且高效的架构来构建LLM应用。它为文档加载、文本切分、嵌入生成、LLM选择、提示模板创建和向量存储创建提供了一条流畅的工作流程。让我们探讨关键组件及其功能:

文档加载器:文档加载器组件负责将文档加载到LangChain框架中。它支持多种文档格式,如纯文本、PDF、HTML等。文档加载器确保文档的有效且可靠的加载,使文档能够与工作流程的其余部分无缝集成。
文本切分器:文本切分器组件将加载的文档分割成较小的文本片段。此步骤在处理大量文档或以分布式方式处理文档时特别有用。文本切分使得并行处理成为可能,并提高了后续步骤(如嵌入生成和LLM推理)的效率。
嵌入生成器:嵌入生成器组件从文本片段中生成嵌入。嵌入捕获文本的语义信息,并以数值向量的形式表示。LangChain利用最先进的语言模型和嵌入技术生成高质量的嵌入,以编码文本片段的上下文含义。
LLM选择器:LLM选择器组件允许开发人员选择他们希望用于任务的具体LLM模型。LangChain支持广泛的预训练LLM模型,如GPT、BERT和Transformer模型。开发人员可以根据具体需求(如语言生成、问答或情感分析)选择最适合的LLM。
提示模板创建器:提示模板创建器组件简化了上下文注入中提示模板的创建。提示模板定义了提供给LLM以生成所需输出的结构和指令。开发人员可以设计引导LLM行为并根据任务量身定制的模板。提示模板可以包含动态输入的占位符,允许灵活且可定制的文本生成。
向量存储构建器:向量存储构建器组件创建一个高效的向量存储来存储生成的嵌入。向量存储是一种数据结构,它组织和索引嵌入,从而能够快速且高效地检索。LangChain提供了构建向量存储的方法,从而能够高效地进行相似性搜索、聚类和其他嵌入操作。
使用LangChain的优势
LangChain为构建LLM应用提供了多种优势:

高效的文档加载:LangChain的文档加载器组件处理从各种格式加载文档,确保高效加载并无缝集成到工作流程中。
文档切分以进行处理:文本切分器组件将大型文档分割成较小的片段,使得并行处理成为可能,并提高了后续步骤的效率。这使得大型文档集的可扩展处理成为可能。
无缝的嵌入生成:LangChain利用高级语言模型和嵌入技术生成高质量的嵌入,捕捉文本片段的上下文含义。嵌入生成器组件无缝集成到整个工作流程中,从而实现高效的嵌入生成。
LLM选择的灵活性:LangChain提供了广泛的预训练LLM模型,使开发人员能够根据应用程序的具体需求选择最适合的模型。这允许根据应用的具体要求进行定制和优化。
基于模板的提示创建:提示模板创建器组件允许开发人员设计引导LLM输出生成的提示模板。这种灵活性使开发人员能够为特定情况创建指令,并在无需大量微调的情况下控制LLM的行为。
高效的向量存储创建:LangChain的向量存储构建器组件能够创建高效的组织和索引生成嵌入的数据结构。这便于嵌入的快速高效检索,用于各种下游任务如相似性搜索或聚类。

使用LangChain组件的Python代码
使用LangChain加载文档
将文档分割成文本片段
生成嵌入
定义LLM模型
定义提示模板
创建向量存储

# Load documents using LangChain

from langchain import TextChunker

chunker = TextChunker()
text_chunks = chunker.chunk_documents(documents)

# Generate Embeddings
from langchain import EmbeddingGenerator

embedding_generator = EmbeddingGenerator()
embeddings = embedding_generator.generate_embeddings(text_chunks)

# Define the LLM Model
from langchain import LLMSelector

llm_selector = LLMSelector()
llm_model = llm_selector.select_llm_model("gpt2")

# Define Prompt Template
from langchain import PromptTemplateCreator

template_creator = PromptTemplateCreator()
prompt_template = template_creator.create_template("Translate the following English text to French: {text}")

# Create a Vector Store
from langchain import VectorStoreBuilder

vector_store_builder = VectorStoreBuilder()
vector_store = vector_store_builder.build_vector_store(embeddings)

通过利用LangChain提供的组件,开发人员可以构建高效且可定制的LLM应用程序。LangChain的模块化架构使得每个组件可以无缝集成,从而在构建复杂的NLP流水线时提供灵活性和可扩展性。

LangChain是一个强大的框架,它为构建LLM应用程序提供了高效且模块化的架构。通过利用文档加载器、文本分块器、嵌入生成器、LLM选择器、提示模板创建器和向量存储构建器等组件,开发人员可以构建稳健且灵活的应用程序,利用LLM的能力来处理各种自然语言处理任务。

构建LLM应用程序
使用LangChain加载文档
要开始LLM应用程序的开发过程,第一步是将文档加载到LangChain框架中。LangChain提供了一个文档加载器组件,它负责从各种来源和格式加载文档。

利用文档加载器:LangChain的文档加载器支持多种来源,包括本地文件、远程URL、数据库或API。文档加载器抽象了加载文档的复杂性,提供了一个统一的接口来访问不同的文档来源。
处理不同的文档格式:LangChain的文档加载器设计用于处理各种文档格式,如纯文本文件、PDF、HTML文件等。文档加载器会自动执行特定格式的解析和提取,确保提取的文本已准备好进行进一步处理。
代码示例:用于文档加载的Python脚本

from langchain import DocumentLoader

# Load documents from a local directory
documents = DocumentLoader.load_documents("path/to/documents")

# Load documents from a remote URL
documents = DocumentLoader.load_documents("https://example.com/documents")

# Load documents from a database or API
documents = DocumentLoader.load_documents_from_database(database_connection)

通过使用LangChain文档加载器,开发人员可以轻松处理来自各种来源和格式的文档加载,从而方便地将不同类型的文字数据整合到他们的大语言模型(LLM)应用程序中。

文档拆分成文本块
一旦文档加载完成,下一步就是将其拆分成较小的文本块。文本块的拆分使得处理过程更加易于管理,并且在处理大型文档或需要并行处理时特别有用。

拆分策略:LangChain提供了根据大语言模型应用程序的具体需求选择拆分策略的灵活性。常见的策略包括将文档拆分成段落、句子或固定大小的块。

平衡大小与连贯性:在将文档拆分成文本块时,找到块大小与保持文本连贯性之间的平衡至关重要。过度细化的拆分可能导致文本碎片化和不连贯,而过度粗略的拆分则可能丢失块内的重要上下文。

from langchain import TextChunker

chunker = TextChunker()

# Split documents into paragraphs
paragraphs = chunker.chunk_into_paragraphs(documents)

# Split paragraphs into sentences
sentences = chunker.chunk_into_sentences(paragraphs)

# Split documents into fixed-size chunks
chunk_size = 1000  # Specify the desired chunk size in words
fixed_size_chunks = chunker.chunk_into_fixed_size(documents, chunk_size)

LangChain文本分块组件提供了将文档拆分成段落、句子或固定大小块的方法。开发人员可以根据其LLM应用的具体需求选择合适的分块策略。

从文本块到嵌入表示
在将文档拆分成文本块之后,下一步是将文本块转换成称为嵌入的数字表示形式。嵌入捕获文本的语义信息,使LLM能够理解和处理文本。

词嵌入和句嵌入:LangChain支持词嵌入和句嵌入。词嵌入在向量空间中表示单个单词,而句嵌入则将整个句子或文本块表示为一个向量。

将文本块转换成嵌入表示:LangChain利用流行的NLP库和预训练模型从文本块生成嵌入。这些库(如spaCy、Transformers或Sentence Transformers)提供了生成高质量嵌入的有效且准确的方法。
代码示例:使用Python库生成嵌入

import spacy

nlp = spacy.load("en_core_web_md")  # Load pre-trained word embeddings

# Generate word embeddings for individual words
def generate_word_embeddings(text_chunks):
    embeddings = []
    for chunk in text_chunks:
        doc = nlp(chunk)
        chunk_embeddings = [token.vector for token in doc]
        embeddings.append(chunk_embeddings)
    return embeddings

# Generate sentence embeddings for text chunks
def generate_sentence_embeddings(text_chunks):
    embeddings = []
    for chunk in text_chunks:
        doc = nlp(chunk)
        chunk_embedding = doc.vector
        embeddings.append(chunk_embedding)
    return embeddings

# Generate word embeddings for text chunks
word_embeddings = generate_word_embeddings(text_chunks)

# Generate sentence embeddings for text chunks
sentence_embeddings = generate_sentence_embeddings(text_chunks)

在上面的代码示例中,使用了spaCy库来加载预训练的词嵌入(en_core_web_md)。generate_word_embeddings函数为文本块中的单独单词生成词嵌入,而generate_sentence_embeddings函数为整个文本块生成句子嵌入。这些函数遍历文本块,使用spaCy对其进行处理,并提取相应的嵌入。

通过利用适当的Python库和模型,开发人员可以轻松地为从文档中提取的文本块生成词嵌入或句子嵌入,从而能够进一步使用LLM进行处理和分析。

定义要使用的LLM
一旦文本块转换为嵌入,下一步就是定义用于LLM应用的具体LLM模型。LangChain提供了多种预训练的LLM模型,如GPT、BERT和Transformer模型,可以根据任务需求进行选择。

可用LLM概述:LangChain提供了一整套专门针对各种自然语言处理任务的预训练LLM模型。这些模型在大规模语料库上进行了训练,并对语言语义和语法有深入的理解。
选择适用于任务的适当LLM:在选择LLM模型时,开发人员应考虑任务的具体需求。一些LLM模型在语言生成任务中表现出色,而另一些则更适合问题回答或情感分析。选择与预期任务和性能相匹配的LLM模型至关重要。
代码示例:在Python中定义LLM模型

from langchain import LLMSelector

llm_selector = LLMSelector()
llm_model = llm_selector.select_llm_model("gpt2")

在上述代码示例中,使用了LLMSelector组件来选择LLM模型。select_llm_model函数接受一个参数,指定所需的LLM模型,例如"gpt2"。该函数返回所选LLM模型的实例,然后可以用于进一步处理和文本生成。

通过利用LLMSelector组件,开发人员可以轻松选择适合其特定任务的LLM模型,并将其无缝集成到其LLM应用程序中。

定义提示模板
在选择LLM模型之后,下一步是定义提供LLM文本生成指令或上下文的提示模板。提示模板指导LLM生成特定任务的连贯且上下文相关的输出。

为LLM设计提示模板:应设计提示模板以激发LLM产生所需的响应,同时保持连贯性和上下文性。开发人员可以在模板中加入动态占位符,以将特定任务的输入或参数注入生成的文本中。
纳入上下文信息:提示模板可以包含有助于LLM理解所需行为或生成特定任务输出的特定上下文信息。这种上下文信息可以是显式的指令、示例输入或特定的约束。
代码示例:在Python中创建提示模板

from langchain import PromptTemplateCreator

template_creator = PromptTemplateCreator()

# Create a prompt template for translation task
translation_template = template_creator.create_template("Translate the following English text to French: {text}")

# Create a prompt template for summarization task
summarization_template = template_creator.create_template("Summarize the given text: {text}")

在上面的代码示例中,PromptTemplateCreator 组件用于为不同的任务创建提示模板。create_template 函数接受一个字符串作为输入,其中占位符 {text} 代表在文本生成期间将提供的动态文本。开发人员可以根据具体的任务需求和期望的 LLM 行为创建定制的提示模板。

通过将提示模板整合到 LLM 应用程序中,开发人员可以引导 LLM 的文本生成过程,并根据不同任务的需求产生上下文相关的输出。

创建向量存储库
一旦文本片段被转换成嵌入,并且 LLM 模型和提示模板被定义,下一步就是创建一个向量存储库。向量存储库提供了高效地存储和检索嵌入的功能,使得在 LLM 应用程序运行时能够快速访问预计算的嵌入。

向量存储库的重要性:向量存储库作为嵌入的集中式存储库,消除了为每个查询或文本生成请求重新生成嵌入的需要。将嵌入存储在向量存储库中可以加快处理速度并减少计算开销。
嵌入的高效存储和检索:LangChain 提供了一个向量存储库构建组件,该组件可以简化从生成的嵌入创建向量存储库的过程。向量存储库高效地组织和索引嵌入,便于根据文本片段标识符进行检索。
代码示例:使用 Python 库构建向量存储库

from langchain import VectorStoreBuilder

vector_store_builder = VectorStoreBuilder()

# Build a vector store from word embeddings
word_vector_store = vector_store_builder.build_vector_store(word_embeddings)

# Build a vector store from sentence embeddings
sentence_vector_store = vector_store_builder.build_vector_store(sentence_embeddings)

在上面的代码示例中,使用了VectorStoreBuilder组件来构建向量存储库。build_vector_store函数接收生成的嵌入作为输入并创建向量存储库。开发人员可以根据其LLM应用程序的具体需求为单词嵌入和句子嵌入构建单独的向量存储库。

通过创建向量存储库,开发人员可以高效地存储和检索预计算的嵌入,从而加快文本生成的速度并减少运行时的计算负担。

本节中概述的逐步过程展示了如何利用LangChain框架来构建LLM应用程序。通过加载文档、将其拆分为文本块、生成嵌入、选择适当的LLM模型、定义提示模板和创建向量存储库,开发人员可以构建强大的LLM应用程序,其在各种自然语言处理任务中表现出色。提供的代码片段演示了每一步的实现过程,使用了Python,并展示了LangChain框架提供的灵活性和易用性。

结论
在本研究文章中,我们探讨了使用LangChain框架构建一个包含文档加载器、嵌入、向量存储库和提示模板的LLM(语言模型)应用程序的过程。我们首先讨论了在自然语言处理任务中使用LLM的必要性,并强调了它们生成连贯且上下文相关的文本的能力。

然后,我们深入探讨了细调与上下文注入的概念,讨论了每种方法的优势和考虑因素。细调涉及在特定任务或数据集上对现有的LLM进行训练,而上下文注入则涉及在文本生成过程中提供上下文信息。理解这些方法之间的权衡对于开发LLM应用程序至关重要。

接下来,我们介绍了LangChain作为构建LLM应用程序的强大框架。我们提供了对LangChain架构和组件的概述,强调了其优势,例如高效的文档加载、将文档拆分成处理块、无缝生成嵌入、灵活选择LLM、基于模板创建提示以及高效创建向量存储库。

然后,我们展示了使用LangChain开发LLM应用程序的逐步过程。我们涵盖了使用LangChain的文档加载器加载文档、将文档拆分为文本块、从文本块生成嵌入、选择适当的LLM模型、定义提示模板以及为嵌入的高效存储和检索创建向量存储库。

总之,本研究文章展示了LLM在自然语言处理任务中的重要性,并提供了利用LangChain框架开发LLM应用程序的见解。本文的关键要点包括利用预训练的LLM模型的重要性、LangChain框架模块化组件提供的灵活性,以及使用提示模板和向量存储库进行高效文本生成的好处。

对于LLM应用程序开发的未来方向,涉及探索对LLM进行高级微调的技术、将额外的NLP组件集成到LangChain框架中以及优化向量存储库在大规模应用程序中的性能。随着LLM的不断发展,在各个领域增强LLM应用程序的能力和效率有着巨大的潜力。

总而言之,本研究文章提供了使用LangChain构建LLM应用程序的全面理解,展示了LLM在NLP任务中的重要性、开发的逐步过程以及推进LLM应用程序开发的未来方向。通过利用LangChain的能力并发挥LLM的力量,开发人员可以创建强大的、上下文感知的应用程序,使其在自然语言处理任务中表现出色。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

【大模型应用篇3】LLM时代下的智能体 (大语言模型, Large Language Model), Agent概念最早起源于M.Minsky(AI之父之一) 于1986年出版的《Society of Mind》(也是神经网络热潮开始的年份), 只是LLM出现, LLM的涌现能力让人们快速嗅到可以基于LLM打造智能体, 近期 Web GPT、Chatdev、Toolformer、Devin、MetaGPT等AI Agents产品也是层出不穷。通过给予基于大语言模型(LLM)的智能体以“资产、偏好及个性”,模拟人类在经济行为场景中的决策过程。 阅读详情

相关推荐

多电平双向DC/DC直流变换器的工作原理(以三电平为例子)

多电平双向DCDC变换器的工作原理一、所用论文和参考文献1.1 主要是中文的文献二、工作原理和重要概念2.1 飞跨电容的作用2.2 三电平的工作原理1.3 多电平的优点二,一些注意点2.1 电感电流的变化2.2 多飞跨电容 多余三个电平的时候的解释(截图居多) 一、所用论文和参考文献 1.1 主要是中文的文献 用于超级电容储能系统的三电平双向直流变换器及其控制 (期刊) 多电平直流变换器及其控制...

qq_32419593的博客 2万+

AI框架SemanticKernel系列随笔(4)-- SK Plugins和Native Function简述

在Semantic Kernel中,作为SK的基本构建模块,Plugin是function的载体,一个Plugin可能包含一系列的Native Function和semantic function。如前文所述,导入plugin有多种方式,如从对象导入,从指定类型导入,从文件导入等。实际上。

边学边写边做 1313

机器学习系列(1)_逻辑回归初步

1、总述 逻辑回归是应用非常广泛的一个分类机器学习算法,它将数据拟合到一个logit函数(或者叫做logistic函数)中,从而能够完成对事件发生的概率进行预测。 2、由来     要说逻辑回归,我们得追溯到线性回归,想必大家对线性回归都有一定的了解,即对于多维空间中存在的样本点,我们用特征的线性组合去拟合空间中点的分布和轨迹。如下图所示:     线性回归能对连续值结果进行预测,

寒小阳 13万+

使用KernelMemory进行文档导入QA切片:技术深度解析与实战应用

通过本文的深入分析和实战应用,我们可以看到,利用KernelMemory进行QA问答切片是一种有前景的方法。我们可以看到 这个是KM提供的默认编排,分别是文档的解析,文档的切片、向量的处理、总结、和保存向量。A4: 进行QA问答切片的效果测试需要选择不同类型和长度的文档进行测试,应用QA问答切片方法,并评估切片后的效果,包括问答的准确性、内容的完整性等。中使用依赖注入,这个生命周期与我应用程序的不同,这个后面再看如何解决,我们先使用一个变通的方式,来调用本地的API接口进行 QA问答切片,。

许泽宇的技术分享 1365

西门子S7-200 SMART 实战解析:滑动平均值滤波算法在模拟量信号处理中的应用

本文详细解析了在西门子S7-200 SMART PLC中实现滑动平均值滤波算法的实战应用。通过处理模拟量信号如温度、压力等,该算法有效抑制信号干扰,提升系统稳定性。文章涵盖算法原理、程序框架、信号采集及调试优化,为工业自动化工程师提供实用指南。

gitlab7runner的博客 1152

SAP 物料的与压缩库存数据不一致

总结:发生这个问题的原因多数会发生在测试系统在拷贝正式系统的时候会发生这样的情况,系统在拷贝的时候,业务数据还在发生,就会导致数据拷贝的时候丢失数据。经过查询发现是由于物料分类账中的物料的库存数量和 ACDOCA_M_EXTRACT表中的数量对不上,导致系统抛出报错的信息。由于是测试系统,直接更改表的数据,把ACDOCA_M_EXTRACT表中的库存数据和金额与物料分类账中的数据保持一致。在测试系统中进行501和561增加库存的时候,系统提示物料的预压缩库存数据不一致的报错。

我小时候很黑的博客 3305

【开源自荐】 AI Selector:一款通用 AI 配置组件,让你的应用快速接入 20+ LLM AI厂商

开箱即用,内置 20+ 主流 AI 厂商配置可自定义扩展、模型列表智能管理、API Key 安全存储、连通性测试和配置持久化。为 React 和 Vue 提供一致的 AI 服务接入体验

好奇害死猫 965

在 ABAP Push Channel 里玩转 Detached Client:用 Attach Handle 把 WebSocket 连接交接给业务逻辑

摘要:本文介绍了ABAP Push Channels (APC)中的Detached Client技术,该技术通过将WebSocket连接建立与后续处理分离,实现更高效的实时通信。核心流程包括创建连接、使用connect_and_detach交接连接、以及通过attach handle重新附着发送消息。文章还探讨了PCP协议和AMC技术在企业级推送场景中的应用,并通过示例代码展示了Detached Client的具体实现方式。这种设计解决了传统轮询的资源浪费问题,特别适用于生产线监控、客服系统等需要服务端主

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2315

什么是LLM智能体

虽然对于 LLM 驱动的智能体没有一个被广泛接受的定义,但它们可以被描述为一个可以使用 LLM 推理问题、制定解决问题的计划并在一系列工具的帮助下执行计划的系统。简而言之,智能体是一个具有复杂推理能力、记忆和执行任务手段的系统。这种能力首先出现在 AutoGPT 或 BabyAGI 等项目中,这些项目无需太多干预即可解决复杂问题。为了更详细地描述智能体,下面是一个 LLM 驱动的智能体应用程序的一般架构(如下图)。智能体核心记忆模块工具规划模块。

专注于人工智能领域的小何尚 2139

基于多模态融合的反无人机视觉跟踪算法研究

本研究提出了一种基于多模态融合的反无人机视觉跟踪算法,通过整合可见光、红外、深度等多种视觉信息源,提高了对无人机的跟踪精度和可靠性。设计并实现了多模态特征提取方法,针对不同模态图像的特点提取了有效的特征信息,为多模态融合提供了基础。研究了多种多模态融合策略,包括特征级融合、决策级融合和混合融合,并通过实验对比分析了它们的优缺点,确定了适合反无人机视觉跟踪的融合方法。选择并改进了跟踪算法,将多模态融合信息融入到跟踪过程中,提高了算法对复杂环境和无人机运动变化的适应性。

AI的内部世界的博客 1354

Android16 RK3576修改亮度调节为线性调节

文章摘要: 本文分析了Android系统中亮度调节的非线性问题,并提供了线性化改造方案。首先通过追踪Settings和SystemUI代码,发现亮度调节使用了BrightnessUtils类中的非线性Gamma空间转换算法。然后重点修改了BrightnessUtils类,将原有的Hybrid Log Gamma(HLG)算法替换为简单的线性映射公式。最后在自定义工具窗口中实现了基于系统标准接口的亮度调节功能,通过SeekBar的0-100%百分比值线性映射到1-255的系统亮度值。改造后的亮度调节更加直观,

tzj1058756809的博客 75

Chrome MCP Server的TextChunker:智能文本分割如何提升AI处理效率4倍

Chrome MCP Server是一款基于Chrome扩展的Model Context Protocol (MCP)服务器,它通过智能文本分割技术将浏览器功能暴露给AI助手,实现复杂的浏览器自动化和内容分析。在这个强大的AI自动化工具中,TextChunker模块扮演着至关重要的角色,通过先进的语义分割策略大幅提升AI处理长文本的效率。 ## 🧩 什么是TextChunker智能文本分割?

gitblog_00967的博客 527

《QGIS快速入门与应用基础》151:批量属性值赋值(字段计算器)

本文介绍了QGIS中字段计算器的批量属性值赋值方法,重点讲解了简单赋值(统一值和递增序列)的操作步骤与表达式应用。文章首先强调数据备份、字段类型确认等必要前提,随后详细解析字段计算器的界面功能分区和打开方式。通过具体场景示例,展示了如何为图层统一赋值固定值或生成连续编号序列,并提供了文本、数字、日期等不同字段类型的表达式模板。文中特别提醒新手优先创建新字段而非直接更新现有字段,以避免数据丢失风险,同时推荐使用$id和rownum()函数实现基础序列生成。该教程适合GIS初学者快速掌握批量属性编辑的核心技能。

LuckyHanMo的博客 489

【AI大模型】如何使用LLM构建智能体应用的架构与实现,看完这一篇你就知道了!!

一旦文本块转换为嵌入,下一步就是定义用于LLM应用的具体LLM模型。LangChain提供了多种预训练的LLM模型,如GPT、BERT和Transformer模型,可以根据任务需求进行选择。可用LLM概述:LangChain提供了一整套专门针对各种自然语言处理任务的预训练LLM模型。这些模型在大规模语料库上进行了训练,并对语言语义和语法有深入的理解。选择适用于任务的适当LLM:在选择LLM模型时,开发人员应考虑任务的具体需求。一些LLM模型在语言生成任务中表现出色,而另一些则更适合问题回答或情感分析。

2401_85327249的博客 1030

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

自主智能体的新时代:基于LLM的AI Agent研究与应用

对基于大型语言模型(LLM)的智能体(Agent)的深入分析,包括其起源、发展、应用和未来潜力。它概述了智能体的三个核心组件:大脑、感知和行动,并讨论了在不同场景下的应用,如单智能体、多智能体和人机协作。同时,笔记还探讨了智能体社会的关键问题,如安全性和可信度,并介绍了几种AI Agent实现,如AutoGPT、自动驾驶汽车软件、聊天机器人和金融交易机器人。

weixin_43495982的博客 3110

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

探秘基于LLM的自主智能体:构建、应用与挑战全解析

自主智能体长期以来一直是学术界和工业界的研究焦点。以往的研究通常侧重于在孤立环境中训练知识有限的智能体,这与人类的学习过程有很大不同,使得智能体难以做出类人决策。近年来,通过获取大量网络知识,大型语言模型(LLMs)展现出了达到人类水平智能的潜力,导致基于LLM的自主智能体研究激增。在本文中,我们对这些研究进行了全面综述,从整体角度对基于LLM的自主智能体进行了系统回顾。我们首先讨论了基于LLM的自主智能体的构建,提出了一个涵盖先前大量工作的统一框架。

m0_56255097的博客 2496

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

基于本地 LLM 与 MCP 架构构建 AI 智能体全指南

基于本地 LLM 与 MCP 架构构建 AI 智能体,为人工智能应用开发开辟全新路径。从环境搭建、模型选择微调,到交互逻辑设计、性能优化测试,每一步虽充满挑战,但掌握正确方法后也能轻松应对。随着技术持续进步,本地 LLM 性能将更强劲,MCP 架构不断完善,未来有望在更多领域看到高效、智能、安全的 AI 智能体身影,为各行业发展注入强劲动力。

分享平时的学习心得和笔记 1000

AI Agent开发与应用:基于大模型的智能体构建

本文主要介绍了AI Agent开发与应用:基于大模型的智能体构建,希望能对学习大模型的同学们有所帮助。 文章目录 1. 前言 2. 书籍推荐 2.1 内容简介 2.2 本书作者 2.3 本书目录 3. 购买链接

weixin_43178406的博客 1万+

构建高效 LLM 智能体:从基础模式到实践落地

本文将结合实践经验,拆解智能体的核心概念、适用场景与构建方法,为开发者提供可落地的技术指南。

huang9604的博客 988

【必学收藏】从零开始学大模型:LLM智能体与工具使用全面指南,附最新研究进展与未来方向

本文综述了大型语言模型(LLM)作为自主智能体和工具使用者的最新研究进展。通过系统分析2023-2025年的相关文献和68个公开数据集,研究聚焦于LLM智能体的架构设计、认知能力(包括推理、规划和记忆)以及性能优化策略(如提示工程、微调和记忆增强)。文章评估了当前基准测试的局限性,并提出十个未来研究方向,包括可验证推理系统、自适应架构、人机协作等关键领域。该研究为LLM智能体的理论发展和实际应用提供了系统性指导框架。

qq_46094651的博客 2174

LLM时代下的智能体

其实早有人类提出相关技术解决上述问题, 那就是智能体, 智能体(AI Agents或 Agents),一般认为是一个可以通过行动能力自主完成设定的目标的代理。“智能体”是和“智能”密不可分的;它具备一些类似人的智能能力和行为,比如学习、推理、决策和执行能力。AI Agents的概念是早于。

chenxyuan1tuo的博客 1144

万字长文讲透智能体|智能体的架构、探索与应用,收藏这一篇就够了!!

从接触到 ChatGPT 到躬身入局开发 DB-GPT 项目 也已经一年有余,在最近我们的能力逐步开始规模化应用之际,正好也来谈谈我们在这一段时间的探索与思考。大模型带来的智能化革命,不仅打开了专业技术走向大众普惠的大门。同时Transformer(变形金刚),将天门劈开了一条裂缝,让我们看到了曙光。开启了新一轮的技术竞赛与科技角逐。

2401_85325397的博客 2612

【AI智能体】LLM记账智能体+MCP服务-实现步骤与效果展示

本文介绍了如何利用阿里云百炼平台开发智能记账应用的全流程。通过选择大模型、配置提示词、设置记忆ID等步骤创建智能体,并集成到SpringBoot+Vue架构中。该应用支持自然语言交互,能解析用户收支描述并处理账单,具有账单查询、消费分析等功能。文章详细展示了从智能体开发、API接入到前端实现的完整过程,最终实现了与微信小程序的联动记账功能,有效提升了记账效率。新用户可享受免费额度体验远程部署方案。

2401_84926677的博客 3270
上一篇: RAG效果不好怎么办?试试这八大解决方案(含代码)
下一篇: 大模型速通LLM神书来了《从头开始构建大型语言模型》,尚未发布,GitHub标星22k!!不亏是最火的大模型神书!
冻感糕人~
博客等级 码龄3年 8926粉丝 2384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值