问题预览/关键词
- 课程地址
- 如何获取openAI的API Key
- 如何根据日期设置不同模型?
- 如何调用OpenAI的API?
- 如何使用OpenAI的API?
- langchain如何抽象OpenAI的API接口?
- langchain如何创建提示词模板并查看模板内容?
- langchain如何使用提示词模板生成提示词?如何查看生成的提示?
- langchain如何向LLM输入提示?
- 如何更改提示词模板的用户输入?
- LLM输出的内容原本格式是什么?
- langchain如何指定LLM响应内容的格式?
- langchain如何生成指定格式的提示词?
- 如何解析LLM输出字符串成Python字典
笔记
1.课程地址
线上地址:https://learn.deeplearning.ai/courses/langchain/lesson/2/models%2C-prompts-and-parsers
2.获取OpenAI API KEY
在线可以免费使用KEY,本地需要给自己的API充值。
3.根据日期调整模型
2024年6月12日之后使用gpt-3.5-turbo模型。此前则一直用gpt-3.5-turbo-0301模型。
4.调用OpenAI API的函数
自定义函数get_completion,参数1设置提示词,参数2设置模型,向LLM请求响应并返回响应结果。
5.使用openAI的API
-
向大模型提问,1+1等于几。
-
提示设置两个输入:具体内容和内容风格。
6.langchain抽象化OpenAI API
ChatOpenAI(),参数1设置值越大,输出内容越随机。参数2,指定模型。抽象成对象chat。
7.langchain创建提示词模板
- from_template(),可以重复使用提示词,只需设置不同的用户输入。
- 查看提示词模板和用户输入
8.langchain使用提示词模板生成提示词,查看提示
from_template()返回值调用format_messages(),参数为用户输入。
- 查看提示词和提示词类型
对format_messages()返回值使用type(),返回值索引[0]查看提示词。
9.langchain向LLM写提示
调用ChatOpenAI实例化对象,传入format_messages()生成的提示词,获取大模型响应并打印。
10.修改提示词模板的用户输入
重新设置字符串,传入format_message()。
11.LLM输出内容解析为Python字典
表现形式虽然为json,实际内容是字符串,最后的错误表示无法用字典操作,证明了这一点。
12.LLM的响应模式
指定LLM的响应格式,我们想让LLM输出的内容是什么格式。
13.指定格式的提示词
- 创建解析器from_response_schemas,解析器调用get_format_instructions()生成提示词。
- 生成完整提示词
- 请求大模型响应
14.解析器解析LLM的输出
通过解析器解析响应,获得我们指定的格式
总结
直接使用openAI的API接口比较复杂,使用langchain框架比较简单。可以通过langchain生成提示词模板,然后用模板生成提示。如果想让LLM输出的格式不是字符串而是我们指定的格式,我们需要先设置好格式,然后用解析器生成可以让LLM响应的内容是此格式的提示,最终构建完整的提示词,然后用解析器解析LLM响应,就可以得到符合我们指定格式的内容。