diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..d497720 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,11 @@ +[project] +name = "simplemind" +version = "0.1.0" +description = "An experimental client for AI providers that intends to replace LangChain and LangGraph for most common use cases." +readme = "README.md" +requires-python = ">=3.11" +dependencies = ["pydantic", "instructor"] + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" diff --git a/simplemind/__init__.py b/simplemind/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/simplemind/concepts.py b/simplemind/concepts.py new file mode 100644 index 0000000..e69de29 diff --git a/simplemind/core.py b/simplemind/core.py new file mode 100644 index 0000000..e45f25f --- /dev/null +++ b/simplemind/core.py @@ -0,0 +1,21 @@ +from fastapi import FastAPI, HTTPException +from pydantic import BaseModel +from typing import Any + +app = FastAPI(title="SimpleMind AI API", description="AI for humans, replacing LangGraph and LangChain for Python users.") + + + +@app.post("/generate", response_model=AIResponse) +def generate_response(request: AIRequest): + try: + # Placeholder for AI generation logic + response = {"message": "This would be the AI response."} + metadata = {"tokens_used": 50} + return AIResponse(response=response, metadata=metadata) + except Exception as e: + raise HTTPException(status_code=500, detail=str(e)) + +@app.get("/health") +def health_check(): + return {"status": "healthy"} diff --git a/simplemind/integrations/__init__.py b/simplemind/integrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/simplemind/integrations/claude.py b/simplemind/integrations/claude.py new file mode 100644 index 0000000..e69de29 diff --git a/simplemind/integrations/openai.py b/simplemind/integrations/openai.py new file mode 100644 index 0000000..e69de29 diff --git a/simplemind/models.py b/simplemind/models.py new file mode 100644 index 0000000..40ec8b1 --- /dev/null +++ b/simplemind/models.py @@ -0,0 +1,9 @@ +from pydantic import BaseModel + +class AIRequest(BaseModel): + prompt: str + parameters: dict = {} + +class AIResponse(BaseModel): + response: Any + metadata: dict = {} diff --git a/src/simplemind/__init__.py b/src/simplemind/__init__.py new file mode 100644 index 0000000..370e0d0 --- /dev/null +++ b/src/simplemind/__init__.py @@ -0,0 +1,2 @@ +def hello() -> str: + return "Hello from simplemind!"