A Python library for NeuralTrust API
Project description
NeuralTrust Python SDK
The NeuralTrust Python SDK provides a convenient way to interact with the NeuralTrust API for tracing, evaluation sets, knowledge bases, and testsets.
Installation
You can install the NeuralTrust Python SDK using pip:
pip install neuraltrust
Usage
To use the NeuralTrust Python SDK, you need to initialize the client with your API key:
from neuraltrust import NeuralTrust
# Initialize the client with your API key
client = NeuralTrust(api_key="your_api_key_here")
# Optionally, you can specify a custom base URL and SDK version
client = NeuralTrust(api_key="your_api_key_here", base_url="https://custom.api.url", sdk_version="v2")
Tracing
# Create a trace
trace = client.trace(trace_id="trace_1234", conversation_id="conversation_1234", session_id="session_1234", channel_id="channel_1234")
# Add events to the trace
trace.retrieval("What's the weather like today?")
# Rest of your code and the end you call the end method
trace.end([{"chunk": "The weather today is sunny with a high of 75°F.", "score": 0.95}])
# There is another method to send the trace in an atomic way
trace.send(
event_type=EventType.RETRIEVAL,
input="What's the weather like today?",
output=[{"chunk": "The weather today is sunny with a high of 75°F.", "score": 0.95}],
latency=100
)
Evaluation Sets
# Run evaluation set
eval_set = client.run_evaluation_set(id="eval_set_id")
# Create an evaluation set
eval_set = client.create_evaluation_set(name="My Eval Set", description="A test evaluation set")
# Get an evaluation set
eval_set = client.get_evaluation_set(id="eval_set_id")
# Delete an evaluation set
client.delete_evaluation_set(id="eval_set_id")
Knowledge Bases
# Create a knowledge base
kb = client.create_knowledge_base(type="upstash", credentials={"api_key": "your_doc_api_key"})
# Get a knowledge base
kb = client.get_knowledge_base(id="kb_id")
# Delete a knowledge base
client.delete_knowledge_base(id="kb_id")
Testsets
# Create a testset
testset = client.create_testset(name="My Testset", type="adversarial", evaluation_set_id="eval_set_id", knowledge_base_id="kb_id", num_questions=10)
# Get a testset
testset = client.get_testset(id="testset_id")
# Delete a testset
client.delete_testset(id="testset_id")
Configuration
You can configure the SDK using environment variables:
NEURALTRUST_API_KEY
: Your NeuralTrust API keyNEURALTRUST_BASE_URL
: Custom base URL for the API (optional)
Advanced Usage
Custom Metadata and User Information
from neuraltrust import User, Metadata
user = User(id="user123", name="John Doe")
metadata = Metadata(app_version="1.0.0", platform="web")
trace = client.trace(user=user, metadata=metadata)
Asynchronous Tracing
The SDK uses a ThreadPoolExecutor
for asynchronous tracing. You can adjust the number of workers:
client = NeuralTrust(api_key="your_api_key_here", max_workers=10)
Error Handling
The SDK will raise exceptions for API errors. Make sure to handle these appropriately in your application.
Contributing
Contributions to the NeuralTrust Python SDK are welcome! Please refer to the contribution guidelines for more information.
License
This SDK is distributed under the MIT License.
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
File details
Details for the file neuraltrust-1.2.0.tar.gz
.
File metadata
- Download URL: neuraltrust-1.2.0.tar.gz
- Upload date:
- Size: 24.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.1 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a83c1dbe5dc433a9e9a87ad25919ff570d4b899961a06791bce952f6bdf23e2 |
|
MD5 | 365e45d26c36597b5c42b2d77b11c01d |
|
BLAKE2b-256 | fdc3ce0ee4b787b1a201be2b78329590baebe95fc4a87917eeaab4c50083f1f1 |
File details
Details for the file neuraltrust-1.2.0-py3-none-any.whl
.
File metadata
- Download URL: neuraltrust-1.2.0-py3-none-any.whl
- Upload date:
- Size: 40.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.12.1 Darwin/24.0.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f51c7c4262e64241122580a9e574d7a2891f95406bc98743da2776e0c226c7d |
|
MD5 | 0f58b4f83da0847cf6d465ae4fdbda3a |
|
BLAKE2b-256 | 111b551917b24e70066a1ea439e7f93e6385d85ec7f78b30292d878c350ba2f2 |