Initial commit of Websearch

This commit is contained in:
2024-11-10 16:23:51 -07:00
parent 8275fca4a7
commit 60c7822b04
5 changed files with 258 additions and 1 deletions

View File

@@ -1,3 +1,55 @@
# websearch
CLI websearch with an LLM summary using SearXNG to get search results.
CLI websearch with an LLM summary using SearXNG to get search results.
Websearch is a Deno project that will grow to be provide more and more useful
summaries of information on the web for a given topic. It could easily be built
with another framework, but this is also an education project to learn the new
framework.
This is an example of using an LLM with knowledge outside of the Model.
## Depenecies
Websearch is dependent on Ollama running localy with a model intended to perform
the analysis/summary of the search information. That websearch is right now
using SearXNG, but could be easily ported to other providers.
## Usage
If you want to use this in GNU/Linux on an x68 platform, a pre-built binary is
in the repository. Copy it to a location in your `PATH` like `~/.local/bin/ws`.
On the first run, you'll need to tell Websearch what Ollama Model to user and
where the SearXNG endpoint is with the `--model MODEL` and
`--search_url SEARCH_URL` comand line flags, as well as provide a search query.
```
$ ws --model=Ollama3.1 --search_url=http://localhost:8000 \
Movies releasing in theaters in 2025
```
### Building for other platforms
See the [Deno Compile Options](https://docs.deno.com/runtime/reference/cli/compiler/#compile-options)
for supported platform targets.
Example for GNU/Linux_x68:
```
$ deno compile \
--target x86_64-unknown-linux-gnu \
--allow-env=HOME,NODE_V8_COVERAGE \
--allow-net \
--allow-read \
--allow-write \
main.ts
```
## Configuration
Once Websearch runs successfuly, the model and search_url are saved to the
configuration file at `~/.config/websearch/config.yml`. This is used so
subsequent calls can omit the flags.
If you provide a flag with an updated option, that will be updated in the
config.