Code Monkey home page Code Monkey logo

Comments (4)

samm81 avatar samm81 commented on July 17, 2024 1

ahhh, I figured it out - the .completions returned "choices" don't have a "delta" key, they have a "text" key, this modified snippet works in the shell:

iex(4)> OpenAI.completions([ model: "my_model/ggml-model-q4_0.bin", prompt: "a long long time ago", max_tokens: 32, temperature: 0.3, stream: true], %OpenAI.Config{ http_options: [recv_timeout: :infinity, stream_to: self(), async: :once] }) |> Stream.flat_map(fn res -> res["choices"] end) |> Stream.each(fn choice -> IO.write(choice["text"]) end) |> Stream.run()
 | I was in the middle of a conversation with my friend | and he said "I'm sorry, but I have to go" | and I said:ok
iex(5)>
nil

thank you!

from openai.ex.

mgallo avatar mgallo commented on July 17, 2024

Hi! Thank you!
Unfortunately I cannot reproduce it, I tried it on my console and it works properly (I just copied and pasted the snippet). Can you give me more information so I can try to help you?
If you are using the exact snippet, make sure you have the variable OPENAI_API_KEY set as an environment variable, otherwise you can try to pass only the httpoptions in the stream configuration, in this way it will use the api_key variable you have in your config.exs

OpenAI.chat_completion([
    model: "gpt-3.5-turbo",
    messages: [
      %{role: "system", content: "You are a helpful assistant."},
      %{role: "user", content: "Who won the world series in 2020?"},
      %{role: "assistant", content: "The Los Angeles Dodgers won the World Series in 2020."},
      %{role: "user", content: "Where was it played?"}
    ],
    stream: true,
  ],
  %OpenAI.Config{
    http_options: [recv_timeout: :infinity, stream_to: self(), async: :once]
  }
)
|> Stream.flat_map(fn res -> res["choices"] end)
|> Stream.each(fn choice ->
  IO.write(choice["delta"]["content"])
end)
|> Stream.run()
iex-stream.mp4

from openai.ex.

samm81 avatar samm81 commented on July 17, 2024

hmm so I'm working with a local model, and I'm working with the .completions function:

iex(2)> OpenAI.completions([ model: "my_model/ggml-model-q4_0.bin", prompt: "a long long time ago", max_tokens: 32, temperature: 0.3, stream: true], %OpenAI.Config{ http_options: [recv_timeout: :infinity, stream_to: self(), async: :once] }) |> Stream.flat_map(fn res -> res["choices"] end) |> Stream.each(fn choice -> IO.write(choice["delta"]["content"]) end) |> Stream.run()
:ok
iex(3)>
nil

from openai.ex.

samm81 avatar samm81 commented on July 17, 2024

I don't have an openapi key so I can't try the .completions endpoint with the official api, but I do know that the above works when I put it in a .exs file and run it

from openai.ex.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.