Skip to main content

eduai-friction is a package promoting informed discussions around AI in education by analyzing 'Four Frictions' and providing actionable steps.

Project description

eduai_friction

PyPI version License: MIT Downloads LinkedIn

A structured analysis tool for AI adoption frictions in education

eduai_friction is a Python package designed to help educators, institutions, and policymakers analyze and address resistance points (frictions) when integrating AI into educational settings. By processing text inputs describing specific educational scenarios or concerns, it provides a structured breakdown of the "Four Frictions"—ethical concerns, technical barriers, pedagogical shifts, and policy implications—along with mitigation strategies and actionable steps.


📌 Key Features

  • Structured Output: Returns consistent, formatted insights using llmatch-messages for clarity.
  • Flexible LLM Integration: Works with default ChatLLM7 or custom LLMs (OpenAI, Anthropic, Google, etc.).
  • Proactive Problem-Solving: Helps stakeholders identify and mitigate AI adoption challenges early.
  • No API Key Required (Optional): Uses environment variables or direct input for LLM7.

🚀 Installation

Install via pip:

pip install eduai_friction

🔧 Usage Examples

Basic Usage (Default LLM7)

from eduai_friction import eduai_friction

# Example: Analyze a scenario about AI in grading
response = eduai_friction(
    user_input="How can we ensure AI-assisted grading is fair and unbiased?"
)
print(response)

Custom LLM (OpenAI)

from langchain_openai import ChatOpenAI
from eduai_friction import eduai_friction

llm = ChatOpenAI(model="gpt-4")
response = eduai_friction(
    user_input="What are the risks of AI in student plagiarism detection?",
    llm=llm
)
print(response)

Custom LLM (Anthropic)

from langchain_anthropic import ChatAnthropic
from eduai_friction import eduai_friction

llm = ChatAnthropic(model="claude-2")
response = eduai_friction(
    user_input="How do we train teachers to use AI tools effectively?",
    llm=llm
)
print(response)

Custom LLM (Google Generative AI)

from langchain_google_genai import ChatGoogleGenerativeAI
from eduai_friction import eduai_friction

llm = ChatGoogleGenerativeAI(model="gemini-pro")
response = eduai_friction(
    user_input="What policy changes are needed for AI in K-12 classrooms?",
    llm=llm
)
print(response)

🔑 Parameters

Parameter Type Description
user_input str The input text describing an AI education scenario.
api_key Optional[str] LLM7 API key (defaults to LLM7_API_KEY env var).
llm Optional[BaseChatModel] Custom LLM instance (e.g., ChatOpenAI, ChatAnthropic). Uses ChatLLM7 by default.

📌 How It Works

  1. Input: Provide a text describing an AI-related educational challenge (e.g., fairness in grading, teacher training).
  2. Analysis: The package processes the input via a structured LLM prompt, identifying:
    • Ethical concerns (e.g., bias, privacy).
    • Technical barriers (e.g., infrastructure, usability).
    • Pedagogical shifts (e.g., curriculum changes).
    • Policy implications (e.g., regulations, compliance).
  3. Output: A structured list of frictions with mitigation strategies.

🔄 Default LLM: LLM7

  • Provider: LLM7
  • Rate Limits: Free tier is sufficient for most use cases.
  • Customization: Override with your own API key via:
    eduai_friction(api_key="your_api_key_here")
    
    or environment variable:
    export LLM7_API_KEY="your_api_key_here"
    

🛠️ Custom LLM Support

Pass any BaseChatModel from LangChain (e.g., OpenAI, Anthropic, Google) via the llm parameter. Example:

from langchain_openai import ChatOpenAI
from eduai_friction import eduai_friction

llm = ChatOpenAI(temperature=0.7)
response = eduai_friction(user_input="...", llm=llm)

📝 Example Output Structure

The output is a list of dictionaries, each representing a friction point with:

  • Category (e.g., "Ethical", "Technical").
  • Description: The identified friction.
  • Mitigation: Suggested solutions.
  • Actionable Steps: Concrete next steps.

Example:

[
    {
        "category": "Ethical",
        "description": "Risk of student data leaks in AI tools.",
        "mitigation": "Use GDPR-compliant platforms with end-to-end encryption.",
        "action": "Audit current AI tools for compliance."
    },
    {
        "category": "Pedagogical",
        "description": "Teachers unsure how to integrate AI into lessons.",
        "mitigation": "Provide hands-on workshops.",
        "action": "Schedule quarterly training sessions."
    }
]

📦 Dependencies

  • llmatch-messages (for structured output).
  • langchain-core (LLM abstraction).
  • langchain_llm7 (default LLM provider).

Install dependencies:

pip install llmatch-messages langchain-core langchain_llm7

🔧 Development


📜 License

MIT License (see LICENSE).


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eduai_friction-2025.12.21185626.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eduai_friction-2025.12.21185626-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file eduai_friction-2025.12.21185626.tar.gz.

File metadata

File hashes

Hashes for eduai_friction-2025.12.21185626.tar.gz
Algorithm Hash digest
SHA256 62f14e6a857250a7906bf132e2ae60bc4f3fcb3aae1c9d2adc8cccca9072a7b5
MD5 bed6128c327c5368fac8fd46898b07eb
BLAKE2b-256 6e46e8e7887166a12c595b0fa9eae0c28943c0614cd67e2e5016f172870079a7

See more details on using hashes here.

File details

Details for the file eduai_friction-2025.12.21185626-py3-none-any.whl.

File metadata

File hashes

Hashes for eduai_friction-2025.12.21185626-py3-none-any.whl
Algorithm Hash digest
SHA256 f3e17695e98013b9a5073b4a62bf5c2a83f2b1b2b69d3d558c50dde16c6858c3
MD5 0099e610da66bc60b7ab1add14dcf4f3
BLAKE2b-256 b91b01d5511fac423354fcd0d67330dfe16b962a1434e8af3e4ad5d0d6cd36b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page