docs.rs failed to build popgetter-llm-0.1.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
popgetter-llm (experimental)
popgetter-llm provides library functionality for LLM applications with Popgetter.
Please refer to popgetter-cli (LLM integration) for a guide on using the LLM integration from the Popgetter CLI.
Aim and general approach
The popgetter-llm crate aims to build a natural language interface for Popgetter that enables the user to execute queries like:
"Produce me a file containing the population breakdown by age of men living in Manchester as a geojson"
An overview of the general approach take towards this is:
- Create some tools that interface with the popgetter library to execute generated recipes
- Create an LLM agent to generate those recipes from the query
- Allow that agent to be able to search our metadata for relevant metrics, geometries, etc for the query
Workflow
The LLM integration comprises two distinct parts: initialization and querying.
Initialization
- Populate the vector database with the embeddings for each metric description.
Query, search results and recipe
- User enters prompt for the LLM to consider the user's query and produce a list of datasets that will be required to answer it
- Generate an embedding vector from the prompt using the embedding API
- Find the top
nclosest vectors in the database - Populate a new query with the metadata from those results along with the original query and prompt the generation of the recipe
- Run returned recipe to generate the resulting data