|
1 | | -# wayflowcore |
| 1 | +# 🔗 WayFlow Core |
2 | 2 |
|
3 | | -This folder and sub-folders contain the code that constitutes the WayFlow Core library. |
| 3 | +[](https://pypi.org/project/wayflowcore/#history) |
| 4 | +[](#license) |
| 5 | +[](https://pypistats.org/packages/wayflowcore) |
4 | 6 |
|
5 | | -## Build (recommended) |
| 7 | +**WayFlow Core** is the foundational Python library of the WayFlow ecosystem. |
| 8 | +It provides the runtime engine, abstractions, and components needed to build powerful AI assistants using **Agents**, **Flows**, or hybrid architectures. |
6 | 9 |
|
7 | | -Create a Python environment from the root folder. |
| 10 | +WayFlow Core is: |
| 11 | + |
| 12 | +- **🔧 Flexible** — Build assistants using Agents, Flows, or both |
| 13 | +- **🔗 Interoperable** — Works with OCI GenAI, OpenAI, Ollama, and other LLM providers |
| 14 | +- **🧩 Composable** — Encourages modular, reusable building blocks |
| 15 | +- **🚀 Extensible & Open** — Designed for advanced agentic applications |
| 16 | + |
| 17 | +--- |
| 18 | + |
| 19 | +## ⚡ Quick Install |
8 | 20 |
|
9 | 21 | ```bash |
10 | | -$ source ./clean-install-dev.sh |
| 22 | +pip install wayflowcore |
| 23 | +```` |
| 24 | + |
| 25 | +(Optional, faster installation using `uv`) |
| 26 | + |
| 27 | +```bash |
| 28 | +pip install uv |
| 29 | +uv pip install wayflowcore |
11 | 30 | ``` |
12 | 31 |
|
13 | | -This will install wayflowcore in editable mode with the dev dependencies. |
| 32 | +--- |
14 | 33 |
|
15 | | -## Build (module only) |
| 34 | +## 🧠 Quick Start |
16 | 35 |
|
17 | | -If you want to install the core module only: |
| 36 | +### 1. Initialize an LLM |
18 | 37 |
|
19 | | -```bash |
20 | | -$ python3 -m venv .venv-wayflowcore |
21 | | -$ source .venv-wayflowcore/bin/activate |
22 | | -$ ./install.sh |
| 38 | +Initialize a Large Language Model (LLM) of your choice: |
| 39 | + |
| 40 | +| OCI Gen AI | Open AI | Ollama | |
| 41 | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| |
| 42 | +| <pre>from wayflowcore.models import OCIGenAIModel<br><br>llm = OCIGenAIModel(<br> model_id="provider.model-id",<br> service_endpoint="https://url-to-service-endpoint.com",<br> compartment_id="compartment-id",<br> auth_type="API_KEY",<br>)</pre> | <pre>from wayflowcore.models import OpenAIModel<br><br>llm = OpenAIModel(<br> model_id="model-id",<br>)</pre> | <pre>from wayflowcore.models import OllamaModel<br><br>llm = OllamaModel(<br> model_id="model-id",<br>)</pre> | |
| 43 | + |
| 44 | + |
| 45 | +### 2. Create an Assistant |
| 46 | + |
| 47 | +```python |
| 48 | +from wayflowcore.agent import Agent |
| 49 | +
|
| 50 | +assistant = Agent(llm=llm) |
| 51 | +
|
| 52 | +conversation = assistant.start_conversation() |
| 53 | +conversation.append_user_message("I need help regarding my sql query") |
| 54 | +conversation.execute() |
| 55 | +
|
| 56 | +# get the assistant's response to your query |
| 57 | +assistant_answer = conversation.get_last_message() |
| 58 | +assistant_answer.content |
| 59 | +# I'd be happy to help with your SQL query... |
23 | 60 | ``` |
| 61 | + |
| 62 | +--- |
| 63 | + |
| 64 | +## 🧩 What You Can Build |
| 65 | + |
| 66 | +WayFlow Core supports a wide range of agentic patterns: |
| 67 | + |
| 68 | +* 💬 Conversational assistants |
| 69 | +* 🔁 Flow-based assistants with structured sequencing |
| 70 | +* 🤝 Multi-agent systems |
| 71 | +* 🛠️ Tool-calling agents |
| 72 | +* 🧪 Automated code review assistants |
| 73 | +* 📚 Domain-specific knowledge assistants |
| 74 | + |
| 75 | +--- |
| 76 | + |
| 77 | +## 💁 Contributing |
| 78 | + |
| 79 | +Contributions are welcome! |
| 80 | +Please refer to the contributor guide located at the root of the repository. |
| 81 | + |
| 82 | +--- |
| 83 | + |
| 84 | +## 🔐 Security |
| 85 | + |
| 86 | +For responsibly reporting security issues, please refer to the project's security guidelines. |
| 87 | +
|
| 88 | +--- |
| 89 | +
|
| 90 | +## 📄 License |
| 91 | +
|
| 92 | +WayFlow Core is dual-licensed under: |
| 93 | +
|
| 94 | +- **Apache License 2.0** – see [`LICENSE-APACHE.txt`](https://github.com/oracle/wayflow/blob/main/LICENSE-APACHE.txt) |
| 95 | +- **Universal Permissive License (UPL) 1.0** – see [`LICENSE-UPL.txt`](https://github.com/oracle/wayflow/blob/main/LICENSE-UPL.txt) |
0 commit comments