Skip to content

Releases: assafelovic/gpt-researcher

LLMs support 🤖

27 May 10:41
Compare
Choose a tag to compare

Excited for yet another HUGE release that includes LLM support for the following: Llama3, Mistral, Anthropic, HuggingFace, Together AI, Gemini and more!

We've also updated our docs including examples:

This release also includes LangGraph deployment by @hwchase17 and additional stability improvements. Thank you to all the amazing contributions!

What's Changed

New Contributors

Full Changelog: v0.2.3...v0.2.4

Research Local Documents 📄🤯

20 May 06:44
5c0f4e7
Compare
Choose a tag to compare

Research with your local documents 🤯

Excited to finally release GPT Researcher support with local documents! This feature is long overdue and includes support for almost any type of local document such as pdf, text, docx, pptx, csv, xls, md and more! Simply drop your folder dir path as env variable and watch the magic!

This feature also adds support for the local UI, however due to vanilla JS limitations it's still not the optimal UX. We plan to add a React based UI which will include improved UX for local documents.

Lastly, this release includes some additional stability fixes, new and improved documentation and support for Serper Search API! Thanks to the amazing community for this incredible release and special shoutout to @ElishaKay and @proy9714 !

What's Changed

New Contributors

Full Changelog: v.0.2.2...v0.2.3

Stability improvements 💪

09 May 12:45
767fd90
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.1...v.0.2.2

Multi Agent Research 🔎👨‍👦‍👦

05 May 07:31
Compare
Choose a tag to compare

This is one of the most exciting releases yet. Proud to introduce the latest GPTR x LangGraph integration showcasing the power of flow engineering and multi agent collaboration! Check out the full implementation in the new directory multi_agents.

By using LangGraph, the research process can be significantly improved in depth and quality by leveraging multiple agents with specialized skills. Inspired by the recent STORM paper, this example showcases how a team of AI agents can work together to conduct research on a given topic, from planning to publication. An average run generates a 5-6 page research report in multiple formats such as PDF, Docx and Markdown.

The Multi Agent Team

The research team is made up of 7 AI agents:

  • Chief Editor - Oversees the research process and manages the team. This is the "master" agent that coordinates the other agents using Langgraph.
  • Researcher (gpt-researcher) - A specialized autonomous agent that conducts in depth research on a given topic.
  • Editor - Responsible for planning the research outline and structure.
  • Reviewer - Validates the correctness of the research results given a set of criteria.
  • Revisor - Revises the research results based on the feedback from the reviewer.
  • Writer - Responsible for compiling and writing the final report.
  • Publisher - Responsible for publishing the final report in various formats.

Architecture


Detailed reports 🤯🚀

02 Apr 07:10
eccc73f
Compare
Choose a tag to compare

Super excited to share the latest release, highly contributed by the the one and only @proy9714 👏

Introducing long and detailed reports, with a completely new architecture inspired by the latest STORM paper.

In this method we do the following:

  1. Trigger Initial GPT Researcher report based on task
  2. Generate subtopics from research summary
  3. For each subtopic the headers of the subtopic report are extracted and accumulated
  4. For each subtopic a report is generated making sure that any information about the headers accumulated until now are not re-generated.
  5. An additional introduction section is written along with a table of contents constructed from the entire report.
  6. The final report is constructed by appending these : Intro + Table of contents + Subsection reports

In addition, this release includes support for Azure OpenAI @norrisp90

Gemini and Docx support! 🎉

24 Mar 07:40
825f8a1
Compare
Choose a tag to compare

This release is largely thanks to @proy9714 for some high impact contributions!

  1. Support for downloading research as docx file #403
  2. Support for Gemini provider #408
  3. Improved report generation with hyperlinks #404
  4. Support for Python3.10 #403

Huge shoutout to @proy9714 👏

New embeddings, pdf styling and newspaper3k support 👨‍👨‍👦‍👦

18 Mar 12:12
5f7dd5c
Compare
Choose a tag to compare

Another great release thanks to the amazing community! ❤️

Big shoutout to the following contributions:
@proy9714 for adding newpaper3k support for better article scraping #365
@jimmylin0979 for adding support for additional embeddings such as Mistral, Ollama and HuggingFace #375
@assafelovic adding support for pdf styling of research reports #396
@WarrenTheRabbit for fixing a documentation typo #391

Thank you to everyone and looking forward for more contributions!

Stability and Poetry support 🎉

25 Feb 09:14
fa13d5f
Compare
Choose a tag to compare

Excited to introduce latest version that removes strict dependencies from requirements.txt, fixes some installation issues and adds support for virtual env and Poetry!

Big shoutout to contributors @aaaastark for the PR: #319

Quick installation fix

07 Jan 14:08
Compare
Choose a tag to compare

Releasing new version that resolves dependency issues with latest version.

New features and stability 🎉

04 Jan 12:05
f783dee
Compare
Choose a tag to compare

Excited to kick off the new year with a long awaited feature: Research report on specific urls! 🎉

You can now skip the search by providing urls directly to GPTResearcher and create a research report like so:

urls = ["https://docs.tavily.com/docs/tavily-api/introduction",
        "https://docs.tavily.com/docs/tavily-api/python-sdk",
        "https://docs.tavily.com/docs/tavily-api/rest_api"]

query = "How can I integrate Tavily Rest API with my application?"

async def get_report(query: str, source_urls: list) -> str:
    researcher = GPTResearcher(query=query, source_urls=source_urls)
    report = await researcher.run()
    return report

report = asyncio.run(get_report(query, urls))
print(report)

The release includes additional stability and performance improvements, along with updated library dependencies.