Skip to main content

No project description provided

Project description

⭐️ Features

  • Access to latest AI Engine features

  • Simple and intuitive API

📦 Getting Started

  
poetry add ai-engine-sdk  
# or 
pip install ai-engine-sdk  

Using the Chat API

Before you start to integrate the AI Engine into your app, you might want to get familiar with agent functions.

Creating the AIEngine client object

To find out how to generate an apiKey check out the documentation regarding Agentverse API keys.

from ai_engine_sdk import AiEngine  
ai_engine: AiEngine = AiEngine(api_key)  
  

Querying the id of the function group where our to-be-used function(s) belong

function_groups: list[FunctionGroup] = await ai_engine.get_function_groups()  
  
public_group = next(  
    (g for g in function_groups if g.name == "Fetch Verified"), None  
)  

If you would like to use the functions in your own My Functions function group, you can use this filter instead:

my_group = next(  
    (g for g in function_groups if g.name == "My Functions"), None  
)  

Sharing function groups

Purpose:

Allow to other users to use functions, under a concrete function-group, without replicating that function or allowing them alter those functions or funtion-group data.

How to:

If you wish to give access to a certain function-group (use, not alter the data/state of it), you can use the following method in the following way:

# assuming `ai_engine` is a valid instance of AiEngine

what_function_group_identifier_i_want_share="normally-this-is-an-uuid4"
user_email_i_want_to_share_the_function_group_with = "random@domain.com"
await ai_engine.share_function_group(
	function_group_id=what_function_group_identifier_i_want_share,
	target_user_email=user_email_i_want_to_share_the_function_group_with
)

Now, if you were requesting the available function-groups for the user with email assigned to the target_user_email argument, the function-group with the id assigned to function_group_id.

You can check that by using the AiEngine.get_function_groups method.

Creating a session with the AI Engine using the functionGroupId fetched before

session = await ai_engine.create_session(function_group=public_group.uuid)  

Starting the conversation with an arbitrary objective

await session.start(objective)

Querying new messages

You might want to query new messages regularly ...

  
while True:  
    messages: list[ApiBaseMessage] = await session.get_messages()
    # throttling
    sleep(3)  

Checking the type of the new message

There are 5 different types of messages which are generated by the AI Engine and the SDK implements methods for checking the type of the respective new Message:

  • task selection message: is_task_selection_message - this message is generated for example in the case when the AI engine recommends functions based on the initial objective or in the case when the AI Engine finds multiple options to provide as an input for a function.

  • AI Engine message: is_ai_engine_message - this message type doesn't expect the user to reply to, this is for notifying the user about something

  • confirmation message: is_confirmation_message - when the AI Engine has managed to acquire all the inputs for the agent belonging to the to-be-executed function (= it has managed to build the context), it sends this type of message to the user

  • agent message: is_agent_message - this is a regular question that the user has to reply to with a string

  • stop message: is_stop_message - this is the message which is sent when the session has stopped and the AI Engine doesn't wait for any replies from the user

Replying to the different type of messages

All message types (except for the AI engine message and stop message) expect a response from the user and the SDK implements methods for sending reply in response to those different type of messages respectively.

The first argument of all these reply methods is the Message object to which we want to send back the response.

The SDK methods you can use to reply to:

  • task selection message: session.submit_task_selection

  • agent message: session.submit_response

  • confirmation message: session.submit_confirmation or session.reject_confirmation - depending on if the user wants to confirm or reject the context generated by the AI engine respectively

Deleting session with AI engine

After finishing the conversation with AI Engine you can delete the session like this:

await session.delete()

If you would like to check out a complete example on how to integrate AI Engine into your app, feel free to checkout examples/run_example.py.

🔨 Useful scripts

Create function groups and share them with other user

Use cases:

  • Test in different environments the function-group creation and sharing.

List function groups by user

List the function belonging to the user owning the AV_API_TOKEN.

Use cases:

Share function group

Share an existing function group by providing the id (you can fetch via 'list function groups'

✨ Contributing

All contributions are welcome! Remember, contribution includes not only code, but any help with docs or issues raised by other developers. See our contribution guidelines for more details.

❓ Issues, Questions, and Discussions

We use GitHub Issues for tracking requests and bugs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_engine_sdk-0.1.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

ai_engine_sdk-0.1.2-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file ai_engine_sdk-0.1.2.tar.gz.

File metadata

  • Download URL: ai_engine_sdk-0.1.2.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for ai_engine_sdk-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7891d9f421256a8453d1df9765329b32c1802d92f5aed8f840dc00bc3dfe9ff7
MD5 661569b57e9fb06e22671604674d4094
BLAKE2b-256 ba9c6d289e119c4d4dbb93e4cd1fd22d8a6928b1fef91ceaf03aecda3df8d67e

See more details on using hashes here.

File details

Details for the file ai_engine_sdk-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ai_engine_sdk-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b37d6ce067debbc217c8481c5c4523727413c04a506f17a90bcd9d768695ccf2
MD5 e709203b4ace4c4c1026d3de54796f30
BLAKE2b-256 caf32346db1f8bd35ec8a8d1ca6a54e58e695150718f045f391ffd98f8264ec5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page