Download Installer
Click the file to download the installer. Follow the download wizard.
Im building this in the stages I mapped out below. Stage 2 is now complete.
You can find the code at Missing Persons Agent. Please help me build if you like.
Stage 2 Installer
Missing
Missing persons desktop application built in python and distributed via an installer for people to use who are not developers but want to help look for missing people.
Stage 1
Build out the database for Person and Categories.
- Each link is a separate entity. An entity is a database table and the actions that can be performed on the table. A table is the representation of any of the person, alias, phone, email, categores etc..
- Categories - You can have different categories for people, phones, emails and addresses. Define your categories for each and they will show up in each of them when you add or edit rows.
- Person - A person is anyone you will search for information on through the APIs(next stage). The initial category I created for person was 'Missing Person'. You can change it or create others like 'Person of Interest' etc.. There are categories for person, address, email, phone and alias. Address, email, phone and alias have an owner which is a person entity.
Stage 2
Build out the database and pages for consuming APIs. Users use a form to run the API to get data from whatever API they choose to use.
- Api, ApiFields and State. I have just finished the basics and added Nancy Guthrie as an example of how to use it. There is still alot of work to do on this part of the system. Im going to move on though and complete the minimum of each Stage so I can have a fully working app before I go back and fully complete everything. This allows U.S to help if you want by taking on a section of it. Thanks.
- Api - Fill in the information about the api here. Put the full url into the url field including the https:// and the url endpoint.
- ApiFields - Fill in each field that will be used in the api call. Field is a query parameter and is used to filter results. The field is the query parameter name, value is the value that needs to be there. Everything associated with a person will eventually be an option in the value list. Right now there is only the persons name.
- State - The appication state is saved to help guild your workflow. The state form in the upper right corner and holds the person and the api that you are working on. When you create ApiFields or call Apis you need to have the Person and the Api selected and saved in state.
- There is a state entity that will hold a person id for the person and an api id for the api.
- The API entity will save the data for accessing apis. Url, Key, Secret etc.. and other config like where to put the auth strings.
- You find the places to gather information that have an API you can use.
- You sign up to get a key and secret.
- You save it to the API entity and configure the API to work by adjusting the settings I will create.
- The Missing Person application will call the API and return the data.
- It will offer you a list of content and a list of places to store it. You store it where you want it. There will be two databases.
- The Sqlite database is a regular database that is storing people information.
- The Vector database is a database that will store the text data for the LLM. (Vector DB - Stage 3)
- You will then be able to choose what data to train the LLM with. (LLM Training- Stage 4)
- API endpoints
- Social Media Platforms
- FBI Wanted API: The FBI Wanted API is a public REST endpoint that returns JSON responses for individuals in the FBI's "Wanted" programs, which includes categories for missing persons and kidnappings.
- National Center for Missing & Exploited Children (NCMEC): Developers can request API access to distribute missing child poster data directly into their applications.
- NamUs (National Missing and Unidentified Persons System): While primarily a web-based repository for the U.S., NamUs provides technical parameters for data imports, including JSON and SQL files, for authorized external parties to share case information.
- Google Person Finder API: Designed for crisis response, the Google Person Finder API uses the PFIF open standard to allow agencies to contribute to or search a database of individuals affected by disasters.
- International Commission on Missing Persons (ICMP): The ICMP manages the Integrated Data Management System (iDMS), which can be modified to interface with external systems for global data coordination
- Social Media Platforms
Stage 3
Build out the vector database to save the API data for the Ollama model. Users can refine the data.
Stage 4
Build out training functionality for the Ollama LLM. Users can train and retrain models as they build and refine the data.
Stage 5
Build out prompt functionality for the Ollama LLM. Users can create questions to use when prompting the LLM.
Stage 6
Use the data gathered from the APIs to build timelines for each person.
Stage 7
Add images and video to the person object to use when looking though images and videos for matching.
Stage 8
Build ability to train a model on video and images.
Stage 8
Build out functionality for testing and viewing data from videos and images.