56 lines
1.7 KiB
Markdown
56 lines
1.7 KiB
Markdown
# websearch
|
|
|
|
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.
|