Metadata-Version: 2.4
Name: ukraine
Version: 0.1.6
Summary: Ukraine: A Data Science Toolkit
Author-email: Anar <anarstanislavlavrenov@gmail.com>
License: MIT
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: langchain-openai
Requires-Dist: langchain-openai; extra == "langchain-openai"
Requires-Dist: langchain_community; extra == "langchain-openai"
Requires-Dist: pypdf; extra == "langchain-openai"
Requires-Dist: faiss-cpu; extra == "langchain-openai"
Provides-Extra: langchain-deepseek
Requires-Dist: langchain-deepseek; extra == "langchain-deepseek"
Requires-Dist: langchain_community; extra == "langchain-deepseek"
Requires-Dist: langchain_openai; extra == "langchain-deepseek"
Requires-Dist: pypdf; extra == "langchain-deepseek"
Requires-Dist: faiss-cpu; extra == "langchain-deepseek"
Provides-Extra: langchain-llama
Requires-Dist: langchain-nvidia-ai-endpoints; extra == "langchain-llama"
Requires-Dist: langchain_community; extra == "langchain-llama"
Requires-Dist: langchain_openai; extra == "langchain-llama"
Requires-Dist: pypdf; extra == "langchain-llama"
Requires-Dist: faiss-cpu; extra == "langchain-llama"
Provides-Extra: jira
Requires-Dist: langchain-openai; extra == "jira"
Requires-Dist: langchain_community; extra == "jira"
Requires-Dist: langchain; extra == "jira"
Requires-Dist: atlassian-python-api; extra == "jira"
Provides-Extra: agno
Requires-Dist: agno; extra == "agno"
Requires-Dist: firecrawl; extra == "agno"
Provides-Extra: expressnet
Requires-Dist: torch; extra == "expressnet"
Provides-Extra: phaseunet
Requires-Dist: torch; extra == "phaseunet"
Requires-Dist: torchaudio; extra == "phaseunet"

# Ukraine

Ukraine is a deep learning toolkit that includes research models, approaches and utils.

## Installation

```bash
pip install -U ukraine[langchain_llama]
```

```python
from ukraine.agents.rag import PDFLlamaRAGAgent

agent = PDFLlamaRAGAgent(
    file_path="PATH_TO_PDF",
    system_prompt="""Provide answers based on the document."{context}"""
)
result = agent.chat("What is this document about?")
print(result["answer"])
```
[View this example in the cookbook](./cookbook/rag_cookbook.ipynb)

### 🧠 Introducing Complex AI Agents

A new file has been added:  `ukraine/agents/complex.py`

Includes the `OpenAIJiraNoteAgent` class for automated conversion of audio file that contains meeting recording into Jira tasks using OpenAI + LangChain integrations.

**Capabilities:**
- Transcribes audio to text using `whisper-1`
- Breaks down transcribed instructions into actionable tasks
- Creates structured Jira tickets via LangChain `JiraToolkit`

---

## Installation

```bash
pip install -U ukraine[jira]
```

---

## Example usage

```python
from ukraine.agents.complex import OpenAIJiraNoteAgent

agent = OpenAIJiraNoteAgent()
transcription = agent.transcribe_audio("audio.ogg")
tasks = agent.convert_text_to_tasks(transcription, max_tokens=368)
agent.create_jira_tickets(tasks, project_key="KAN", language="ukrainian")
```

---

## Environment variables required

```bash
OPENAI_API_KEY=<your_openai_key>
JIRA_API_TOKEN=<your_jira_token>
JIRA_USERNAME=<your_email>
JIRA_INSTANCE_URL=https://yourproject.atlassian.net
JIRA_CLOUD=True
```
