Greetings, SymPy Developers,

I hope this email finds you well. My name is *Ahmad Faraz*, and I’m a *Computer 
Science and Engineering student at Amity University Jharkhand, India*, with 
a strong interest in *symbolic computation and AI*. I’m reaching out 
regarding the "*Official LLM Tool Agent for SymPy*" project listed in the 
SymPy GSoC 2025 ideas. I’m excited about the potential to bridge SymPy’s 
powerful symbolic capabilities with Large Language Models, and I’d love to 
contribute to this under your mentorship.

I’ve drafted an initial proposal outlining my approach to this project, 
which I’ve attached for your review. It includes my plan to create a 
structured SymPy interface for LLMs, integrate with frameworks like 
LangChain, and support multi-step mathematical workflows (e.g., 
minimization, differential equations). I’d greatly appreciate your feedback 
on this proposal or any guidance on refining it to align with SymPy’s goals 
for GSoC 2025.

A bit about me: I have experience in *Python programming, working with 
SymPy for symbolic math, and experimenting with LLM frameworks like 
LangChain*. A 2nd year student, with a *CGPA of 9.73*. I've interest in 
mathematics and computer science. I've developed many small to medium sized 
projects using python and other languages. I’m eager to dive deeper into 
SymPy’s codebase and LLM tool-calling mechanisms, and I believe this 
project is a perfect fit for my skills and interests.


*Abstract *

This project aims to develop an official LLM Tool Agent for SymPy, enabling 
Large Language Models (LLMs) to interact with SymPy’s symbolic computation 
library through a structured, framework-agnostic interface. The agent will 
allow LLMs to interpret natural language math problems, map them to SymPy 
function calls, and execute multi-step workflows (e.g., finding function 
minima, solving differential equations). By creating a machine-readable 
SymPy interface, integrating with frameworks like LangChain, and providing 
testing/debugging tools, this project will enhance SymPy’s accessibility to 
AI-driven applications.


*Project Goals *
   
   1. *SymPy Interface for LLMs*: Create a JSON-based schema of SymPy’s 
   public functions/classes (e.g., diff, solve, integrate) with descriptions, 
   parameters, and examples. 
   2. *Tool Agent Implementation*: Build a Python-based agent to parse 
   LLM-generated plans and execute SymPy calls, supporting multi-step 
   operations. 
   3. *Framework Integration*: Develop templates for at least one LLM 
   framework (e.g., LangChain) with plans to extend to others (e.g., 
   LlamaIndex, Haystack). 
   4. *Testing and Metrics*: Implement a test suite to evaluate correctness 
   and performance, reporting statistical metrics (e.g., accuracy, latency). 
   5. *Debugging Interface*: Design a basic CLI or web-based tool to trace 
   LLM plans and SymPy outputs for debugging. 


*Proposed Timeline *

*(For a 175-hour project; expandable to 350 hours with additional features)*

   - *Weeks 1-2 (20 hours)*: Research SymPy codebase, extract function 
   metadata, design JSON schema. 
   - *Weeks 3-5 (50 hours)*: Build core agent logic for single-step and 
   multi-step SymPy calls. 
   - *Weeks 6-8 (50 hours)*: Integrate with LangChain, test with example 
   problems (e.g., minimization, differential equations). 
   - *Weeks 9-10 (35 hours)*: Develop test suite, calculate metrics, refine 
   based on results. 
   - *Weeks 11-12 (20 hours)*: Create debugging interface, document code, 
   prepare deliverables. 
   - *(Optional 350-hour Extensions)*: Add multi-framework support (50 
   hours), enhance testing (50 hours), build a web UI (50 hours). 


*Deliverables *
   
   - A machine-readable SymPy interface (JSON/YAML). 
   - A functional LLM Tool Agent in Python. 
   - LangChain integration with example workflows. 
   - Test suite with metrics report. 
   - Debugging tool and documentation.


Example Workflow 

For "Find the minimum of x^2 + y^2 subject to x + y = 1":

   1. LLM generates a plan: define symbols, set up function/constraint, 
   compute derivatives, solve system. 
   2. Agent executes: 
   

   - x, y = symbols('x y')
   - f = x**2 + y**2
   - constraint = Eq(x + y, 1)
   - dx, dy = diff(f, x), diff(f, y)
   - sol = solve([dx, dy, constraint], (x, y))

        3. Output: Solution (x=0.5, y=0.5) with trace logged for debugging.

*Background and Skills* 
   
   - Proficient in Python and familiar with SymPy for symbolic math. 
   - Experience with "LLM frameworks like LangChain" or "tool-calling APIs". 
   - Comfortable with "self-hosting LLMs" or "writing test suites". 
   - Eager to learn SymPy internals and contribute to open-source. 


*Why This Project? *

I’m passionate about symbolic computation and AI, and this project combines 
both in a way that can significantly enhance SymPy’s utility. I see it as a 
chance to grow my skills in LLM integration while contributing a valuable 
tool to the SymPy community.
*Questions for Mentors* 
   
   - Are there preferred LLM frameworks or SymPy modules to prioritize? 
   - Should I focus on specific multi-step problem types initially? 
   - Any existing SymPy tools I should build upon? 

Could we possibly schedule a time to discuss this further, or would you 
prefer I refine my proposal based on initial feedback via email?

Thank you for your time and consideration! I look forward to hearing from 
you. Regards, *Ahmad Faraz* [email protected] 
https://github.com/Shevilll 

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/6466a8e5-5b94-4e75-a1c1-7874254653c3n%40googlegroups.com.

Reply via email to