【星海出品】Langchain Prompt template

Management prompt words

We can use this program to face students from different families. But now this program cannot communicate in Chinese.

URL: https://platform.openai.com/account/api-keys

  • LLMs:

这是一个语言模型,It lets input words and return sentences.
input is a list of ChatMessage.
output is a single ChatMessage.

Object role

human message:ChatMessage 来自人类/用户。
AIMessage: ChatMessage 来自AI/助手。
SystemMessage: 来自系统的ChatMessage。

  • Prompt Template

provide a description for Language Model, Control the output for Language Model

How to use OpenAI

OpenAI

STEP 1

Enviroment

pip install langchain-openai
STEP 2

Method one
OpenAI-api

export OPENAI_API_KEY="your-api-key"from langchain_openai import ChatOpenAIllm = ChatOpenAI()

Method two

from langchain_openai import ChatOpenAIllm = ChatOpenAI(api_key="...")
STEP 3
llm.invoke("how can langsmith help with testing?")

one or two also support predict

predict(text: str, *, stop: Optional[Sequence[str]] = None, **kwargs: Any)str
llm.predict("hello!")
a = int(0)
try:from langchain_core.messages import HumanMessagea = '1'
except:try:from langchain.schema import HumanMessagea = '2'except:a = '3'
finally:print(a)
text = "what would be a good company name for a company that makes colorful socks?"
message = (HumanMessage(content=text))
llm.predict_messages("message")

We can also guide its response with a prompt template. Prompt templates convert raw user input to better input to the LLM.

from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([("system", "You are a world class technical documentation writer."),("user", "{input}")
])chain = prompt | llm 
chain.invoke({"input": "how can langsmith help with testing?"})

还可以添加输出解析器

from langchain_core.output_parsers import StrOutputParseroutput_parser = StrOutputParser()chain = prompt | llm | output_parserchain.invoke({"input": "how can langsmith help with testing?"})

We can now invoke it and ask the same question. The answer will now be a string (rather than a ChatMessage).

LangChain-ChatGLM:基于本地知识库的问答

langChain-ChatGLM git

ChatGLM-6B 简介
是一个开源模型,支持中英双语对话模型,基于 General Language Model(GLM)架构,具有62亿参数。
checkpoint,训练数据增加英文指令微调数据以平衡中英文数据比例

自我认知、提纲写作、文案写作、信息抽取

微调

针对预先训练的语言模型,在特定任务的少量数据集上对其进行进一步训练。
当任务或域定义明确,并且有足够的标记数据可供训练时,通常使用微调过程。

提示词工程

涉及设计自然语言 提示 或 指令,可以指导语言模型执行特定任务。
最适合需要 高精度 和 明确输出 的任务。提示工程可用于make引发所需输出的查询。

LangChain 简介

LangChain是一个用于开发语言模型驱动的应用程序的框架。

主要功能:
  • 调用语言模型
  • 将不同数据源接入到语言模型的交互中
  • 允许语言模型与运行环境交互
LangChain 中提供的模块
  • Modules:支持的模型类型和集成。
  • Prompt:提示词管理、优化和序列化。
  • Memory:内存是指在链/代理调用之间持续存在的状态。
  • Indexes:当语言模型与特定于应用程序的数据相结合时,会变得更加强大-此模块包含用于加载、查询和更新外部数据的接口和集成。
  • Chain:链是结构化的调用序列(对LLM或其他实用程序)
  • Agents: 代理是一个链,其中 LLM 在给定高级指令和一组工具的情况下,反复决定操作,执行操作并观察结果,直到高级指令完成。
  • Callbacks: 回调允许您纪录和流式传输任何链的中间步骤,从而轻松观察、调试和评估应用程序的内部。
LangChain 应用场景
  • 文档问答 : 在特定文档上回答问题,仅利用这些文档的信息来构建答案。
  • 个人助理 : LangChain 的主要用例之一。个人助理需要采取行动,记住交互,并了解您的数据。
  • 查询表格数据: 使用语言模型查询表类型结构化数据(CSV、SQL、DataFrame等)
  • 与API交互: 使用语言模型与API交互非常强大。它允许他们访问最新信息,并允许他们采取行动。
  • 信息提取:从文本中提取结构化信息。
  • 文档总结:压缩较长文档,一种数据增强生成。
用户输入

能够接入的数据类型。加工后的提问内容

PPT、图片、HTML、PDF等非结构文件并转换为文本信息。


自定义


from openai import OpenAI
client = OpenAI(api_key="xxx")assistant = client.beta.assistants.create(name="Math Tutor",instructions="You are a personal math tutor. Write and run code to answer math questions.",tools=[{"type": "code_interpreter"}],model="gpt-3.5-turbo-1106"
)import json
import osdef show_json(obj):print(json.loads(obj.model_dump_json()))show_json(assistant)# create threads
thread = client.beta.threads.create()
show_json(thread)# add content
message = client.beta.threads.messages.create(thread_id=thread.id,role="user",content="I need to solve the equation `3x + 11 = 14`. Can you help me?"
)
show_json(message)# run
run = client.beta.threads.runs.create(thread_id=thread.id,assistant_id=assistant.id,instructions="Please address the user as Andy. The user has a premium account."
)
show_json(run)import timedef wait_on_run(run, thread):while run.status == "queued" or run.status == "in_progress":run = client.beta.threads.runs.retrieve(thread_id=thread.id,run_id=run.id,)time.sleep(0.5)return runrun = wait_on_run(run, thread)
show_json(run)messages = client.beta.threads.messages.list(thread_id=thread.id)
show_json(messages)

参考文档:

https://sms-activate.org
https://zhuanlan.zhihu.com/p/608652730 #pytorch model
https://blog.csdn.net/Darlight/article/details/136620892

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

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

相关文章

Science:论文写不出来?这三个方法让你一天完成一篇论文

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 众所周知,干了学术研究这一行,论文就是你研究质量和数量的衡量标准,可以说,你的一切“输入”-读文献、做实验、分析数据&#x…

k8s之PV、PVC

文章目录 k8s之PV、PVC一、存储卷1、存储卷定义2、存储卷的作用2.1 数据持久化2.2 数据共享2.3 解耦2.4 灵活性 3、存储卷的分类3.1 emptyDir存储卷3.1.1 定义3.1.2 特点3.1.3 用途3.1.4 示例 3.2 hostPath存储卷3.2.1 定义3.2.2 特点3.2.3 用途3.2.4 示例 3.3 NFS存储卷3.3.1 …

【C语言】柔性数组

前言 你是否听说过柔性数组呢?如果没有的话,就一起了解一下吧。 (没有malloc free calloc realloc 四个函数的前置知识的朋友最好先阅读一下我的“动态内存管理”一文,因为下面会涉及到。) 介绍 C99中,…

python找出100~999之间的水仙花数字

水仙花数字:个位,十位,百位的立方之和等于这个数本身 例如:153 1^35^33^3 for i in range(100, 1000):bw i // 100sw i % 100 // 10gw i % 10if bw ** 3 sw ** 3 gw ** 3 i:print(i)

Chatgpt-4o:人工智能领域的革新与未来展望

随着科技的飞速发展,人工智能(AI)领域正经历着前所未有的变革。作为这一领域的佼佼者,OpenAI于2024年5月13日正式发布了其最新旗舰模型——Chatgpt-4o。这一模型不仅在技术上取得了重大突破,更在用户体验、应用场景以及…

【OS】AUTOSAR OS系统调用产生Trap的过程详解

目录 前言 正文 1.Os_Hal_Trap使用示例 2. Os_Hal_Trap的定义 3. syscall详解详解

LeetCode题练习与总结:路径总和Ⅱ--113

一、题目描述 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [5,4,8,11,null,13,4,7,2,null,null,5,1], target…

FreeRTOS同步互斥与通信

本章简介: 本章是概述性的内容。可以把多任务系统当做一个团队,里面的每一个任务就相当于团队里的一个人。团队成员之间要协调工作进度(同步)、争用会议室(互斥)、沟通(通信)。多任务系统中所涉及的概念,都可以在现实生活中找到例子。 各类RT…

Java大厂面试题第2季

一、本课程前提要求和说明 面试题1: 面试题2: 面试题3: 面试题4: 面试题5: 高频最多的常见笔试面试题目 ArrayList HashMap 底层是什么东东 JVM/GC 多线程与高并发 java集合类

【科研基础】证明积累

1-Bayesian Estimation (P317) Suppose that x = θ + ν w h e r e ν i s a n N ( 0 , σ ) random variable and θ is the value of a n N ( θ 0 , σ 0 ) random variable θ (Fig. 8-7). Find the bayesian estimate θ o f θ . \begin{align…

大学校园广播“录编播”与IP校园公共广播系统技术方案

一、项目概述 1、校园IP网络广播系统概述 大学校园广播系统是学校整个弱电系统中的子系统,它是每个学校不可缺少的基础设施之一,在传递校园文化、传播校园新闻资讯方面发挥着重要的作用。近几年来,虽然视频技术和网络技术在飞速发展&#xf…

操作系统的体系结构:宏内核和微内核

操作系统的体系结构是一个开放的问题。操作系统在核心态为应用程序提供公共的服务,那么操作系统在核心态应该提供什么服务、怎样提供服务?有关这个问题的回答形成了两种主要的体系结构:宏内核和微内核。 宏内核:大而全 宏内核系统…

2024蓝桥杯国赛C++研究生组游记+个人题解

Day0 开始复习,过了一遍大部分板子 本来打算再学一遍SAM,但是想到去年考了字符串大题今年应该不会再考了吧。。 过了一遍数据结构和图论,就1点了 两点的时候还没睡着,舍友打游戏好像打到2点过。。 Day1 相当困 第一题&…

word里面没有Acrobat选项

加载项被禁止,选择项里面,没有Acrobat选项 文件-》选项 加载项-》com加载项-》转到 添加Acrobat 出现Acrobat选项

[Qt]关于QListWidget、QScrollArea 为什么在QDesigner上设置了之后界面上仍然不生效的问题

前言 最近做了一些有关QListWidget和QScrollArea的控件,我去,这两个控件是真的坑,明明我在QDesigner的操作界面上对这两个控件的界面进行了修改,但是编译出来的软件就是看上去什么都没有,很坑,Gpt也没解决…

【linux】宝塔,首页挂载磁盘,显示使用情况

挂载前: 挂载后: 数据无价,建议:备份需要挂载的磁盘,或者使用新磁盘来进行操作。 1、下载自动挂载磁盘的脚本: wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh 2、给脚本添加执行权限&a…

Re0:从零开始的C++游戏开发 【下】

Re0:从零开始的C游戏开发 (下) 这是蒟蒻观看B站upVoidmatrix的课程从零开始的提瓦特幸存者的个人笔记【自用】 前言:采用适用于小白的easyx图形库。 第三集 提瓦特の幸存者(下) 3.1 用户界面实现和设计模式基础 3…

省级交通运输行政执法综合管理平台项目实施方案

背景 党的十八届四中全会提出全面推进依法治国的总目标和重大任务。全会通过的《中共中央关于全面推进依法治国若干重大问题的决定》,开启了中国法治建设的新时代,依法治国已经成为党领导人民治理国家的基本方略。 为了贯彻和落实《交通运输信息化“十三…

资深人士称:AI开发游戏会降低游戏成本和体验,不会降低就业率

易采游戏网6月1日最新消息:本周在TD Cowen会议上,R星的母公司Take-Two的CEO Strauss Zelnick对于人工智能(AI)是否会影响游戏开发行业表达了自己的看法。他坚定地认为,AI绝对会改变游戏的制作方式,但不会降低游戏行业的就业水平。…

Maven打包错误:无效的源发行版:17

1. 报错问题 在用maven进行打包时(clean & install),报如下错误: 一开始让我很摸不着头脑,我确定我的pom.xml,还有IDEA中的Project Settings是正确的。 2. 排查 尽管确定,但还是一个个排…