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

网站 通管局 报备网站建设免费建站免费源代码

网站 通管局 报备,网站建设免费建站免费源代码,台州网站策划台州网站策划,360全景图制作前序 之前了解了Models#xff0c;Prompt#xff0c;但有些资料又把这块与输出合称为模型输入输出#xff08;Model I/O#xff09;‌#xff1a;这是与各种大语言模型进行交互的基本组件。它允许开发者管理提示#xff08;prompt#xff09;#xff0c;通过通用接口调…前序 之前了解了ModelsPrompt但有些资料又把这块与输出合称为模型输入输出Model I/O‌这是与各种大语言模型进行交互的基本组件。它允许开发者管理提示prompt通过通用接口调用语言模型并从模型输出中提取信息。简单来说这个组件负责与大语言模型“对话”将请求传递给模型并接收回复‌。 这篇文章就补充一下这个Ooutput的内容。 输出解释器 Output Parsers输出解析器是langchain中提供给我们对模型响应内容进行格式化输出的。LLM的输出为文本但在程序中除了显示文本如果希望获得更多不同的结构化数据时就可以使用langchain提供的输出解析器Output Parsers来完成了。输出解析器Output Parsers实际上就是结构化语言模型提供的响应处理工具类其提供了如下两个方法给开发者使用也是这些响应类必须实现的两个方法 get_format_instructions() - str 返回一个包含语言模型如何格式化输出的指令字符串。 invoke()- Any接受一个结构化言模型的响应对象并将其解析为指定格式 Str输出解析器 import os from langchain_deepseek import ChatDeepSeek from langchain.prompts import PromptTemplate# 初始化模型 os.environ[DEEPSEEK_API_KEY] sk-e2xxx chat_model ChatDeepSeek(modeldeepseek-chat,temperature0.4,max_tokensNone,timeoutNone,max_retries2,)# 创建提示模板 prompt_template PromptTemplate(input_variables[context],template基于给定的文案以幽默诙谐的风格生成一段回答文本{context}, )# 使用模型生成文本 context 成都今天出太阳了天气真好我们翘班出去玩吧。 prompt prompt_template.format(contextcontext) result chat_model.invoke(prompt) print(result) 回答内容很长但是我们需要的只有content那串。引入StrOutputParser把返回的结果经过解析就只有文本结果内容了 ... from langchain_core.output_parsers import StrOutputParser res StrOutputParser().invoke(inputresult) print(res)List输出解析器 import os from langchain_deepseek import ChatDeepSeek# 初始化模型 os.environ[DEEPSEEK_API_KEY] sk-e24324xxx chat_model ChatDeepSeek(modeldeepseek-chat,temperature0.4,max_tokensNone,timeoutNone,max_retries2,) from langchain_core.output_parsers import CommaSeparatedListOutputParser from langchain_core.prompts import PromptTemplateparser CommaSeparatedListOutputParser()prompt PromptTemplate.from_template(template请列出5个{item}的不同叫法.\n{format_instructions}\n,partial_variables{format_instructions: parser.get_format_instructions()}, )messages prompt.invoke({item: 土豆}) print(messages)result chat_model.invoke(messages) res parser.invoke(result) print(res) text请列出5个土豆的不同叫法.\nYour response should be a list of comma separated values, eg: foo, bar, baz or foo,bar,baz\n [马铃薯, 洋芋, 土豆, 薯仔, 地蛋]Json输出解释器 其他内容大差不差把 CommaSeparatedListOutputParser换成JsonOutputParser就行 from pydantic import BaseModel, Field from langchain_core.output_parsers import JsonOutputParser from langchain_core.prompts import PromptTemplateclass JsonParser(BaseModel):question: str Field(description问题)answer: str Field(description答案)parser JsonOutputParser(pydantic_objectJsonParser)prompt PromptTemplate(template回答问题.\n{format_instructions}\n{query}\n,input_variables[query],partial_variables{format_instructions: parser.get_format_instructions()}, )# print(parser.get_format_instructions())messages prompt.invoke({query: 讲一个脑筋急转弯的问题和答案。}) response chat_model.invoke(messages) content parser.invoke(response) print(content) {question: 什么东西越洗越脏, answer: 水}stream输出解析器 如果输出内容很长一直等处理完才返回结果也不大好比如我们正常使用在线大模型它都是几个字几个字往外吐的不是最后直接给答案。 这里就需要用到stream输出解析器 import os from langchain_deepseek import ChatDeepSeek# 初始化模型 os.environ[DEEPSEEK_API_KEY] sk-e24xxx chat_model ChatDeepSeek(modeldeepseek-chat,temperature0.4,max_tokensNone,timeoutNone,max_retries2,)from langchain_ollama.llms import OllamaLLM from langchain_core.prompts import PromptTemplateprompt_template PromptTemplate.from_template(你是一名名经验丰富的{role}{ability}{prompt}) messages prompt_template.invoke({role: 修仙小说作家, ability: 熟悉各种神话传说和修仙小说,prompt: 请你写一部与牧神记类似的小说要求全书至少600章每一章字数在8000字以上剧情紧凑各个角色的个性分明}) print(messages)for chunk in chat_model.stream(messages):print(chunk, end, flushTrue)或者这样不好看也可以用上面的字符串输出解释器来处理一下输出内容 from langchain_core.output_parsers import StrOutputParser# 修改一下输出这里 for chunk in chat_model.stream(messages):print(StrOutputParser().invoke(chunk), end, flushTrue)到这里就就开始慢慢帮我们写小说了。 Cache 如果每次问同样的都调用大模型推理那么会比较耗可以把问题和答案记录下来以后遇到同样的问题则不必再使用大模型推理。 基于langchain提供的输出缓存让LLM在遇到同一prompt时直接调用缓存中的结果也可以达到加速的效果。 # -*- coding: utf-8 -*- # Author : John # Time : 2025/02/27 # File : langchain_cache.pyimport time import redis from langchain_openai import ChatOpenAI from langchain_core.prompts import PromptTemplate # from langchain_community.cache import InMemoryCache # 把输出缓存到内存中 from langchain_community.cache import RedisCache # 把输出缓存到Redis数据库中 from langchain.globals import set_llm_cacheimport os from langchain_deepseek import ChatDeepSeek# 初始化模型 os.environ[DEEPSEEK_API_KEY] sk-e243xxxf chat_model ChatDeepSeek(modeldeepseek-chat,temperature0.4, # temperature 温度值数值越趋向0回答越谨慎数值越趋向1回答则越脑洞大开主要控制大模型输出的创造力max_tokensNone,timeoutNone,max_retries2,)prompt_template PromptTemplate.from_template(你是一个产品顾问。请给公司刚生产出来的 {production}取一个好听的名字和广告语。) messages prompt_template.invoke({production: 充电宝})# 开启缓存 redis redis.Redis(localhost, port6379, passwordqwe123, db2) set_llm_cache(RedisCache(redis))timers [] for _ in range(5):t1 time.time()response chat_model.invoke(messages)t2 time.time()print(t2 - t1, response)timers.append(t2 - t1)print(timers) 可以看到输出结果都是一致的。只有第一次真正请求了deepseek花了65s获得了结果后面都是第一次结果保存到redis从redis获取的。
http://www.dnsts.com.cn/news/257185.html

相关文章:

  • 免费个人网站自助建设百度收录工具
  • 网站详情页链接怎么做深圳航空公司订票电话
  • 常用的网站建设程序有那些wordpress poetry
  • 古典网站织梦模板互联网创业有哪些项目
  • 赣州深科网站建设抖音seo排名优化公司
  • 那间公司做网站好无锡网站制作公司
  • 优质服务的网站设计制作百度搜索网站排名
  • 创业公司做网站英文网站建设优化
  • 服装公司网站接推广任务的平台
  • 网站发送邮件功能专门做奢侈品的网站有哪些
  • 做外贸需掌握的网站烟台企业展厅设计
  • 贝贝网网站开发背景重庆网站建设总结
  • 辽宁建设工程信息网中标公示几天中国seo公司
  • 深圳网站seo外包公司哪家好网站第一关键词怎么做
  • 德州网站开发人员广企网站建设
  • 内网建站教程seo的优点有哪些
  • 网站建设学多久济宁建设网站首页
  • 如何为网站做推广什么文案容易上热门
  • 北京网站建设华网用户体验设计的重要性
  • 农业网站电子商务平台建设方案申请网站域名怎么做
  • 随州北京网站建设好的公司网站有什么用
  • 做网站有什么平台什么网站可以做推广
  • 山西电商网站开发深圳注册公司代理机构
  • 自己做网站制作需要多少钱长宁区网站建设设计
  • 做项目挣钱的网站湖南省网站备案
  • 商务定制网站wordpress用户名忘记密码
  • 论坛网站开发外文文献榆林做网站电话
  • 厦门网站建设哪家好九江市建设局网站
  • seo推广有哪些方式免插件优化wordpress
  • 网站建设全包设计网站建设案例精英