小学生网站制作自媒体培训学校

当前位置: 首页 > news >正文

小学生网站制作,自媒体培训学校,wordpress sql 导入数据库,自己做的网站怎么赚钱模型#xff08;Models#xff09; LLMs 大型语言模型#xff0c;将文本字符串作为输入#xff0c;并返回文本字符串作为输出。 聊天模型 聊天模型通常由语言模型支持#xff0c;但它们的API更加结构化。这些模型将聊天消息列表作为输入#xff0c;并返回聊天消息。 文本…模型Models LLMs 大型语言模型将文本字符串作为输入并返回文本字符串作为输出。 聊天模型 聊天模型通常由语言模型支持但它们的API更加结构化。这些模型将聊天消息列表作为输入并返回聊天消息。 文本嵌入模型 文本嵌入模型将文本作为输入并返回一个浮点数列表常见的嵌入集成OpenAI。 LLM从语言模型中获取预测LangChain最基本的构建块是对某些输入调用LLM。 首先导入LLM包装器 from langchain.llms import OpenAI 然后用参数初始化包装器如果希望输出更加随机初始化温度temperature即可 llm OpenAI(temperature0.9) 最后可以根据输入来调用它 text What would be a good company name for a company that makes colorful socks? print(llm(text)) 提示工程Prompts 提示模板PromptTemplate管理LLM的提示 from langchain.prompts import PromptTemplateprompt PromptTemplate(input_variables[product],templateWhat is a good name for a company that makes {product}?, )print(prompt.format(productcolorful socks))What is a good name for a company that makes colorful socks? 链Chains 在多步骤的工作流中组合LLM和提示在LangChain中链是由链组成的可以是LLM这样的原始链也可以是其他链。最核心的链类型是LLMChain它由PromptTemplate和LLM组成。接受用户输入使用 PromptTemplate 对其进行格式化然后将格式化后的响应传递给LLM。 from langchain.prompts import PromptTemplate from langchain.llms import OpenAIllm OpenAI(temperature0.9) prompt PromptTemplate(input_variables[product],templateWhat is a good name for a company that makes {product}?, ) 现在可以创建一个简单的链它接受用户输入用它格式化提示符然后将它发送到 LLM from langchain.chains import LLMChain chain LLMChain(llmllm, promptprompt)chain.run(colorful socks)

- \n\nSocktastic!

代理Agents 基于用户输入的动态调用链通常链运行在一个预先确定的顺序但是代理使用LLM来确定要执行哪些操作以及按照什么顺序执行。操作可以使用工具并观察其输出也可以返回给用户。 代理相关基本概念 工具tools)执行特定任务的功能。可以是Google 搜索、数据库查找、Python REPL、其他链等。工具的接口目前是一个函数预计将有一个字符串作为输入一个字符串作为输出。大语言模型LLM为代理提供动力的语言模型。代理agents要使用的代理是引用支持代理类的字符串。 安装SerpAPI Python包pip install google-search-results 设置适当的环境变量import osos.environ[SERPAPI_API_KEY] … from langchain.agents import load_tools from langchain.agents import initialize_agent from langchain.agents import AgentType from langchain.llms import OpenAI# First, lets load the language model were going to use to control the agent. llm OpenAI(temperature0)# Next, lets load some tools to use. Note that the llm-math tool uses an LLM, so we need to pass that in. tools load_tools([serpapi, llm-math], llmllm)# Finally, lets initialize an agent with the tools, the language model, and the type of agent we want to use. agent initialize_agent(tools, llm, agentAgentType.ZERO_SHOT_REACT_DESCRIPTION, verboseTrue)# Now lets test it out! agent.run(What was the high temperature in SF yesterday in Fahrenheit? What is that number raised to the .023 power?) 记忆存储Memory 向链和代理添加状态 通常所有工具和代理都是无状态的。如果链或代理具有某种“内存”概念以便它可以记住关于其以前的交互的信息这样它就可以利用这些消息的上下文来进行更好的对话这是一种“短期记忆”。如果链条/代理随着时间的推移记住关键信息这将是一种形式的“长期记忆”。LangChain提供了链ConversationChain和两种不同类型的内存来完成操作。 默认情况下ConversationChain有个简单的内存类型它记住所有以前的输入/输出并将它们添加到传递的上下文中(设置verboseTrue可以看到提示符)。 from langchain import OpenAI, ConversationChain llm OpenAI(temperature0) conversation ConversationChain(llmllm, verboseTrue) output conversation.predict(inputHi there!) print(output)output conversation.predict(inputIm doing well! Just having a conversation with an AI.) print(output) 索引Indexes 索引是指构造文档的方法以便LLM可以最好地与它们交互。此模块包含用于处理文档的实用工具函数、不同类型的索引以及在链中使用这些索引的示例。在链中使用索引的最常见方式是“检索”步骤。接受用户的查询并返回最相关的文档。索引可以用于检索之外的其他事情检索可以使用索引之外的其他逻辑来查找相关文档。大多数时候谈论索引和检索时谈论的是索引和检索非结构化数据如文本文档。LangChain支持的主要索引和检索类型目前主要集中在向量数据库上。 文档加载器Document Loaders文档加载程序如何从各种源加载文档。 from langchain.document_loaders.csv_loader import CSVLoaderloader CSVLoader(file_path./example_data/mlb_teams_2012.csv) data loader.load() 文本分割器Text Splitters文字分割器关于分割文本的抽象和实现的概述。 from langchain.text_splitter import CharacterTextSplitter text_splitter CharacterTextSplitter( separator ,chunk_size 1000,chunk_overlap 200,length_function len, )texts text_splitter.create_documents([state_of_the_union]) 向量存储Vectorstores概述Vector Stores和LangChain提供的许多集成。 import os import getpassos.environ[OPENAI_API_KEY] getpass.getpass(OpenAI API Key:)from langchain.embeddings.openai import OpenAIEmbeddings from langchain.text_splitter import CharacterTextSplitter from langchain.vectorstores import Milvus from langchain.document_loaders import TextLoaderfrom langchain.document_loaders import TextLoader loader TextLoader(../../../state_of_the_union.txt) documents loader.load() text_splitter CharacterTextSplitter(chunk_size1000, chunk_overlap0) docs text_splitter.split_documents(documents)embeddings OpenAIEmbeddings()vector_db Milvus.from_documents(docs,embeddings,connection_args{host: 127.0.0.1, port: 19530}, )docs vector_db.similarity_search(query) 检索器Retrievers检索器概述和LangChain提供的实现。 from langchain.retrievers import ChatGPTPluginRetrieverretriever ChatGPTPluginRetriever(urlhttp://0.0.0.0:8000, bearer_tokenfoo) retriever.get_relevant_documents(alices phone number)