首页 > 其他分享 >movie-recommender-chatbot

movie-recommender-chatbot

时间:2024-11-14 23:09:55浏览次数:1  
标签:recommender name movie chatbot docs route self

movie-recommender-chatbot

https://github.com/7AM7/movie-recommender-chatbot/tree/main

import logging
from semantic_router import Route, RouteLayer
from semantic_router.encoders import OpenAIEncoder
from config import Config


logger = logging.getLogger("main")


class SemanticLayer:
    def __init__(self, retriever):
        self.retriever = retriever
        self.routes = self._initialize_routes()
        self.route_layer = RouteLayer(
            encoder=OpenAIEncoder(
                name=Config.Retriever.EMBEDDING_MODEL,
                openai_api_key=Config.OpenAI.API_KEY,
                score_threshold=Config.Retriever.EMBEDDING_THRESHOLD
            ),
            routes=self.routes
        )

    def _initialize_routes(self):
        recommendation_route = Route(
            name="get_list_of_movies",
            utterances=[
                "Show me some movies",
                "Do you have 2020 movies?",
                "I want batman movie",
                "I want Drama movies",
            ]
        )
        return [recommendation_route]

    def process_query(self, query):
        route = self.route_layer(query)
        extra = ""
        logger.info(f"Tool name: {route.name}" )
        if route.name == "get_list_of_movies":
            retrieved_docs = self.retriever.retrieve(query)
            logger.info(f"Number of retrieved documents: {len(retrieved_docs)}")
            formatted_docs = SemanticLayer.format_docs(retrieved_docs)

            extra = f"You can recommend to the user from this list only:\n{formatted_docs}"
        return extra

    @staticmethod
    def format_docs(docs):
        return "\n\n".join([d.page_content for d in docs])

 

 

Movie recommender chatbot using LangChain, OpenAI and Semantic Router

 

Movie Recommender Chatbot

Movie recommender chatbot using FastAPI, Streamlit, LangChain and semantic-router with FAISS RAG.

Streamlit app

 

标签:recommender,name,movie,chatbot,docs,route,self
From: https://www.cnblogs.com/lightsong/p/18547076

相关文章

  • 探索视频编辑的无限可能:揭秘Python的MoviePy库
    文章目录探索视频编辑的无限可能:揭秘Python的MoviePy库第一部分:背景介绍第二部分:MoviePy是什么?第三部分:如何安装MoviePy?第四部分:简单库函数使用方法第五部分:实际应用场景第六部分:常见问题及解决方案第七部分:总结探索视频编辑的无限可能:揭秘Python的MoviePy库第一......
  • 万字长文深度解读Movie Gen技术原理(5部曲):图像&视频联合生成模型 (2)
    ​引言简介图像和视频基础模型时间自编码器(TAE)训练目标骨干架构文本嵌入和视觉-文本生成空间上采样模型扩展和训练效率预训练预训练数据训练微调STF微调数据集创建监督微调&模型平均推理推理提示重写提高推理效率评估评估维度评估......
  • 【Azure Bot Service】部署Python ChatBot代码到App Service中
    问题描述使用Python编写了ChatBot,在部署到AppService,却无法启动。通过高级工具(Kudu站点:https://<yoursitename>.scm.chinacloudsites.cn/newui)查看日志显示:Failedtofindattribute'app'in'app'.2024-10-25T02:43:29.242073529Z_____......
  • 3D Animation Animated Movie
    AssessmentTask3:3DAnimationIntroductionForthisassignmentyouwillcreateashortanimationtoshowcaseyouknowledgeofanimationtechniques,lightingandtextures. AssessmentDetailsDueDate: Friday,1stNovember,11:55pmWeight: 50%Thisass......
  • AWS GenAI LLM Chatbot: 多模型多RAG驱动的聊天机器人解决方案
    aws-genai-llm-chatbotAWSGenAILLMChatbot:打造智能对话新体验在人工智能和自然语言处理技术快速发展的今天,聊天机器人已成为企业与用户交互的重要工具。AWSGenAILLMChatbot项目应运而生,为开发者提供了一个强大而灵活的解决方案,用于在AWS云平台上部署先进的AI驱动聊天......
  • Python音视频编辑库:moviepy
    Moviepy可以进行视频剪辑、合并、转码以及添加各种效果等操作。读取文件frommoviepy.editorimportmpclip=mp.VideoFileClip('video.mp4')print(clip.size)#获取分辨率print(clip.duration)#获取总时长视频剪辑clip.subclip(10,20)#剪切10s-20sclip.write_vid......
  • ChatBot: 通过高性能LLM批量产生Character
    基于LLM创建Character,能够实现ChatBot社区的AGI吗?如果高性能的LLM能够产生中高质量的提示词并且被低性能但廉价的LLM使用,那么就有了很大的使用价值.怎么定义一个Character我认为至少需要以下几个内容:Name:Thenamecanincludefirstandlastnames.(3-40characters......
  • ChatBot: 通过高性能LLM批量产生Character
    基于LLM创建Character,能够实现ChatBot社区的AGI吗?如果高性能的LLM能够产生中高质量的提示词并且被低性能但廉价的LLM使用,那么就有了很大的使用价值.怎么定义一个Character我认为至少需要以下几个内容:Name:Thenamecanincludefirstandlastnames.(3-40characters......
  • 论文解读《MASTERKEY: Automated Jailbreaking of Large Language Model Chatbots》
    导言​ 在参加东南大学网络安全学院夏令营的契机下,我第一次接触大模型安全领域。L老师是网络安全领域的一位大牛,在和L老师交流期间,被告知需要准备一次paperpresentation介绍四大会中感兴趣的一篇文章,我选择了汇报这篇来自NDSS2024的《MASTERKEY:AutomatedJailbreakingofLarg......
  • 视频格式转换 CoolUtils Total Movie Converter v4.1 中文授权版
    CoolUtilsTotalMovieConverter 是一款适用于PC端的视频格式转换软件,支持转换几乎所有常见的视频格式。无论你需要将视频转换为AVI、FLV、MPG、WMV、MPEG等格式,还是想将视频优化用于XBox、iPhone、iPad等设备,这款工具都能帮你实现。新版添加了“VideoToDevice”功能,确......