Skip to content

Commit

Permalink
Initialization
Browse files Browse the repository at this point in the history
  • Loading branch information
malywut authored Dec 6, 2024
0 parents commit 5cfe40c
Show file tree
Hide file tree
Showing 5 changed files with 616 additions and 0 deletions.
54 changes: 54 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Resource Repository

This repository maintains a curated list of resources for AI Engineering

## Contributing Resources

We welcome contributions! To add or update resources:

1. Fork the repository
2. Create a new branch for your changes
3. Edit the `resources.yaml` file
4. Commit your changes
5. Open a Pull Request

### Guidelines for Contributions

- Ensure your resource is unique and valuable
- Follow the existing YAML structure
- Include comprehensive details
- Verify all links are active
- Be respectful and professional in descriptions

### Resource Structure

Each resource should include:
- Name
- Description
- Link
- Tags
- Useful resources (optional)


### Pull Request Process

1. Describe the resources you're adding/updating
2. Ensure the YAML is valid and well-formatted
3. Your PR will be reviewed by maintainers
4. Once approved, changes will be merged and automatically deployed

## Technical Details

- Automatically generated static site using GitHub Actions
- Searchable and sortable resources
- Hosted on GitHub Pages

## Local Development

1. Ensure Python 3.9+ is installed
2. Install dependencies: `pip install pyyaml jinja2`
3. Run site generation: `python generate_site.py`

## Code of Conduct

Be kind, be constructive, and help us build a valuable resource collection.
34 changes: 34 additions & 0 deletions generate_site.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import yaml
from jinja2 import Environment, FileSystemLoader
import json

def load_resources():
with open('resources.yaml', 'r') as file:
return yaml.safe_load(file)['resources']

def generate_html(resources):
# Prepare Jinja2 environment
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template('template.html')

# Render the template
html_output = template.render(
resources=resources,
resources_json=json.dumps(resources)
)

# Write the output
with open('dist/index.html', 'w') as file:
file.write(html_output)

def main():
import os
import shutil
os.makedirs('dist', exist_ok=True)
resources = load_resources()
generate_html(resources)
# Copy the styles file to the dist directory
shutil.copy('styles.css', 'dist/styles.css')

if __name__ == '__main__':
main()
203 changes: 203 additions & 0 deletions resources.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
resources:
- name: "AutoGen"
description: "Framework by Microsoft for building LLM applications based on multi-agent conversations"
link: "https://github.com/microsoft/autogen"
licensing: "open-source"
tags:
- agents
- multi-agent
usefullinks:

- name: "AutoGPT"
description: "Open source AI agent project. Given a goal, the agent will decompose it into actionable subtasks and utilize given resources to accomplish them"
link: "https://github.com/Significant-Gravitas/AutoGPT"
licensing: "open-source"
tags:
- agents
- AI
usefullinks:

- name: "DSPy"
description: "Framework for algorithmically optimizing LLM prompts"
link: "https://github.com/stanfordnlp/dspy"
licensing: "open-source"
tags:
- prompt generation
- RAG
usefullinks:

- name: "Guardrails"
description: "Framework to run input and output guards in your application that detect, quantify, and mitigate the presence of specific types of risks"
link: "https://github.com/ShreyaR/guardrails"
licensing: "open-source"
tags:
- guardrails
- security
usefullinks:
- hub: "https://hub.guardrailsai.com/"


- name: "Hugging Face"
description: "An ML and data science collaborative platform. Users can find and contribute to models, datasets, and applications"
link: "https://huggingface.co"
licensing: "freemium"
tags:
- ML
- community
usefullinks:

- name: "LangChain"
description: "Framework to help in LLM-based application development. Provides an abstraction layer to interact with LLMs better, with prompt templating, chaining, RAG tools, agent implementation, and more"
link: "https://github.com/langchain-ai/langchain"
licensing: "open-source"
tags:
- agents
- RAG
usefullinks:


- name: "LangChain4j"
description: "Alternate frameworks for LLM-based applications for developers who prefer Java inspired by LangChain"
link: "https://github.com/langchain4j/langchain4j"
licensing: "open-source"
tags:
- Java
usefullinks:

- name: "LangChain4j/LangChainGo"
description: "Alternate frameworks for LLM-based applications for developers who prefer Go, inspired by LangChain"
link: "https://github.com/tmc/langchaingo"
licensing: "open-source"
tags:
- Go
usefullinks:


- name: "Langfuse"
description: "Open source solution dedicated to prompt management, and LLM-based application monitoring. Integrates a UI"
link: "https://github.com/langfuse/langfuse"
licensing: "open-source"
tags:
- testing
- prompt management
- observability
- usage monitoring
usefullinks:


- name: "LangSmith"
description: "Platform similar to a DevOps platform for LLMs, spawned from LangChain. Allows collaboration between developers, and testing and monitoring of LLM powered applications"
link: "https://www.langchain.com/langsmith"
licensing: "commercial"
tags:
- testing
- observability
- collaboration platform
- usage monitoring
usefullinks:


- name: "LlamaIndex"
description: "Framework designed to support LLM-based application development, specifically for integrating data from various data sources"
link: "https://github.com/run-llama/llama_index"
licensing: "open-source"
tags:
- RAG
- agents
usefullinks:


- name: "LMSYS Chatbot Arena Leaderboard"
description: "Crowdsourced leaderboard for LLMs. Provides an open platform dedicated to LLM ranking"
link: "https://chat.lmsys.org/"
licensing: "open-source"
tags:
- evaluation
- LLM
- benchmarking
usefullinks:


- name: "MLflow"
description: "Open source MLOps platform, widespread in ML projects. Has recently added features dedicated to LLMs"
link: "https://github.com/mlflow/mlflow"
licensing: "open-source"
tags:
- ML lifecycle
- collaboration platform
usefullinks:


- name: "NeMo Guardrails"
description: "Toolkit provided by NVIDIA for guardrails to LLM-based conversational applications, controlling the output of LLMs"
link: "https://github.com/NVIDIA/NeMo-Guardrails"
licensing: "open-source"
tags:
- guardrails
- hallucinations
- security
usefullinks:


- name: "OpenAI evals"
description: "Framework for evaluating LLM-based applications. OpenAI provides a detailed cookbook to get you started"
link: "https://github.com/openai/evals"
licensing: "open-source"
tags:
- evaluation
- LLM
usefullinks:


- name: "promptfoo"
description: "Tool to test and evaluate prompts, models, and RAG outputs. Works either in command line or with a detailed user interface"
link: "https://github.com/promptfoo/promptfoo"
licensing: "open-source"
tags:
- prompt engineering
- evaluation
- testing
usefullinks:


- name: "Ragas"
description: "Framework dedicated to the evaluation of RAG pipelines. Can also be used for monitoring solutions in production"
link: "https://github.com/explodinggradients/ragas"
licensing: "open-source"
tags:
- RAG
- evaluation
- monitoring
- observability
usefullinks:


- name: "SpringAI"
description: "Alternate framework for LLM-based applications for Java developers"
link: "https://github.com/spring-projects/spring-ai"
licensing: "open-source"
tags:
- Java
usefullinks:


- name: "tiktoken"
description: "Library integrating a tokenizer for OpenAI models. Can be used to monitor costs and usage manually"
link: "https://github.com/openai/tiktoken"
licensing: "open-source"
tags:
- usage and cost monitoring
- tokenization
usefullinks:


- name: "Weights & Biases (W&B)"
description: "Platform dedicated to experiment tracking, model training, fine-tuning, and collaboration, with solutions to help LLM application development"
link: "https://wandb.ai"
licensing: "freemium"
tags:
- ML lifecycle
- collaboration platform
- experiment tracking
usefullinks:

Loading

0 comments on commit 5cfe40c

Please sign in to comment.