legalLM / AI_core /tools /evidence_analysis_tool.py
Muhammad2003's picture
Upload 45 files
1f891e5 verified
"""
Tool for analyzing legal evidence using DEEPresearch.
"""
import requests
import json
from langchain.tools import BaseTool
from AI_core.config import DEEPSEARCH_API_URL
class EvidenceAnalysisTool(BaseTool):
"""Tool to analyze legal evidence using DEEPresearch."""
name: str = "evidence_analysis_tool"
description: str = "Analyzes legal evidence using DEEPresearch and builds relationships between entities. Input should be a legal query about evidence or case analysis."
def _run(self, query: str) -> str:
"""
Analyze legal evidence using DEEPresearch.
Args:
query: Legal query about evidence or case analysis
Returns:
str: Analysis results from DEEPresearch
"""
headers = {
'Content-Type': 'application/json'
}
data = {
"model": "jina-deepsearch-v1",
"messages": [
{
"role": "system",
"content": "You are a legal evidence analyst. Your task is to analyze legal evidence, extract key entities, and establish relationships between them."
},
{
"role": "user",
"content": query
}
],
"stream": False,
"reasoning_effort": "low",
"max_attempts": 2,
"no_direct_answer": False
}
try:
# In production, use actual API call
response = requests.post(DEEPSEARCH_API_URL, headers=headers, json=data)
result = response.json()['choices'][0]['message']['content']
return result
except Exception as e:
return f"Error analyzing evidence with DEEPresearch: {str(e)}"