From ea1f6806453695ea08ee4609da0eddb1804c9d4a Mon Sep 17 00:00:00 2001 From: gokjava <51187565+gokjava@users.noreply.github.com> Date: Thu, 18 Jan 2024 11:14:03 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=9B=A0=E7=89=88=E6=9C=AC=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E6=8C=87=E5=AE=9AOpenAi=E7=9A=84=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 某些版本 model_name 默认为 gpt-3.5-turbo-instruct,导致一些黑魔法失效 --- langchain/jupyter/model_io/output_parser.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langchain/jupyter/model_io/output_parser.ipynb b/langchain/jupyter/model_io/output_parser.ipynb index 89bd0a3e..1e375416 100644 --- a/langchain/jupyter/model_io/output_parser.ipynb +++ b/langchain/jupyter/model_io/output_parser.ipynb @@ -165,7 +165,7 @@ "metadata": {}, "outputs": [], "source": [ - "llm = OpenAI(temperature=0)" + "llm = OpenAI(temperature=0,model_name="gpt-3.5-turbo")" ] }, { From 7bacc7e5ef04b9f24012813bb9a5d2b2d8246377 Mon Sep 17 00:00:00 2001 From: gokjava <51187565+gokjava@users.noreply.github.com> Date: Thu, 18 Jan 2024 11:15:32 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修改模板 --- langchain/jupyter/model_io/output_parser.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/langchain/jupyter/model_io/output_parser.ipynb b/langchain/jupyter/model_io/output_parser.ipynb index 1e375416..481b8d1b 100644 --- a/langchain/jupyter/model_io/output_parser.ipynb +++ b/langchain/jupyter/model_io/output_parser.ipynb @@ -165,7 +165,7 @@ "metadata": {}, "outputs": [], "source": [ - "llm = OpenAI(temperature=0,model_name="gpt-3.5-turbo")" + "llm = OpenAI(temperature=0,model_name='gpt-3.5-turbo')" ] }, { From 4b3fa32854af5223e73127f3a76d4a0384acad7e Mon Sep 17 00:00:00 2001 From: gokjava <51187565+gokjava@users.noreply.github.com> Date: Tue, 6 Feb 2024 16:55:34 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=89=8B=E6=9C=BA?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E9=94=80=E5=94=AEQA=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mobile_real_state_sales_data.txt | 128 ++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 langchain/sales_chatbot/mobile_real_state_sales_data.txt diff --git a/langchain/sales_chatbot/mobile_real_state_sales_data.txt b/langchain/sales_chatbot/mobile_real_state_sales_data.txt new file mode 100644 index 00000000..f6ae7440 --- /dev/null +++ b/langchain/sales_chatbot/mobile_real_state_sales_data.txt @@ -0,0 +1,128 @@ +[手机客户问题] 这款手机的电池续航怎么样? +[手机销售回答] 这款手机配备了一块4000mAh的大容量电池,能够支持长达24小时的通话时间或者48小时的音乐播放,非常适合长时间使用不便充电的用户。 + +[手机客户问题] 这手机支持快充吗? +[手机销售回答] 是的,这款手机支持快速充电技术,只需30分钟即可充电50%,大大缩短了充电时间。 + +[手机客户问题] 我买这手机能享受多久的保修期? +[手机销售回答] 所有我们销售的手机都享有两年的制造商保修期,覆盖任何非人为损坏的问题。 + +[手机客户问题] 这款手机的摄像头像素是多少? +[手机销售回答] 这款手机后置主摄像头为4800万像素,支持夜间模式拍照,确保您在低光环境下也能拍出清晰的照片。 + +[手机客户问题] 我可以在这款手机上使用两个SIM卡吗? +[手机销售回答] 当然,这款手机支持双SIM卡功能,让您能够同时使用两个不同的网络服务,非常适合经常出差或需要分开私人和工作电话的用户。 + +[手机客户问题] 这款手机有哪些颜色可以选择? +[手机销售回答] 这款手机提供多种颜色选项,包括经典黑色、银色、蓝色和粉色,您可以根据个人喜好选择。 + +[手机客户问题] 这款手机的屏幕尺寸是多少? +[手机销售回答] 这款手机的屏幕尺寸为6.5英寸,提供1080p的全高清分辨率,无论是看电影还是玩游戏都能提供优质的视觉体验。 + +[手机客户问题] 我在使用这款手机时应该如何节省电池? +[手机销售回答] 要延长电池寿命,建议降低屏幕亮度,关闭不使用的应用和服务如蓝牙和GPS,以及启用电池节省模式。 + +[手机客户问题] 这款手机的处理器是什么? +[手机销售回答] 这款手机搭载了最新的Snapdragon 888处理器,提供强大的性能和高效的能耗比,无论是日常使用还是高强度游戏都能流畅运行。 + +[手机客户问题] 我如果现在购买,可以获得什么样的优惠? +[手机销售回答] 目前我们有购机赠品活动,购买这款手机即可获得一副高品质蓝牙耳机和手机保护壳,为您的新手机提供全面的保护。 + +[手机客户问题] 这款手机支持5G网络吗? +[手机销售回答] 是的,这款手机支持5G网络,提供更快的下载和上传速度,确保您享受到最新的网络技术。 + +[手机客户问题] 我可以在这款手机上安装最新的操作系统吗? +[手机销售回答] 当然,这款手机支持最新版本的操作系统,并且未来还会收到操作系统的更新,以确保您能够享受到最新的功能和安全性改进。 + +[手机客户问题] 这款手机的内存和存储空间是多少? +[手机销售回答] 这款手机配备了8GB的运行内存和128GB的存储空间,足以满足您的日常使用需求,同时还支持通过外置SD卡扩展存储空间。 + +[手机客户问题] 这款手机是否有防水功能? +[手机销售回答] 是的,这款手机具有IP68级别的防水防尘功能,可以在一定程度上抵抗水和尘土的侵袭,非常适合户外使用。 + +[手机客户问题] 如果我不喜欢这款手机,可以退货吗? +[手机销售回答] 我们提供30天无理由退货服务,只要手机没有人为损坏,您可以在购买后30天内无条件退货。 + +[手机客户问题] 这款手机支持无线充电吗? +[手机销售回答] 是的,这款手机支持无线充电功能,为您提供更加便捷的充电方式。 + +[手机客户问题] 我如何设置这款手机的面部解锁功能? +[手机销售回答] 您可以在设置菜单中找到面部解锁功能,按照指示注册您的面部信息,设置完成后就可以使用面部解锁快速安全地解锁手机了。 + +[手机客户问题] 这款手机的屏幕采用了什么材质? +[手机销售回答] 这款手机的屏幕采用了最新的Gorilla Glass材质,具有极高的耐刮擦和抗冲击能力,保护屏幕不易受损。 + +[手机客户问题] 我可以在这款手机上使用双应用账号吗? +[手机销售回答] 是的,这款手机支持双应用功能,让您可以在同一台设备上使用两个相同应用的不同账号,非常适合需要分开工作和私人账号的用户。 + +[手机客户问题] 这款手机的前置摄像头像素是多少? +[手机销售回答] 这款手机的前置摄像头为3200万像素,支持美颜和人像模式,无论是自拍还是视频通话都能提供清晰的图像质量。 + +[手机客户问题] 这款手机的视频拍摄功能有什么特色? +[手机销售回答] 这款手机支持4K视频拍摄,并且具有超级防抖功能,即使在移动中也能拍摄出平稳清晰的视频,非常适合拍摄高质量的家庭视频和旅行记录。 + +[手机客户问题] 我如何在这款手机上进行屏幕截图? +[手机销售回答] 您可以同时按下电源键和音量减小键进行屏幕截图,或者使用手机提供的快捷手势,如三指下滑,来快速截取屏幕内容。 + +[手机客户问题] 这款手机支持哪些支付方式? +[手机销售回答] 这款手机支持NFC支付,包括但不限于Apple Pay、Google Pay等,让您能够便捷地进行无接触支付。 + +[手机客户问题] 这款手机的声音质量如何? +[手机销售回答] 这款手机配备了立体声扬声器,支持杜比全景声技术,无论是听音乐、看电影还是玩游戏,都能提供沉浸式的听觉体验。 + +[手机客户问题] 我可以在这款手机上设置应用锁吗? +[手机销售回答] 是的,您可以在设置中找到应用锁功能,为您的私人应用设置密码或生物识别锁,增强应用的安全性。 + +[手机客户问题] 这款手机的屏幕刷新率是多少? +[手机销售回答] 这款手机的屏幕刷新率高达120Hz,能够提供非常流畅的滚动和动画效果,特别适合游戏玩家和追求流畅视觉体验的用户。 + +[手机客户问题] 我的手机丢了,我该怎么办? +[手机销售回答] 如果您的手机丢失,您可以使用“查找我的手机”功能远程定位、锁定或擦除您的手机数据,以保护个人信息安全。 + +[手机客户问题] 这款手机的外壳材质是什么? +[手机销售回答] 这款手机使用了航空级铝合金框架和后盖,提供了良好的耐磨性和抗冲击能力,同时保持了轻薄的设计。 + +[手机客户问题] 这款手机有哪些安全功能? +[手机销售回答] 除了传统的PIN码、图案和指纹解锁外,这款手机还支持面部识别技术,提供了多重安全保护措施来保护您的隐私和数据安全。 + +[手机客户问题] 我可以在这款手机上编辑文档吗? +[手机销售回答] 是的,这款手机支持各种办公应用程序,如Microsoft Office和Google Docs,您可以轻松编辑文档、表格和演示文稿,非常适合商务人士使用。 + +[手机客户问题] 这款手机的充电端口是什么类型? +[手机销售回答] 这款手机使用USB Type-C充电端口,提供了快速充电和数据传输功能,同时也支持反向充电,可以为其他设备充电。 + +[手机客户问题] 我可以自定义这款手机的主题和图标吗? +[手机销售回答] 当然可以,这款手机提供了丰富的主题和图标包,您可以根据自己的喜好自定义手机的外观,包括壁纸、图标样式和系统色彩等,让您的手机更加个性化。 + +[手机客户问题] 这款手机的夜间模式效果如何? +[手机销售回答] 这款手机的夜间模式通过降低屏幕亮度和调整色温来减少蓝光的发射,保护您的眼睛,非常适合夜间阅读或使用手机。 + +[手机客户问题] 我如何在这款手机上恢复出厂设置? +[手机销售回答] 您可以进入设置菜单,选择系统管理或备份与重置选项,然后选择恢复出厂设置。请注意备份重要数据,因为此操作会清除手机上的所有数据。 + +[手机客户问题] 这款手机支持边缘触控吗? +[手机销售回答] 是的,这款手机支持边缘触控功能,您可以通过轻触或滑动手机边缘来执行快捷操作或访问特定应用,提高操作效率。 + +[手机客户问题] 这款手机有健康监测功能吗? +[手机销售回答] 这款手机集成了健康监测功能,可以追踪您的步数、心率甚至睡眠质量,帮助您保持健康生活方式。 + +[手机客户问题] 我可以在这款手机上使用分屏功能吗? +[手机销售回答] 当然,这款手机支持分屏功能,允许您同时在屏幕上运行两个应用,非常适合需要同时处理多项任务的用户。 + +[手机客户问题] 这款手机的语音助手是什么? +[手机销售回答] 这款手机配备了智能语音助手,如Google Assistant或Siri,您可以通过语音命令进行搜索、发送信息、设置提醒等操作,非常方便。 + +[手机客户问题] 这款手机有游戏模式吗? +[手机销售回答] 是的,这款手机具有专门的游戏模式,可以优化游戏性能,减少干扰并提供更流畅的游戏体验。 + +[手机客户问题] 我的手机遇到软件故障怎么办? +[手机销售回答] 如果您的手机遇到软件问题,建议首先尝试重启手机。如果问题仍然存在,可以尝试恢复出厂设置或联系我们的客服团队寻求专业帮助。 + +[手机客户问题] 这款手机的反向充电速度怎么样? +[手机销售回答] 这款手机支持反向充电功能,虽然充电速度不及直接充电快,但足以为紧急情况下的耳机或其他小型设备充电提供便利。 + +[手机客户问题] 我如何在这款手机上设置隐私控制? +[手机销售回答] 您可以在设置中访问隐私保护选项,从中您可以管理应用权限、查看和控制数据共享等级别,确保您的个人信息安全。 + +[手机客户问题] 这款手机的屏幕是否支持HDR内容? +[手机销售回答] 是的,这款手机的屏幕支持HDR10内容,可以提供更广的色域和对比度,让您在观看视频和玩游戏时享受到更丰富、更 From 404b0bfeec6079e14e6f4d8053597a2a4f5301a0 Mon Sep 17 00:00:00 2001 From: gokjava <51187565+gokjava@users.noreply.github.com> Date: Tue, 6 Feb 2024 16:57:34 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=20=E5=90=91?= =?UTF-8?q?=E9=87=8F=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- langchain/sales_chatbot/init_db.py | 47 ++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 langchain/sales_chatbot/init_db.py diff --git a/langchain/sales_chatbot/init_db.py b/langchain/sales_chatbot/init_db.py new file mode 100644 index 00000000..661ffc6e --- /dev/null +++ b/langchain/sales_chatbot/init_db.py @@ -0,0 +1,47 @@ +from langchain.embeddings.openai import OpenAIEmbeddings +from langchain.text_splitter import CharacterTextSplitter +from langchain.vectorstores import FAISS +from langchain.document_loaders import TextLoader +import os + +with open("F:\\pythonProject\\myenv\\Include\\real_estates_sale\\real_estate_sales_data.txt", encoding="utf-8") as f: + real_estate_sales = f.read() + +with open("F:\\pythonProject\\myenv\\Include\\real_estates_sale\\mobile_sales_data.txt", encoding="utf-8") as f: + mobile_sales_data = f.read() + +from langchain.text_splitter import CharacterTextSplitter + +mobile_text_splitter = CharacterTextSplitter( + separator = '\n\n', + chunk_size = 100, + chunk_overlap = 0, + length_function = len, + is_separator_regex = True, +) + +mobile_docs = mobile_text_splitter.create_documents([mobile_sales_data]) + +text_splitter = CharacterTextSplitter( + separator = r'\d+\.', + chunk_size = 100, + chunk_overlap = 0, + length_function = len, + is_separator_regex = True, +) +docs = text_splitter.create_documents([real_estate_sales]) + +for doc in docs: + # 将问题和答案都加上 房地产销售等关键字 + doc.page_content = doc.page_content.replace("[客户问题]", "[房地产客户问题]").replace("[销售回答]", "[房地产销售回答]") + +# 将两个doc进行合并 +all_docs = mobile_docs + docs + +from langchain.embeddings.openai import OpenAIEmbeddings +from langchain.text_splitter import CharacterTextSplitter +from langchain.vectorstores import FAISS + +db = FAISS.from_documents(all_docs, OpenAIEmbeddings()) +db.save_local("real_estates_sale") + From 4d7898b8296c0d033fefcd50166b86570317a017 Mon Sep 17 00:00:00 2001 From: gokjava <51187565+gokjava@users.noreply.github.com> Date: Tue, 6 Feb 2024 16:59:30 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- langchain/sales_chatbot/init_db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/langchain/sales_chatbot/init_db.py b/langchain/sales_chatbot/init_db.py index 661ffc6e..fecec9ac 100644 --- a/langchain/sales_chatbot/init_db.py +++ b/langchain/sales_chatbot/init_db.py @@ -4,10 +4,10 @@ from langchain.document_loaders import TextLoader import os -with open("F:\\pythonProject\\myenv\\Include\\real_estates_sale\\real_estate_sales_data.txt", encoding="utf-8") as f: +with open("real_estate_sales_data.txt", encoding="utf-8") as f: real_estate_sales = f.read() -with open("F:\\pythonProject\\myenv\\Include\\real_estates_sale\\mobile_sales_data.txt", encoding="utf-8") as f: +with open("real_estate_sales_data.txt", encoding="utf-8") as f: mobile_sales_data = f.read() from langchain.text_splitter import CharacterTextSplitter