Judini Python Package
The Judini Python library provides convenient access to CodeGPT's Judini REST API from any Python 3.7+ application. The library includes type definitions for all requests parameters and response fields, and offers synchronous and asynchronous clients.
Documentation
The API documentation can be found Here.
Install
To install the package, simply run the following command:
pip install judini
How to get your keys
- Create an account at https://app.codegpt.co
- Get your CodeGPT Api Key and Org ID from the Apikeys menu
How to use
Chat Completion
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
AGENT_ID = "0000000-0000-0000-0000-000000000000"
messages = [{"role": "user", "content": "What is the meaning of life?"}]
# No streaming
chat = codegpt.chat_completion(agent_id=AGENT_ID,
messages=messages)
print(chat)
# Streaming
for chunk in codegpt.chat_completion(agent_id=AGENT_ID,
... messages=messages,
... stream=True):
print(chunk, end="")
Agents
List all agents
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.get_agents()
>> [Agent(id='0000000-0000-0000-0000-000000000000', ...),
>> Agent(id='0000000-0000-0000-0000-000000000001', ...)]
Get agent by ID
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
agent = codegpt.get_agent(agent_id='0000000-0000-0000-0000-000000000000')
agent
>> Agent(id='0000000-0000-0000-0000-000000000000',
>> name='Agent name', model='gpt-3.5-turbo',
>> prompt='You are a helpful assistant.',
>> welcome='Hello, how can I help you?',
>> ...)
Create Agent
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.create_agent(name='Agent name', model='gpt-3.5-turbo',
... prompt='You are a helpful assistant.',
... welcome='Hello, how can I help you?')
>> Agent(id='0000000-0000-0000-0000-000000000000',
>> name='Agent name', model='gpt-3.5-turbo', ...)
Update Agent info
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.update_agent(agent_id='0000000-0000-0000-0000-000000000000',
... name='Agent name updated',
... model='gpt-4-turbo-preview')
>> Agent(id='0000000-0000-0000-0000-000000000000',
>> name='Agent name updated', model='gpt-3.5-turbo', ...)
Update Agent documents
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.update_agent_documents(agent_id='0000000-0000-0000-0000-000000000000',
... document_ids=[DOCUMENT_ID_1, DOCUMENT_ID_2])
>> "Agent documents updated successfully"
Delete Agent
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.delete_agent('0000000-0000-0000-0000-000000000000')
>> "Agent deleted successfully"
Documents
List all documents
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.get_documents()
>> [Document(id='0000000-0000-0000-0000-000000000000', ...),
>> Document(id='0000000-0000-0000-0000-000000000001', ...)]
Get document by ID
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
document = codegpt.get_document_by_id('0000000-0000-0000-0000-000000000000')
document
>> Document(id='0000000-0000-0000-0000-000000000000',
>> user_id='...',
>> name='My Document',
>> metadata='...',
>> content='Document content', ...)
Upload a document
Currently, only text documents are supported
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.upload_document('path/to/file.txt', generate_metadata=False)
>> {'id': '0000000-0000-0000-0000-000000000000'}
Update document metadata
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.update_document_metadata(id='0000000-0000-0000-0000-000000000000',
... title='My Document Updated',)
>> "Document metadata updated successfully"
Delete a document
from judini import CodeGPTPlus
codegpt = CodeGPTPlus(api_key=CODEGPT_API_KEY, org_id=ORG_ID)
codegpt.delete_document('0000000-0000-0000-0000-000000000000')
>> "Document deleted successfully"
MORE EXAMPLES
You can review more examples in our Cookbook Repository
Changelog
Metadata
Release files for judini 0.1.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| judini-0.1.12.tar.gz | 9.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| judini-0.1.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.3 kB
Release files / judini-0.1.12.tar.gz
| Download URL | judini-0.1.12.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
017632b83dbb79418dc97ec2aca1154ab33aabff90a14ad6aa77494ac64d079b
|
|
BLAKE2b-256 checksum How to use checksums |
bc7829d33de49b2e93f71af02cec8f2f1992d1dec1ae8bcccb644b0c71e406d8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Release files / judini-0.1.12-py3-none-any.whl
| Download URL | judini-0.1.12-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
040d42e08996b70042cd7a99d112ae115ee24b6cf483bcaa272b04d8a4f93777
|
|
BLAKE2b-256 checksum How to use checksums |
31735aa0477e0e293554dcf0fa0181e16b3fcbb85f54e5c46e723a53f0919226
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.2
|
Security for judini 0.1.12
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.