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

淄博网站建设招聘网站上的漂浮怎么做

淄博网站建设招聘,网站上的漂浮怎么做,江苏省招投标办法建设厅网站,中企动力做的网站被镜像目录 一、简介LangChain的主要价值支柱简单安装 二、 LangChain的主要模块1.Model I/Oprompt模版定义调用语言模型 2. 数据连接3. chains4. Agents5. MemoryCallbacks 三、其他记录多进程调用 主要参考以下开源文档 文档地址#xff1a;https://python.langchain.com/en/lates… 目录 一、简介LangChain的主要价值支柱简单安装 二、 LangChain的主要模块1.Model I/Oprompt模版定义调用语言模型 2. 数据连接3. chains4. Agents5. MemoryCallbacks 三、其他记录多进程调用 主要参考以下开源文档 文档地址https://python.langchain.com/en/latest/ 学习github:https://github.com/liaokongVFX/LangChain-Chinese-Getting-Started-Guide 一、简介 LangChain 是一个用于开发由语言模型驱动的应用程序的框架。主要有 2 个能力 可以将 LLM 模型与外部数据源进行连接允许与 LLM 模型进行交互 LangChain的主要价值支柱 组件用于处理语言模型的抽象以及每个抽象的实现集合。无论是否使用LangChain框架的其余部分组件都是模块化的易于使用。 现成的链用于完成特定更高级别任务的组件的结构化组装可以理解为一个个任务。 简单安装 pip install langchain二、 LangChain的主要模块 1.Model I/O 提供了丰富的语言模型的借口供用户调用 这里主要记录一波我觉得比较有用的几个点 prompt模版定义 这个适用于批量处理某些问题我可以定义一个模版然后替换中间的某些内容喂入llm即可 from langchain import PromptTemplatetemplate 你好请你回答下面的问题{question}? prompt PromptTemplate.from_template(template) prompt.format(productquestion)有时候对于一个模版我们可能需要传递多个参数。那么可以用下面的操作 template 我会给你一些例子如下 {example}, 请你参考上面的例子回答下面的问题{question}?prompt PromptTemplate(input_variables[example, question], templatetemplate ) parm{example: xxxx, question:qqqqqq} prompt.format(**parm)调用语言模型 这里有两种类别一种是llm仅以单个文本为输入另一种是chat model以文本列表为输入。 llm调用openai的模型需要key这里需要点科技自己去openai官网申请下 import os from langchain.llms import OpenAI os.environ[OPENAI_API_KEY] 你的api keyllm OpenAI(model_nametext-davinci-003, max_tokens1024) result llm(你是谁)chat model调用 from langchain.chat_models import ChatOpenAI from langchain.schema import (AIMessage,HumanMessage,SystemMessage ) chat ChatOpenAI(openai_api_key...) result chat([HumanMessage(content你是谁)])2. 数据连接 提供了特定数据的接口包括文档加载文档处理词嵌入等类可以很方便处理输入。类似的构建基于知识库的聊天模型或者处理超长文本输入时用这个就很方便。 这里记录一个处理超长文本输入的例子首先使用document_loaders加载文本。如果想要用openai api输入一个超长的文本并进行返回一旦文本超过了 api 最大的 token 限制就会报错。一个解决办法是使用text_splitter对输入进行分段比如通过 tiktoken 计算并分割然后将各段发送给 api 进行总结最后将各段的总结再进行一个全部的总结。 from langchain.document_loaders import UnstructuredFileLoader from langchain.chains.summarize import load_summarize_chain from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain import OpenAI# 导入文本 loader UnstructuredFileLoader(test.txt) # 将文本转成 Document 对象 document loader.load() print(fdocuments:{len(document)})# 初始化文本分割器 text_splitter RecursiveCharacterTextSplitter(chunk_size 500,chunk_overlap 0 )# 切分文本 split_documents text_splitter.split_documents(document) print(fdocuments:{len(split_documents)})# 加载 llm 模型 llm OpenAI(model_nametext-davinci-003, max_tokens1500)# 创建总结链 chain load_summarize_chain(llm, chain_typerefine, verboseTrue)# 执行总结链 chain.run(split_documents)3. chains 结构化调用序列虽然说单独地使用LLM对于简单的应用程序来说很方便但有时候我们可能需要使用不同的LLM这时候使用chain来管理就很方便了。LangChain为此类“链式”应用程序提供了Chain接口。 from langchain.llms import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChainllm OpenAI(temperature0.95) prompt PromptTemplate(input_variables[question],template回答下面问题 {question}?, ) chain LLMChain(llmllm, promptprompt) print(chain.run(11?))4. Agents 让链根据给定的高级指令选择使用哪些工具这里我没怎么用过到时候用到就看文档吧 5. Memory 在链运行之间保留应用程序状态 这里典型的应用就是聊天模型我们需要记忆以往的聊天内容用这个就比较方便了 from langchain.llms import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain from langchain.memory import ConversationBufferMemoryllm OpenAI(temperature0.95) template 你是我的聊天机器人让我们聊天吧。 历史对话内容如下: {chat_history}那现在新的问题如下: {question} 请你回复进行prompt PromptTemplate.from_template(template) memory ConversationBufferMemory(memory_keychat_history) conversation LLMChain(llmllm,promptprompt,verboseTrue,memorymemory ) conversation({question: 你好})做个for循环重复调用即可 Callbacks 记录并流式传输任何链的中间步骤这个回调系统允许我们挂接在LLM应用程序的各个阶段。这对于日志记录、监视、流式传输和其他任务非常有用。 三、其他记录 多进程调用 如果有一大批数据需要预测可以使用python的多进程调用 import os import openai from langchain.prompts import ChatPromptTemplate from langchain.chat_models import ChatOpenAI # 运行此API配置需要将目录中的.env中api_key替换为自己的 from dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv()) # read local .env file openai.api_key os.environ[OPENAI_API_KEY]from concurrent.futures import ProcessPoolExecutor, as_completed import time import collections# 这里我们将参数temperature设置为0.0从而减少生成答案的随机性。 # 如果你想要每次得到不一样的有新意的答案可以尝试调整该参数。 # 以下的对话均无记忆即每次调用预测不会记得之前的对话。想要有记忆功能请看下一节的langchain的Memory模块 chat ChatOpenAI(temperature0, model_namegpt-3.5-turbo)print(chat)# 定义预测函数 def predict(params):query, input paramsres chat(input)res res.contentreturn query, res# def predict(prompt): # return promptdef main():start_time time.time()# 多进程并行预测# 您可能需要根据自己的需求调整间隔时间。另外您可以根据需要调整进程池的大小以获得更好的性能。template_string 请回答下面的问题{query}input_data [11等于几啊, 22等于几啊, 33等于几啊, 44等于几啊]prompt_template ChatPromptTemplate.from_template(template_string)from langchain.schema import HumanMessage, SystemMessagesystem_msg SystemMessage(content你是一个数学家。)print(system_msg)# output_data collections.defaultdict(int)with ProcessPoolExecutor(max_workers2) as executor:# 异步调用多进程并发执行futures []for query in input_data:prompt prompt_template.format_messages(queryquery)job executor.submit(predict, (query, [system_msg]prompt))futures.append(job)# 因为异步等待结果返回的顺序是不定的所以记录一下进程和输入数据的对应query2res collections.defaultdict(int) # 异步等待结果返回顺序和原数据顺序可能不一致 直接predict函数里返回结果for job in as_completed(futures):query, res job.result(timeoutNone) # 默认timeoutNone不限时间等待结果query2res[query] restime.sleep(1) # 为了避免超过OpenAI API的速率限制每次预测之间间隔1秒end_time time.time()total_run_time round(end_time-start_time, 3)print(Total_run_time: {} s.format(total_run_time))print(query2res)# 保存结果import pandas as pddf pd.DataFrame({query: list(query2res.keys()), infer_result: list(query2res.values())})df.to_excel(./chatgpt_infer_result.xlsx, indexFalse)
http://www.sczhlp.com/news/179589/

相关文章:

  • 做网站程序先从哪一步开始做网站需要写代码
  • 铭万做的网站如何做好网站推
  • 什么是网站开发公司推荐一些高清1080p的浏览器
  • 找别人做网站多少钱网站界面设计用户体验
  • 网站制作公司中企动力推荐告状书放网站上怎么做
  • 怎么用python做网站36kr是用wordpress吗
  • 模具配件东莞网站建设技术支持聊城企业网站建设费用
  • 番禺商城网站建设网站优化内容原创
  • 各大城市网站哪里做织梦设置中英文网站
  • 移动wap站点网站建设要注意哪些问题
  • 自动评估问答模型的技术突破
  • 《可复制的领导力》
  • 经营分析会 - 智慧园区
  • 德州网站建设招聘经常访问的网站来打不开
  • flashfxp上传了网站网站平台建设框架
  • 扁平结构的网站公司网站域名和空间
  • 网站绝对路径301asp.net微信网站
  • 如何规划建设一个企业网站谷歌广告开户
  • 免费的视频网站推广软件巫山网站制作
  • 个人网站建设月租抵30元定制工作服
  • 如何创建网站后台标准的网络推广计划书的目录
  • 北京朝阳网站设计怎么在网站添加paypal
  • 兰州网站seo哪家公司好广州建外贸网站公司
  • 惠州营销网站制作网站开发前后端技术
  • 公司网站建设费用会计科目wordpress sharethis
  • 做ui设计工资一般多少998元网站建设优化
  • 网站怎么宣传免费网站开发平台
  • 如何开网站郑州企业网站价格
  • 网络销售有限公司汕头seo按天付费
  • 企业密信app下载安装揭阳百度快照优化排名