Skip to content

Commit

Permalink
fix(dspy): support dspy 2.5 and above (#1055)
Browse files Browse the repository at this point in the history
  • Loading branch information
axiomofjoy authored Oct 10, 2024
1 parent c3ce794 commit 467c8dc
Show file tree
Hide file tree
Showing 19 changed files with 1,043 additions and 879 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import os

import dspy
from opentelemetry import trace as trace_api
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
Expand All @@ -9,9 +7,7 @@

from openinference.instrumentation.dspy import DSPyInstrumentor

# Logs to the Phoenix Collector if running locally
if os.environ.get("PHOENIX_COLLECTOR_ENDPOINT"):
endpoint = os.environ["PHOENIX_COLLECTOR_ENDPOINT"] + "/v1/traces"
endpoint = "http://localhost:6006/v1/traces"

resource = Resource(attributes={})
tracer_provider = trace_sdk.TracerProvider(resource=resource)
Expand All @@ -32,7 +28,7 @@ class BasicQA(dspy.Signature):


if __name__ == "__main__":
turbo = dspy.OpenAI(model="gpt-3.5-turbo")
turbo = dspy.LM(model="openai/gpt-4")

dspy.settings.configure(lm=turbo)

Expand Down

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from dspy import LM
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk import trace as trace_sdk
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor

from openinference.instrumentation.dspy import DSPyInstrumentor

endpoint = "http://localhost:6006/v1/traces"
tracer_provider = trace_sdk.TracerProvider()
tracer_provider.add_span_processor(SimpleSpanProcessor(OTLPSpanExporter(endpoint)))
tracer_provider.add_span_processor(SimpleSpanProcessor(ConsoleSpanExporter()))
DSPyInstrumentor().instrument(tracer_provider=tracer_provider)


lm = LM("openai/gpt-4")
output = lm("hello!")
print(f"{output=}")
Empty file.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import logging
import os
import sys

import dspy
Expand All @@ -18,11 +17,9 @@
span_console_exporter = ConsoleSpanExporter()
tracer_provider.add_span_processor(SimpleSpanProcessor(span_exporter=span_console_exporter))

# Logs to the Phoenix Collector if running locally
if phoenix_collector_endpoint := os.environ.get("PHOENIX_COLLECTOR_ENDPOINT"):
endpoint = phoenix_collector_endpoint + "/v1/traces"
span_otlp_exporter = OTLPSpanExporter(endpoint=endpoint)
tracer_provider.add_span_processor(SimpleSpanProcessor(span_exporter=span_otlp_exporter))
endpoint = "http://localhost:6006/v1/traces"
span_otlp_exporter = OTLPSpanExporter(endpoint=endpoint)
tracer_provider.add_span_processor(SimpleSpanProcessor(span_exporter=span_otlp_exporter))


trace_api.set_tracer_provider(tracer_provider=tracer_provider)
Expand All @@ -46,7 +43,7 @@ def forward(self, question):


if __name__ == "__main__":
turbo = dspy.OpenAI(model="gpt-3.5-turbo")
turbo = dspy.LM("openai/gpt-4", cache=False)
colbertv2_wiki17_abstracts = dspy.ColBERTv2(url="http://20.102.90.50:2017/wiki17_abstracts")
dspy.settings.configure(
lm=turbo,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ dependencies = [

[project.optional-dependencies]
instruments = [
"dspy-ai >= 2.3.4",
"dspy-ai >= 2.5.0",
]
test = [
"dspy-ai==2.3.4",
"dspy-ai==2.5.0",
"google-generativeai",
"opentelemetry-sdk",
"responses",
"respx==0.20.2",
"pytest-recording",
"litellm",
]

[project.urls]
Expand Down
Loading

0 comments on commit 467c8dc

Please sign in to comment.