Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mehdi zare/fmp data doc #29160

Open
wants to merge 68 commits into
base: master
Choose a base branch
from

Conversation

MehdiZare
Copy link

@MehdiZare MehdiZare commented Jan 12, 2025

Title: community: add Financial Modeling Prep (FMP) API integration

Description: Adding LangChain integration for Financial Modeling Prep (FMP) API to enable semantic search and structured tool creation for financial data endpoints. This integration provides semantic endpoint search using vector stores and automatic tool creation with proper typing and error handling. Users can discover relevant financial endpoints using natural language queries and get properly typed LangChain tools for discovered endpoints.

Issue: N/A

Dependencies:

  • fmp-data>=0.3.1
  • langchain-core>=0.1.0
  • faiss-cpu
  • tiktoken

Twitter handle: @mehdizarem

Unit tests and example notebook have been added:

  1. Tests are in tests/integration_tests/est_tools.py and tests/unit_tests/test_tools.py
  2. Example notebook is in docs/tools.ipynb

All format, lint and test checks pass:

pytest
mypy .

Dependencies are imported within functions and not added to pyproject.toml. The changes are backwards compatible and only affect the community package.

This commit introduces a new tutorial notebook for using the `langchain-fmp-data` package. The notebook provides examples for accessing financial market data, performing queries, and integrating with LangChain agents for various financial analyses. It also covers advanced usage and customization options.
@dosubot dosubot bot added the size:L This PR changes 100-499 lines, ignoring generated files. label Jan 12, 2025
Copy link

vercel bot commented Jan 12, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
langchain ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 14, 2025 2:54am

@dosubot dosubot bot added the community Related to langchain-community label Jan 12, 2025
Converted the FMP data tutorial notebook to use percent-based formatting for cleaner and more compatible code representation. This update improves readability, simplifies version control, and aligns with standard Jupyter practices.
Replaced verbose and redundant notebook content with a cleaner, modular structure. Focused on providing clear setup instructions, concise component descriptions, and flexible usage examples for FMPDataToolkit and FMPDataTool.
Refactored the FMPData integration notebook by removing redundant metadata and restructuring it to align with a more concise cell format. This enhances readability while maintaining functionality and documentation clarity.
Reorganized the FMPData integration documentation by converting the notebook to use cell-based markdown and code blocks. This enhances clarity and maintainability, ensuring better formatting and structure for users.
Streamlined the FMPData integration notebook by modifying its structure, reorganizing sections, and adopting consistent cell syntax using delimiters. This enhances readability and maintainability of the documentation.
Switches the `.ipynb` file to a markdown-based format using delimited code blocks. Simplifies maintainability, improves readability, and aligns with standard documentation practices.
Switches the `.ipynb` file to a markdown-based format using delimited code blocks. Simplifies maintainability, improves readability, and aligns with standard documentation practices.
Switches the `.ipynb` file to a markdown-based format using delimited code blocks. Simplifies maintainability, improves readability, and aligns with standard documentation practices.
Reorganized the FMPData documentation content for clarity and improved formatting. Simplified the structure by converting cells to Markdown and code blocks, ensuring better readability and usability within LangChain integrations.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Reformatted the FMP integration guide into a streamlined Jupyter Notebook. This improves readability, supports direct code execution, and better integrates setup, usage, and examples for the LangChain FMP tools.
Converted the FMPData integration guide to a more structured notebook format with distinct cell types for better readability and usability. This includes updating raw and markdown cells for explanations and using code cells for execution examples and API references.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Refactored the FMPData integration notebook by removing redundant metadata and restructuring it to align with a more concise cell format. This enhances readability while maintaining functionality and documentation clarity.
Reorganized the FMPData integration documentation by converting the notebook to use cell-based markdown and code blocks. This enhances clarity and maintainability, ensuring better formatting and structure for users.
Streamlined the FMPData integration notebook by modifying its structure, reorganizing sections, and adopting consistent cell syntax using delimiters. This enhances readability and maintainability of the documentation.
Switches the `.ipynb` file to a markdown-based format using delimited code blocks. Simplifies maintainability, improves readability, and aligns with standard documentation practices.
Switches the `.ipynb` file to a markdown-based format using delimited code blocks. Simplifies maintainability, improves readability, and aligns with standard documentation practices.
Switches the `.ipynb` file to a markdown-based format using delimited code blocks. Simplifies maintainability, improves readability, and aligns with standard documentation practices.
Reorganized the FMPData documentation content for clarity and improved formatting. Simplified the structure by converting cells to Markdown and code blocks, ensuring better readability and usability within LangChain integrations.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Refactored the structure of the FMPData integration notebook. Simplified API examples and adjusted formatting for better readability. Streamlined variable names and aligned tool usage with best practices.
Reformatted the FMP integration guide into a streamlined Jupyter Notebook. This improves readability, supports direct code execution, and better integrates setup, usage, and examples for the LangChain FMP tools.
Converted the FMPData integration guide to a more structured notebook format with distinct cell types for better readability and usability. This includes updating raw and markdown cells for explanations and using code cells for execution examples and API references.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
Revised the FMPData integration documentation by transitioning it from a standalone text format to a structured Jupyter Notebook format. This improves readability and interactivity, allowing users to execute code snippets directly within the document.
This commit adds a new package entry to `libs/packages.yml` for the `langchain-fmp-data` repository. This ensures it is now tracked and available in the list of packages.
Introduce initial docs for integrating with the FMP Data Python package. Includes installation steps, setup instructions, and a usage example.
Renamed `fmp.ipynb` to `fmp-data.ipynb` for better clarity and updated the corresponding documentation. Also fixed a minor typo in the markdown header from "Toolsg" to "Tools".
@MehdiZare MehdiZare requested a review from baskaryan as a code owner January 14, 2025 02:37
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Jan 14, 2025
@MehdiZare MehdiZare requested a review from ccurme January 14, 2025 02:40
@ccurme
Copy link
Collaborator

ccurme commented Jan 14, 2025

Thanks @MehdiZare, I think this picked up some merge or rebase issues (PR is currently changing 40 files). Can you make sure you are merging against latest master branch?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community Related to langchain-community size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
Status: In review
Development

Successfully merging this pull request may close these issues.