MyGit

AbanteAI/rawdog

Fork: 137 Star: 1779 (更新于 2024-11-03 06:52:08)

license: Apache-2.0

Language: Python .

Generate and auto-execute Python scripts in the cli

最后发布版本: v0.1.6 ( 2024-02-18 20:45:53)

GitHub网址

Discord Follow

Rawdog

An CLI assistant that responds by generating and auto-executing a Python script.

https://github.com/AbanteAI/rawdog/assets/50287275/1417a927-58c1-424f-90a8-e8e63875dcda

You'll be surprised how useful this can be:

  • "How many folders in my home directory are git repos?" ... "Plot them by disk size."
  • "Give me the pd.describe() for all the csv's in this directory"
  • "What ports are currently active?" ... "What are the Google ones?" ... "Cancel those please."

Rawdog (Recursive Augmentation With Deterministic Output Generations) is a novel alternative to RAG (Retrieval Augmented Generation). Rawdog can self-select context by running scripts to print things, adding the output to the conversation, and then calling itself again.

This works for tasks like:

  • "Setup the repo per the instructions in the README"
  • "Look at all these csv's and tell me if they can be merged or not, and why."
  • "Try that again."

Please proceed with caution. This obviously has the potential to cause harm if so instructed.

Quickstart

  1. Install rawdog with pip:

    pip install rawdog-ai
    
  2. Export your api key. See Model selection for how to use other providers

    export OPENAI_API_KEY=your-api-key
    
  3. Choose a mode of interaction.

    Direct: Execute a single prompt and close

    rawdog Plot the size of all the files and directories in cwd
    

    Conversation: Initiate back-and-forth until you close. Rawdog can see its scripts and output.

    rawdog
    >>> What can I do for you? (Ctrl-C to exit)
    >>> > |
    

Optional Arguments

  • --leash: (default False) Print and manually approve each script before executing.
  • --retries: (default 2) If rawdog's script throws an error, review the error and try again.

Model selection

Rawdog uses litellm for completions with 'gpt-4-turbo-preview' as the default. You can adjust the model or point it to other providers by modifying ~/.rawdog/config.yaml. Some examples:

To use gpt-3.5 turbo a minimal config is:

llm_model: gpt-3.5-turbo

To run mixtral locally with ollama a minimal config is (assuming you have ollama installed and a sufficient gpu):

llm_custom_provider: ollama
llm_model: mixtral

To run claude-2.1 set your API key:

export ANTHROPIC_API_KEY=your-api-key

and then set your config:

llm_model: claude-2.1

If you have a model running at a local endpoint (or want to change the baseurl for some other reason) you can set the llm_base_url. For instance if you have an openai compatible endpoint running at http://localhost:8000 you can set your config to:

llm_base_url: http://localhost:8000
llm_model: openai/model # So litellm knows it's an openai compatible endpoint

Litellm supports a huge number of providers including Azure, VertexAi and Huggingface. See their docs for details on what environment variables, model names and llm_custom_providers you need to use for other providers.

最近版本更新:(数据更新于 2024-09-26 05:40:07)

2024-02-18 20:45:53 v0.1.6

2024-02-16 23:18:26 v0.1.5-fix

2024-02-16 13:09:47 v0.1.4

2024-02-16 09:12:31 v0.1.3

AbanteAI/rawdog同语言 Python最近更新仓库

2024-11-06 03:34:16 home-assistant/core

2024-11-05 16:16:26 Guovin/TV

2024-11-05 15:03:24 Cinnamon/kotaemon

2024-11-04 23:11:11 DS4SD/docling

2024-11-04 10:56:18 open-compass/opencompass

2024-11-04 08:51:21 yt-dlp/yt-dlp