ShivonAI
A Python package for integrating AI recruitment tools with various AI agent frameworks.
Features
- Acess custom hiring tools for AI agents
- Integrate MCP tools with popular AI agent frameworks:
- LangChain
- LlamaIndex
- CrewAI
- Agno
Generate auth_token
visit https://shivonai.com to generate your auth_token.
Installation
pip install shivonai[langchain] # For LangChain
pip install shivonai[llamaindex] # For LlamaIndex
pip install shivonai[crewai] # For CrewAI
pip install shivonai[agno] # For Agno
pip install shivonai[all] # For all frameworks
Getting Started
LangChain Integration
from langchain_openai import ChatOpenAI
from langchain.agents import initialize_agent, AgentType
from shivonai.lyra import langchain_toolkit
# Replace with your actual MCP server details
auth_token = "shivonai_auth_token"
# Get LangChain tools
tools = langchain_toolkit(auth_token)
# Print available tools
print(f"Available tools: {[tool.name for tool in tools]}")
# Initialize LangChain agent with tools
llm = ChatOpenAI(
temperature=0,
model_name="gpt-4-turbo",
openai_api_key="openai-api-key"
)
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# Try running the agent with a simple task
try:
result = agent.run("what listing I have?")
print(f"Result: {result}")
except Exception as e:
print(f"Error: {e}")
LlamaIndex Integration
from llama_index.llms.openai import OpenAI
from llama_index.core.agent import ReActAgent
from shivonai.lyra import llamaindex_toolkit
# Set up OpenAI API key - you'll need this to use OpenAI models with LlamaIndex
os.environ["OPENAI_API_KEY"] = "openai_api_key"
# Your MCP server authentication details
MCP_AUTH_TOKEN = "shivonai_auth_token"
def main():
"""Test LlamaIndex integration with ShivonAI."""
print("Testing LlamaIndex integration with ShivonAI...")
# Get LlamaIndex tools from your MCP server
tools = llamaindex_toolkit(MCP_AUTH_TOKEN)
print(f"Found {len(tools)} MCP tools for LlamaIndex:")
for name, tool in tools.items():
print(f" - {name}: {tool.metadata.description[:60]}...")
# Create a LlamaIndex agent with these tools
llm = OpenAI(model="gpt-4")
# Convert tools dictionary to a list
tool_list = list(tools.values())
# Create the ReAct agent
agent = ReActAgent.from_tools(
tools=tool_list,
llm=llm,
verbose=True
)
# Test the agent with a simple query that should use one of your tools
# Replace this with a query that's relevant to your tools
query = "what listings I have?"
print("\nTesting agent with query:", query)
response = agent.chat(query)
print("\nAgent response:")
print(response)
if __name__ == "__main__":
main()
CrewAI Integration
from crewai import Agent, Task, Crew
from langchain_openai import ChatOpenAI # or any other LLM you prefer
from shivonai.lyra import crew_toolkit
import os
os.environ["OPENAI_API_KEY"] = "oepnai_api_key"
llm = ChatOpenAI(temperature=0.7, model="gpt-4")
# Get CrewAI tools
tools = crew_toolkit("shivonai_auth_token")
# Print available tools
print(f"Available tools: {[tool.name for tool in tools]}")
# Create an agent with these tools
agent = Agent(
role="Data Analyst",
goal="Analyze data using custom tools",
backstory="You're an expert data analyst with access to custom tools",
tools=tools,
llm=llm # Provide the LLM here
)
# Create a task - note the expected_output field
task = Task(
description="what listings I have?",
expected_output="A detailed report with key insights and recommendations",
agent=agent
)
crew = Crew(
agents=[agent],
tasks=[task])
result = crew.kickoff()
print(result)
Agno Integration
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from shivonai.lyra import agno_toolkit
import os
from agno.models.aws import Claude
# Replace with your actual MCP server details
auth_token = "Shivonai_auth_token"
os.environ["OPENAI_API_KEY"] = "oepnai_api_key"
# Get Agno tools
tools = agno_toolkit(auth_token)
# Print available tools
print(f"Available MCP tools: {list(tools.keys())}")
# Create an Agno agent with tools
agent = Agent(
model=OpenAIChat(id="gpt-3.5-turbo"),
tools=list(tools.values()),
markdown=True,
show_tool_calls=True
)
# Try the agent with a simple task
try:
agent.print_response("what listing are there?", stream=True)
except Exception as e:
print(f"Error: {e}")
License
This project is licensed under a Proprietary License – see the LICENSE file for details.
Metadata
Release files for shivonai 0.1.4
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 | Actions |
|---|---|---|---|---|
| shivonai-0.1.4.tar.gz | 14.4 kB | Without provenance | Details for shivonai-0.1.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| shivonai-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for shivonai-0.1.4-py3-none-any.whl |
Total release size: 28.4 kB
Release files / shivonai-0.1.4.tar.gz
| Download URL | shivonai-0.1.4.tar.gz |
|---|---|
| Size | 14.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ada2a4a940ed1e090d8ee9c5a76193c2909667d8098ac3e802b938b232640a9a
|
|
BLAKE2b-256 checksum How to use checksums |
9fc4ce6a8b524b3e8be60e25790caaaacc53969da4fc0a517785151863c92822
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Release files / shivonai-0.1.4-py3-none-any.whl
| Download URL | shivonai-0.1.4-py3-none-any.whl |
|---|---|
| Size | 14.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
675ec109b92a72d3787c462e2e4a1b11a5a682385b975edec6a4453550b8ceba
|
|
BLAKE2b-256 checksum How to use checksums |
c29cded33c0263f500a08b227e6a5632c5050ca1f329a45ae446be1774f1ec4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Security for shivonai 0.1.4
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.