开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

ModelScope如何使用tool工具呢?

ModelScope中langchain里边ConversationalRetrievalChain如何使用tool工具呢?

展开
收起
真的很搞笑 2024-01-02 20:27:03 95 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    ConversationalRetrievalChain是用于处理包含聊天历史记录的对话链路的类。这个类与RetrievalQAChain类的主要区别在于,ConversationalRetrievalChain可以接收并使用聊天历史作为输入参数。您可以将不同类型的文档链与ConversationalRetrievalChain链结合使用,例如,可以使用get_chat_history函数获取历史记录。

    以下是如何在Python代码中使用ConversationalRetrievalChain的一个示例:

    from modelscope.pipelines import load_qa_with_sources_chain, ConversationalRetrievalChain
    from modelscope.utils.logger import get_logger
    
    # 初始化日志记录器
    logger = get_logger()
    
    # 加载问答链和文档链
    doc_chain = load_qa_with_sources_chain(llm, chain_type="map_reduce")
    
    # 创建 ConversationalRetrievalChain 实例
    chain = ConversationalRetrievalChain(
        retriever=vectorstore.as_retriever(),  # 检索器
        question_generator=question_generator,  # 问题生成器
        combine_docs_chain=doc_chain,  # 组合文档链
    )
    

    在这个例子中,vectorstore.as_retriever()是从向量存储创建一个检索器,该检索器可以从embeddings中创建。

    2024-01-03 13:24:30
    赞同 展开评论 打赏
  • 在LangChain框架中,ConversationalRetrievalChain 是一个用于对话检索的组件,它通常结合了多个工具(tools)来实现对话历史的理解、上下文检索和生成回复等功能。要使用工具(tool),你需要配置该链以调用相应的工具进行处理。

    以下是一个简化的示例,说明如何在 ConversationalRetrievalChain 或类似的链中使用工具:

    from langchain.chains import ConversationalRetrievalChain
    from langchain.agents import Tool
    from langchain.tools import MyCustomTool
    
    # 假设你有一个自定义工具类 MyCustomTool
    # 它实现了 LangChain 工具接口,可以在对话流程中的特定环节被调用
    
    # 初始化你的自定义工具实例
    my_tool = MyCustomTool(...)
    
    # 创建一个包含所需工具的 ConversationalRetrievalChain
    chain = ConversationalRetrievalChain(
        tools=[
            # 可能还有其他内置或自定义工具
            my_tool,  # 注册自定义工具
            ...,
        ],
        # 其他配置参数如 LLM 模型、对话历史管理器等
    )
    
    # 当运行 chain 进行对话时,它会根据设计逻辑顺序调用注册过的工具
    response = chain.run(input_message="用户说的话")
    
    # 工具的具体使用方式取决于你在工具类中实现的功能逻辑
    

    虽然没有具体的 ConversationalRetrievalChain 实现细节,但上述代码展示了如何将自定义工具添加到链中的一般方法。实际应用中,ConversationalRetrievalChain 会按照预定义的流程策略整合工具,以便在对话过程中执行不同的任务,例如检索相关文档、总结信息或者利用大模型生成回复等。

    2024-01-03 09:29:01
    赞同 1 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

热门讨论

热门文章

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载