读取数据
1 | import cv2 |
1 | import matplotlib.pyplot as plt |
1 | name_list = os.listdir('data/person_data/') |
['baijingting', 'jiangwen', 'pengyuyan', 'zhangziyi', 'zhaoliying']
1 | import cv2 |
1 | import matplotlib.pyplot as plt |
1 | name_list = os.listdir('data/person_data/') |
['baijingting', 'jiangwen', 'pengyuyan', 'zhangziyi', 'zhaoliying']
1 | from ChatModel import OllamaChat |
文本扩展是大语言模型的一个重要应用方向,它可以输入简短文本,生成更加丰富的长文。这为创作提供了强大支持,但也可能被滥用。因此开发者在使用时,必须谨记社会责任,避免生成有害内容。
在本章中,我们将学习基于LLM实现一个客户邮件自动生成的示例,用于根据客户反馈优化客服邮件。这里还会介绍“温度”(temperature)这一超参数,它可以控制文本生成的多样性。
需要注意,扩展功能只应用来辅助人类创作,而非大规模自动生成内容。开发者应审慎使用,避免产生负面影响。只有以负责任和有益的方式应用语言模型,才能发挥其最大价值。相信践行社会责任的开发者可以利用语言模型的扩展功能,开发出真正造福人类的创新应用。
1 | from ChatModel import OllamaChat |
设计高效 Prompt 的两个关键原则:
首先,Prompt 需要清晰明确地表达需求,提供充足上下文,使语言模型准确理解我们的意图,就像向一个外星人详细解释人类世界一样。过于简略的 Prompt 往往使模型难以把握所要完成的具体任务。
其次,让语言模型有充足时间推理也极为关键。就像人类解题一样,匆忙得出的结论多有失误。因此Prompt 应加入逐步推理的要求,给模型留出充分思考时间,这样生成的结果才更准确可靠。
如果 Prompt 在这两点上都作了优化,语言模型就能够尽可能发挥潜力,完成复杂的推理和生成任务。掌握这些 Prompt 设计原则,是开发者取得语言模型应用成功的重要一步。
1 | from ChatModel import OllamaChat |
1 | chat_model = OllamaChat(url="http://localhost:6006/api/chat", model_name='qwen:32b') |
1 | prompt = """ |
Prompt
即提示词,很多人可能对提示词会有点陌生,从表面上看提示词就像是普通的文本输入,但如果我们把AI
想象成一个具有各种超能力的魔法伙伴,那么你输入的文本就是魔法咒语,让这个伙伴帮你完成各种不可思议的床走。
过去,人们通常是通过命令或者输入特定的指令来与AI进行交互。但是,随着自然语言处理和计算机视觉等技术的发展,人们可以更加自然地与AI
进行交互,这意味着人与AI
之间的交互方式正在发生一场深刻的变革。
这种新的交互方式的核心是将AI
看作一个与人类相似的能够理解自然语言并且回应的实体,而不是一个简单的程序或者工具,人们能够像与人类交流一样与AI
进行交互。这种交互方式会让人与AI
的关系更加亲密,更加自然,更加有趣。基于自然语言的交互方式(即LUI
)正是这种新范式的一个关键组成部分。通过自然语言处理技术,人们可以使用自己熟悉的语言与AI
进行交流,而不需要特定的命令或者语法规则。这种交互方式可以使得人与AI
的交流更加直观、自然、易懂,也可以提高人与AI
之间的交互效率和效果。
ChatGLM4
是一个基于 GLM-4
语言模型的人工智能助手,由智谱清言开发,并开放给用户免费使用。它拥有 GLM-4
模型的强大能力,并且针对对话场景进行了优化。ChatGLM4
能够理解用户的问题和要求,并提供适当的答复和支持。
ChatGLM4
拥有多模态的能力,能够执行代码、浏览网络、生成图片等,这使得它在多种场景下都能够提供帮助。同时,ChatGLM4
支持用户自定义,用户可以根据自己的需求,定义属于自己的智能体。
在本地环境变量中加载ChatGLM4.0 API
1 | import os |
Selenium
是一个自动化测试工具,它支持各种浏览器和平台。由于它能够模拟用户的浏览器操作,因此也被广泛用于网络爬虫领域,尤其是那些需要执行JavaScript
、处理复杂交互或模拟用户行为的场景。
尽管使用Selenium
在网络爬虫方面有很多优势,但是要想使用Selenium
去驱动浏览器操作,还必须要使用相应浏览器的驱动程序,例如:以Chrome
浏览器为例,要想使用Selenium
去操作Chrome
浏览器,除了要下载浏览器之外,还需要准备相适应的ChromeDriver
驱动软件。
这个时候就会出现一个问题,由于电脑的Chrome
会一直进行自动更新,而ChromeDriver
驱动软件是自己额外下载的,它不会随着浏览器的升级而升级,所以这个时候就会导致Chrome
和ChromeDriver
之间不适配,从而导致Selenium
无法驱动Chrome
,并且ChromeDriver
更新的速度远远跟不上Chrome
更新的速度。这个问题一直都困扰着很多的网络爬虫工作者和初学者。
基于此,本博文提出了一种一劳永逸的配置方法,使得在使用Selenium
不用被Chrome
自动更新带来的版本问题所困扰。
解决问题的方式,使用Chrome
开发者版本Chromium
去替代自带的Chrome
浏览器。