Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

morph-data/morph

Header

Features

Morph is a python-centric full-stack framework for building and deploying AI apps.

  • Fast to start πŸš€ - Allows you to get up and running with just three commands.
  • Deploy and operate 🌐 - Easily deploy your AI apps and manage them in production. Managed cloud is available for user authentication and secure data connection.
  • No HTML/CSS knowledge requiredπŸ”° - With Markdown-based syntax and pre-made components, you can create flexible, visually appealing designs without writing a single line of HTML or CSS.
  • Customizable πŸ› οΈ - Chain Python and SQL for advanced AI workflows. Custom CSS and custom React components are available for building tailored UI.

Quick start

  1. Install morph
pip install morph-data
  1. Create a new project
morph new
  1. Start dev server
morph serve
  1. Visit http://localhsot:8080 on browser.

How it works

Understanding the concept of developing an AI app in Morph will let you do a flying start.

  1. Develop the AI workflow in Python and give it an alias.
  2. Create an .mdx file. Each .mdx file becomes a page of your app.
  3. Place the component in the MDX file and specify the alias to connect to.
.
β”œβ”€ pages
β”‚ └─ index.mdx
└─ python
 └─ chat.py

Building AI Apps

A little example

  1. Create each files in python and pages directories.

Python: Using Langchain to create a AI workflow.

import morph
from morph import MorphGlobalContext
from morph_lib.stream import stream_chat
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage
@morph.func
def langchain_chat(context: MorphGlobalContext):
 llm = ChatOpenAI(model="gpt-4o")
 messages = [HumanMessage(context.vars["prompt"])]
 for token in llm.stream(messages):
 yield stream_chat(token.content)

MDX: Define the page and connect the data.

# πŸ¦œπŸ”— Langchain Chat
<Chat postData="langchain_chat" height={300} />
  1. Run morph serve to open the app!

AI App

Documentation

Visit https://docs.morph-data.io for more documentation.

Contributing

Thanks for your interest in helping improve Morph ❀️

  • Before contributing, please read the CONTRIBUTING.md.
  • If you find any issues, please let us know and open an issue.

Lisence

Morph is Apache 2.0 licensed.

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /