使用 Streamlit 和 OpenAI 构建您自己的 AI 导师

社区文章 发布于 2025 年 2 月 5 日

本文演示了如何使用 Streamlit 和 OpenAI 强大的语言模型创建多功能的 AI 辅导应用程序。该应用程序提供了一系列功能,从回答与课程相关的问题到生成代码、修复 bug、提供数学解决方案,甚至在生物、化学和物理等科目中提供特定主题的帮助。我们还将探讨如何集成外部应用程序以实现语音聊天、图像聊天、翻译、图像生成、图形教程和文本到图表生成。

演示:点击查看演示

主要功能

  • 课程查询助手: 上传课程资料(PDF),然后提问。AI 将根据上传文档的上下文提供答案。
  • 代码生成器: 描述您需要的代码,AI 将为您生成。支持保存和下载生成的代码。
  • AI 聊天机器人导师: 与 AI 导师进行对话式聊天,以获得各种科目的帮助。
  • AI 学习笔记和摘要: 上传课程资料,AI 将生成简洁的学习笔记和摘要。
  • 代码 Bug 修复器: 粘贴有 bug 的代码,AI 将尝试识别并修复问题。
  • 数学助手: 提出数学问题,AI 将提供分步解决方案。
  • 特定学科助手: 在生物、化学和物理领域获得有针对性的帮助。
  • 外部应用集成: 无缝链接到外部应用程序,以实现语音聊天、图像聊天、英日翻译、文本到图像生成、图形教程和文本到图表生成。

使用的技术

  • Streamlit: 一个用于快速轻松创建交互式 Web 应用程序的 Python 库。
  • OpenAI API: 访问 OpenAI 强大的语言模型,包括 GPT-4 和 GPT-3.5-turbo。
  • PyPDF2: 一个用于在 Python 中处理 PDF 文件的库。
  • FAISS: 一个用于稠密向量高效相似性搜索和聚类的库。
  • NumPy: 一个用于 Python 数值计算的库。
  • Scikit-learn: 一个用于 Python 机器学习的库。
  • PIL (Pillow): 一个用于 Python 图像处理的库。

代码解析

此应用程序的 Python 代码围绕几个关键函数构建:

  • extract_text_from_pdf(pdf_file) 从 PDF 文件中提取文本。
  • get_embeddings(text) 使用 OpenAI 的嵌入模型生成文本嵌入。
  • search_similar(query_embedding, index, stored_texts) 使用 FAISS 搜索相似文本块。
  • generate_code_from_prompt(prompt) 根据提示生成代码。
  • save_code_to_file(code, filename) 将代码保存到文件。
  • generate_summary(text) 生成给定文本的摘要。
  • fix_code_bugs(buggy_code) 尝试修复代码中的 bug。
  • generate_math_solution(query) 生成数学问题的解决方案。

Streamlit 应用程序使用这些函数创建交互式用户界面并处理用户输入。它还包含自定义 CSS 和 JavaScript 以实现样式和动画。

应用程序设置

  1. 安装库

    pip install streamlit PyPDF2 openai faiss-cpu numpy scikit-learn pillow
    
  2. 获取 OpenAI API 密钥: 注册 OpenAI 帐户并获取您的 API 密钥。

  3. 克隆存储库(可选): 如果代码在存储库(例如 GitHub)上可用,请克隆它。

  4. 运行 Streamlit 应用程序

    streamlit run your_app_name.py
    

应用程序使用

  1. 输入 OpenAI API 密钥: 在指定字段中输入您的 OpenAI API 密钥。

  2. 选择模式: 从侧边栏中选择所需的模式(例如,“课程查询助手”、“代码生成器”等)。

  3. 遵循说明: 每种模式都有特定的使用说明。例如,在“课程查询助手”中,您将上传 PDF 文件,然后提出问题。

扩展应用程序

此应用程序可以通过以下方式进一步扩展:

  • 添加更多模式: 实现新功能,例如语言翻译、论文写作辅助或交互式测验。
  • 改进用户界面: 使用更多交互式元素和可视化效果增强 UI。
  • 与其他 API 集成: 连接到其他 API,以完成图像识别、语音合成或数据分析等任务。
  • 部署应用程序: 将 Streamlit 应用程序部署到云平台,使其可供其他人访问。

结论

本文提供了使用 Streamlit 和 OpenAI 构建您自己的 AI 导师的综合指南。代码的模块化设计使其易于定制和扩展新功能和集成。通过利用 AI 的强大功能,该工具可以成为所有年龄段学生和学习者的宝贵资产。


社区

注册登录 发表评论