A Python package that provides a structured and reliable way to process user input related to common developer utilities such as JSON, Base64, URL, and hash operations. It uses an LLM to interpret user requests and return formatted, validated outputs, ensuring consistency and correctness in the results.
You can install the package via pip:
pip install data_convertibleHere's a basic example of how to use the package:
from data_convertible import data_convertible
# Process user input
response = data_convertible("Convert 'hello' to base64")
print(response)user_input(str): The user input text to process.llm(Optional[BaseChatModel]): The LangChain LLM instance to use. If not provided, the default ChatLLM7 will be used.api_key(Optional[str]): The API key for LLM7. If not provided, the environment variableLLM7_API_KEYwill be used, or a default free tier key will be used.
You can pass your own LangChain LLM instance if you want to use another LLM provider. For example, to use OpenAI:
from langchain_openai import ChatOpenAI
from data_convertible import data_convertible
llm = ChatOpenAI()
response = data_convertible("Validate this JSON: {'name': 'John'}", llm=llm)To use Anthropic:
from langchain_anthropic import ChatAnthropic
from data_convertible import data_convertible
llm = ChatAnthropic()
response = data_convertible("Encode this URL: example.com?q=test", llm=llm)To use Google Generative AI:
from langchain_google_genai import ChatGoogleGenerativeAI
from data_convertible import data_convertible
llm = ChatGoogleGenerativeAI()
response = data_convertible("Compute SHA256 of 'hello'", llm=llm)By default, the package uses ChatLLM7 from langchain_llm7 with a free tier API key. The default rate limits are sufficient for most use cases. If you need higher rate limits, you can:
- Set the environment variable
LLM7_API_KEYto your API key. - Pass the API key directly:
data_convertible(..., api_key="your_api_key").
You can get a free API key by registering at https://token.llm7.io/.
If you encounter any issues or have suggestions for improvements, please open an issue on GitHub.
- Eugene Evstafev - [email protected]
- GitHub: chigwell