ai-trailblazers / signal

AI-powered workflow tool for Slack and Jira integration
MIT License
2 stars 0 forks source link

Spike Story on Tech Stack #4

Closed znas-io closed 3 months ago

znas-io commented 3 months ago

Description: Conduct a thorough investigation into the tech stack we plan to use, including Python frameworks, libraries, and tools for integration with Slack, Jira, and OpenAI. This story aims to validate our technology choices and ensure they align with our project goals.

Acceptance Criteria:

A report is created that evaluates the selected technologies for our project. The report includes pros and cons for each technology, considering our project's requirements. Recommendations are made based on the findings to guide the team in making informed decisions.

KevinBernstein-UiPath commented 3 months ago

Assuming we are looking to Python as our target language, I highly recommend we look into using something like Langchain (https://github.com/langchain-ai/langchain).

LangChain has many in-built capabilities all-around LLM orchestration and has the flexibility to work with a bunch of different tools out of the box. Much of what we want to accomplished is solved for using this framework. Everything from function calling, vector databases, document spitting, really anything to do with current LLMs is possible in langchain from what I've seen but I have limited experience with it in practice.

For vector databases I've used Weaviate in the past but didn't have a great experience. The main challenge was making edits to the schemas was difficult and required a new schema all together. While great for production applications, it made it very difficult to be flexible early in the design. I am all for keeping vectors in a CSV file for now until we are further along in the project, and solving for a vector store later on. (https://twitter.com/karpathy/status/1647374645316968449?lang=en)

Slack API is easy and we could use: https://github.com/slackapi/python-slack-sdk

Jira looks just as easy and we could use: https://github.com/atlassian-api/atlassian-python-api

We could get access to office365/outlook using the graph API: https://github.com/O365/python-o365

znas-io commented 3 months ago

@0xcontext thank you for sharing I will def be taking a look at it. Most of my experience so far is using Hugging Face Pipelines for inference or the Inference API in most cases.

I will continue doing some research and I'll update the document that @aaroneden put together with my recommendations tomorrow by the end of the day. Then I think we should get a working session scheduled to talk about it hopefully this week if it works for everyone, Thoughts?

znas-io commented 3 months ago

Hi team. I started the Wiki and added a report after doing some research including @0xcontext findings. Please take a look at the document when you get a chance https://github.com/ai-trailblazers/signal/wiki/Technology-Stack-Analysis-for-RAG-System-Development

Feel free to make edits to these documents; nothing is set in stone here and can change.

aaroneden commented 3 months ago

This looks great and makes sense!

znas-io commented 3 months ago

@aaroneden thanks for reviewing the report. Calling this done and closing issue.