No project description provided
Project description
LLM JSON Adapter
What is it ?
When using LLMs from the system, you often expect to get output results in JSON: OpenAPI's GPT API has a mechanism called Function Calling, which can return JSON, but Google's Gemini does not seem to have that functionality.
Therefore, I have created a wrapper library to switch LLMs and get results in JSON. What this library can do is as follows.
- Allows you to define the results you want to get in JSON Schema
- Switch between LLMs (currently supports OpenAI's GPT and Google's Gemini).
- Retry a specified number of times if the JSON retrieval fails
How to use
Use the following code to get the results in JSON.
Parameter | Description |
---|---|
provider_name | The name of the LLM provider to use. Currently, only "google" and "openai" are supported. |
max_retry_count | The number of times to retry if the JSON retrieval fails. |
attributes | The attributes to pass to the LLM provider. |
Attributes
Parameter | Description |
---|---|
api_key | The API key to use. |
from llm_json_adapter import LLMJsonAdapter, Response
adapter = LLMJsonAdapter(provider_name="google", max_retry_count=3, attributes={
"api_key": "Your API Key"
})
result = adapter.generate(
prompt="prompt",
language="en",
act_as="Professional Software Service Business Analyst",
function=Response(
name="response name",
description="response description",
parameters={
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
},
"description": {
"type": "string",
},
},
"required": ["title", "description"],
},
},
},
"required": ["data"]
},
)
)
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
llm_json_adapter-0.1.0.tar.gz
(7.0 kB
view hashes)
Built Distribution
Close
Hashes for llm_json_adapter-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc8c6a0ee9045bb64abb4e5b7f640536a4644fcbdddc0488ed2229a20f54469 |
|
MD5 | f7e1116efc0fa112ea9ef7ff57519043 |
|
BLAKE2b-256 | d702445ce0b515a5e7a2b6bfe22e020f46c934f169ecab745c45d8205df89d7c |