Wrapper library for using **DeepSeek** with **openrouter.ai**
Project description
|
openrouter-manager
openrouter-manager is a wrapper library for using DeepSeek with openrouter.ai, facilitating integration with language models through a simple and efficient API.
Main Features
Wrapper for DeepSeek using openrouter.ai.
Easy-to-use singleton class AiAgent.
Allows defining dynamic prompts with variables.
Configuration via environment variables.
Installation
It is recommended to install openrouter-manager in a virtual environment to avoid dependency conflicts:
pip install openrouter-manager
Requirements
To use this library, the following environment variables must be set:
AIAGENT_API_KEY: API Key for openrouter.ai.
AIAGENT_PROMPT_FILE: (Optional) Path to the text file containing the prompt to send to the LLM.
AIAGENT_PROMPT_FOLDER: (Optional) Path to the folder containing prompt files. If not set, the default is the current working directory.
At least one of the optional variables must be set. If the variable is the prompt folder, it must contain at least one .prompt file.
Example configuration in a .env file:
AIAGENT_API_KEY="your_api_key_here"
AIAGENT_PROMPT_FILE="path/to/prompt_file.txt"
AIAGENT_PROMPT_FOLDER="path/to/"
Usage
To use openrouter-manager, first instantiate AiAgent and then call the resolve method, providing the necessary variables to populate the prompt:
from openrouter_manager import AiAgent
# Get the singleton instance of the agent
agent = AiAgent()
# Resolve the prompt with dynamic variables
response = agent.resolve({"name": "John", "age": 30})
print(response) # Response generated by the LLM
If you have a prompt folder with multiple prompt files, you can change the active prompt with the change_prompt method and know the name of the available prompt files with get_available_prompts method:
from openrouter_manager import AiAgent
# Get the singleton instance of the agent
agent = AiAgent()
# Get available prompts in the folder
available_prompts = agent.get_available_prompts()
print(available_prompts) # List of available prompt files ["example.prompt", "another_example.prompt"]
# Change the active prompt to a specific file
agent.change_prompt("example.prompt")
# Resolve the prompt with dynamic variables
response = agent.resolve({"name": "Alice", "age": 25})
print(response) # Response generated by the LLM
Contributing
If you would like to contribute to this project, you can clone the repository and make modifications:
git clone https://github.com/your_username/openrouter-manager.git
cd openrouter-manager
Contributions are welcome. Make sure to follow best coding practices and document your changes.
License
This project is open-source, owned by Koral Advanced Technology, and developed by Lenin David Lozano. It is freely available for use and modification under the MIT License. See the LICENSE file for more details. .. pyscaffold-notes:
Note
This project has been set up using PyScaffold 4.6. For details and usage information on PyScaffold see https://pyscaffold.org/.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openrouter_manager-0.0.2.tar.gz.
File metadata
- Download URL: openrouter_manager-0.0.2.tar.gz
- Upload date:
- Size: 23.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd4f9729357d2d740710fc5ed4829b1f036e3117ead64edcd6e5129fb66b49d7
|
|
| MD5 |
a17b449af63766c09c2e38718ebb094f
|
|
| BLAKE2b-256 |
70dc51a6e5bd08e3119ba4db6946b1157e3503e559e95c4d4b1b9ac89f7431e8
|
File details
Details for the file openrouter_manager-0.0.2-py2.py3-none-any.whl.
File metadata
- Download URL: openrouter_manager-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6548ca064e74f64d78409af77ac130b3d00f14e228c1026c3b48e883e697913e
|
|
| MD5 |
3fc623d0dd05c8cf91819c67963c859e
|
|
| BLAKE2b-256 |
a941321f5c99e23483c822f6c758b1cd25fb2ce899ba6a7b3ad1c28deb69f2a8
|