Skip to content

Latest commit

 

History

History
89 lines (73 loc) · 4.13 KB

7_1_1_Legal_Consultation_Case.md

File metadata and controls

89 lines (73 loc) · 4.13 KB

Legal Consultation Case

Case Description

This case demonstrates a simple legal consultation agent built using RagPlanner. The agent provides legal advice by retrieving relevant provisions from the Civil Law and the Criminal Law, and combining them with the case background.

The case leverages the DashScope embedding and rerank features with the Qwen llm. Before using this, you need to configure the DASHSCOPE_API_KEY in your environment variables.

Components

Legal Knowledge Base

The legal knowledge base is constructed using Knowledge Components from agentUniverse. By storing the original legal provisions in the ChromaDB and Sqlite database, the knowledge base facilitates efficient retrieval and consultation for the agent. Original legal documents:

name: "law_knowledge"
description: "中国民法与刑法相关的知识库"
stores:
    - "civil_law_chroma_store"
    - "criminal_law_chroma_store"
    - "civil_law_sqlite_store"
    - "criminal_law_sqlite_store"
query_paraphrasers:
    - "custom_query_keyword_extractor"
insert_processors:
    - "recursive_character_text_splitter"
rag_router: "nlu_rag_router"
post_processors:
    - "dashscope_reranker"
readers:
    pdf: "default_pdf_reader"

metadata:
  type: 'KNOWLEDGE'
  module: 'sample_standard_app.app.core.knowledge.law_knowledge'
  class: 'LawKnowledge'

Reader Component

DocProcessor Component

QueryParaphraser Component

RagRouter Component

Store Component

For your convenience, we have placed the databases containing the relevant information in this directory. If you want to build the knowledge base from scratch, you can run the following code:

from agentuniverse.base.agentuniverse import AgentUniverse
from agentuniverse.agent.action.knowledge.knowledge_manager import KnowledgeManager


if __name__ == '__main__':
    AgentUniverse().start(config_path='../../config/config.toml', core_mode=True)
    civil_store_list = ["civil_law_sqlite_store", "civil_law_chroma_store"]
    criminal_store_list = ["criminal_law_sqlite_store", "criminal_law_chroma_store"]
    law_knowledge = KnowledgeManager().get_instance_obj("law_knowledge")
    law_knowledge.insert_knowledge(
        source_path="../resources/刑法.pdf",
        stores=criminal_store_list
    )
    law_knowledge.insert_knowledge(
        source_path="../resources/民法典.pdf",
        stores=civil_store_list
    )

Law Agent

This agent involves the following two files:

Demonstration Code

CodeLink

Demonstration

Demonstration Image