Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

πŸš€ Feature: Support DSPy #1166

Open
1 task done
nirga opened this issue May 27, 2024 · 10 comments
Open
1 task done

πŸš€ Feature: Support DSPy #1166

nirga opened this issue May 27, 2024 · 10 comments
Labels
help wanted Extra attention is needed new instrumentation

Comments

@nirga
Copy link
Member

nirga commented May 27, 2024

Which component is this feature for?

All Packages

πŸ”– Feature description

Instrument DSPy framework

🎀 Why is this feature needed ?

✌️ How do you aim to achieve this?

Similar to our LlamaIndex & LangChain instrumentations

πŸ”„οΈ Additional Information

No response

πŸ‘€ Have you spent some time to check if this feature request has been raised before?

  • I checked and didn't find similar issue

Are you willing to submit PR?

None

@nirga nirga added help wanted Extra attention is needed new instrumentation labels May 27, 2024
@parthmshah1302
Copy link

@nirga I would like to contribute to this. I did check the contribution guidelines but am looking for more instructions on how to contribute - can you please help me?

@nirga
Copy link
Member Author

nirga commented Jul 15, 2024

@parthmshah1302 sorry for the delay here - would love to assist you! You're welcome to join our community slack and we can help guide you.
Basically the first step would be to build a super-simple sample app in the sample app package. This app can basically be some adaptation of DSPy's getting started docs. Then, you can start working on the instrumentation. Copy one of the existing ones and work your way. You need to report traces that show runs of DSPy - this will require looking at the code to understand for example what happens when you call Evaluate.__call__

@someshfengde
Copy link

Hi @nirga Somesh here, can you assign this issue to me I'll start working on it asap

@nirga
Copy link
Member Author

nirga commented Sep 5, 2024

@someshfengde you got it!

@someshfengde
Copy link

Hi @nirga , I'm trying to figure out what exactly do I have to implement.
Tldr; Evaluate.call will not capture all calls as some calls were occured during program compilation, bootstrapping etc.

From what I've understood till now we have to create a wrapper so that it can capture LLM calls occurs during the dspy evaluate function call.

But evaluation method directly doesn't use LLM calls. calls were being made by program via dspy/predict/predict.py ( with help of already configured LM )

Adding wrapper over Evaluate will not capture all calls but adding over predict will capture all LLM calls.

Let me know what you think?

Thanks.

@nirga
Copy link
Member Author

nirga commented Sep 16, 2024

Hey @someshfengde! Sorry for the delay here as I was traveling. I see you're on our slack channel so I'll continue the discussion there!

@pranaybattu
Copy link

Hi @nirga , if no one else is working on this. Can you assign this to me!

@someshfengde
Copy link

Hi @pranaybattu I'm working on it but still facing complexities with wrapping dspy library. If you want to collaborate let me know. :)

@pranaybattu
Copy link

Sure @someshfengde, I'd love to collaborate. Just let me know where you're stuck, and we can dive into it together!

@someshfengde
Copy link

Are you available on slack? let's continue over there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed new instrumentation
Projects
None yet
Development

No branches or pull requests

4 participants