聊天机器人

收集窗帘相关的数据

可以用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()

最中结果如下:

相关推荐
茯苓gao2 小时前
机器人产业的三级火箭:卖电机、卖模组与卖整机,三种商业模式的终局推演
笔记·学习·机器人
深圳慧闻智造技术有限公司5 小时前
从宇树G1做手术登Nature,看机器人精密零件加工的四大难点与核心能力
机器人·精密零件加工·机器人零件加工·精密机械加工
ZPC82105 小时前
model bingxing
网络·人工智能·网络协议·机器人
code_pgf7 小时前
具身智能的核心组成部分及其作用
人工智能·机器人
QYR-分析7 小时前
柔性智造赋能升级!机器人视觉检测系统行业高速扩容,国产替代迎来新机遇
人工智能·机器人
消失的旧时光-194320 小时前
第七篇:RTK + 地图 + 机器人:完整定位系统架构解析
android·系统架构·机器人·imu·rtk
SoaringPigeon1 天前
NVIDIA博客-预训练去想象,微调去行动:世界-动作模型 (WAM) 的崛起
人工智能·深度学习·机器人·自动驾驶
Maiko Star1 天前
Python项目实战——网络机器人(爬虫)
爬虫·python·机器人
SoaringPigeon1 天前
机器人学习中的世界模型:一份全景式技术综述
人工智能·机器人·自动驾驶
SoaringPigeon1 天前
世界动作模型(WAM)综述:从 VLA 到具身智能的下一前沿
人工智能·机器人·自动驾驶