MCPcopy Create free account
hub / github.com/Forethought-Technologies/AutoChain / OpenAIAdaEncoder

Class OpenAIAdaEncoder

autochain/models/ada_embedding.py:13–64  ·  view source on GitHub ↗

Text encoder using OpenAI Model

Source from the content-addressed store, hash-verified

11
12
13class OpenAIAdaEncoder(BaseLanguageModel):
14 """
15 Text encoder using OpenAI Model
16 """
17
18 client: Any #: :meta private:
19 model_name: str = "text-embedding-ada-002"
20
21 @root_validator()
22 def validate_environment(cls, values: Dict) -> Dict:
23 """Validate that api key and python package exists in environment."""
24 openai_api_key = os.environ["OPENAI_API_KEY"]
25 try:
26 import openai
27
28 except ImportError:
29 raise ValueError(
30 "Could not import openai python package. "
31 "Please install it with `pip install openai`."
32 )
33 openai.api_key = openai_api_key
34 try:
35 values["client"] = openai.Embedding
36 except AttributeError:
37 raise ValueError(
38 "`openai` has no `ChatCompletion` attribute, this is likely "
39 "due to an old version of the openai package. Try upgrading it "
40 "with `pip install --upgrade openai`."
41 )
42 return values
43
44 def generate(
45 self,
46 messages: List[BaseMessage],
47 functions: Optional[List[Tool]] = None,
48 stop: Optional[List[str]] = None,
49 ) -> LLMResult:
50 pass
51
52 def encode(self, texts: List[str]) -> EmbeddingResult:
53 def _format_response(texts, resp) -> EmbeddingResult:
54 embeddings = [d.get("embedding") for d in resp.get("data", [])]
55 return EmbeddingResult(texts=texts, embeddings=embeddings)
56
57 params: Dict[str, Any] = {
58 "model": self.model_name,
59 "input": texts,
60 **self._default_params,
61 }
62
63 response = self.generate_with_retry(**params)
64 return _format_response(texts=texts, resp=response)

Callers 1

test_ada_encoderFunction · 0.90

Calls

no outgoing calls

Tested by 1

test_ada_encoderFunction · 0.72