聊天机器人

收集窗帘相关的数据

可以用gpt生成,也可以用爬虫

图形化界面 gradio

向量数据库 faiss

python代码

python 复制代码
import gradio as gr
import random
import time

from typing import List

from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import FAISS
from langchain.chains import RetrievalQA
from langchain.chat_models import ChatOpenAI


def initialize_sales_bot(vector_store_dir: str="real_estates_sale"):
    db = FAISS.load_local(vector_store_dir, OpenAIEmbeddings())
    llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
    
    global SALES_BOT    
    SALES_BOT = RetrievalQA.from_chain_type(llm,
                                           retriever=db.as_retriever(search_type="similarity_score_threshold",
                                                                     search_kwargs={"score_threshold": 0.8}))
    # 返回向量数据库的检索结果
    SALES_BOT.return_source_documents = True

    return SALES_BOT

def sales_chat(message, history):
    print(f"[message]{message}")
    print(f"[history]{history}")
    # TODO: 从命令行参数中获取
    enable_chat = True

    ans = SALES_BOT({"query": message})
    # 如果检索出结果,或者开了大模型聊天模式
    # 返回 RetrievalQA combine_documents_chain 整合的结果
    if ans["source_documents"] or enable_chat:
        print(f"[result]{ans['result']}")
        print(f"[source_documents]{ans['source_documents']}")
        return ans["result"]
    # 否则输出套路话术
    else:
        return "这个问题我要问问领导"
    

def launch_gradio():
    demo = gr.ChatInterface(
        fn=sales_chat,
        title="窗帘销售",
        # retry_btn=None,
        # undo_btn=None,
        chatbot=gr.Chatbot(height=600),
    )

    demo.launch()

if __name__ == "__main__":
    # 初始化房产销售机器人
    initialize_sales_bot()
    # 启动 Gradio 服务
    launch_gradio()

最中结果如下:

相关推荐
GEEK零零七5 小时前
Leetcode 1041. 困于环中的机器人
算法·leetcode·机器人
超维机器人7 小时前
强化雨天巡检,智能巡检机器人确保变电站安全运行
运维·人工智能·安全·机器人
北京搜维尔科技有限公司7 小时前
搜维尔科技:OptiTrack采集到的平衡数据,并对人形机器人进行编程,可以确保机器人的动作精度和准确性
人工智能·科技·机器人
JAMES费7 小时前
python机器人编程——用手机web远程视频监控并控制小车驾驶(上篇vrep仿真)
python·智能手机·机器人
黑色叉腰丶大魔王1 天前
ChatGPT:强大的人工智能聊天机器人
人工智能·chatgpt·机器人
石板小湫2 天前
17【Protues单片机仿真】基于51单片机的太阳能智能谷物翻晒机器人
单片机·机器人·51单片机
zhangrelay2 天前
如何避开学习和研究机器人方向无价值的知识节约时间
笔记·学习·机器人·持续学习
Panlink2 天前
波士顿机器人滑环的技术特点与应用前景
机器人
云卓科技2 天前
无人机之4G模块的主要功能和优势
科技·安全·机器人·无人机·制造
☆A a g s√2 天前
机器人自主导航从零开始第四步———Rviz、Gazebo、Meshlab的安装
机器人