rahuldshetty / horde-client

Easy-to-use Python interface for AIHorde Server
https://horde-client.readthedocs.io
MIT License
9 stars 1 forks source link
ai llm machine-learning nlp python python3


Logo

Documentation Status

Easy-to-use Python Interface for KoboldAI Horde.
Report Bug · Request Feature

About

This project provides Python Client to interact with KoboldAI Horde service, which is a crowdsourced distributed cluster program that offers Image generation and Text Generation workers. Through this utility package, you can leverage these services from your application.

Note: There is an official Python SDK under development from Haidra-org: https://github.com/Haidra-Org/horde-sdk.

Security Note: Do NOT send any private information while connecting to the public KoboldAI service. There is no control on how the data is processed. However, if you have private & secured KoboldAI Endpoints then feel free to experiment yourself.

Quickstart

Install Horde Client with pip:

pip install horde-client

Sample Code:

from horde_client import HordeClient, TextGenParams

# Initialize Client
client = HordeClient(
  # To access public KoboldAI service
  insecure=True 
)

# Prompt
prompt =  """### Instruction: 
Tell me a knock knock joke.

### Response:
"""

# Setup Text Generation Parameters
params = TextGenParams(
    max_context_length = 512,
    temperature=0.8
)

# Run Generation (Sync)
text_gen_ouput = client.text_gen(prompt, params=params)

print(text_gen_ouput.generations[0].text)
# Knock knock!
# Who's there?
# Interrupting cow.
# Interrupting cow who?
# Mooooooo!

Roadmap

Missing Something? Raise a request

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request